Added
- Added typing hints to many `Assay` and `Region` functions
- Added `'k key` to `seqspec info` to display one of `meta` for metadata, `sequence_spec` for sequence spec, and `library_spec` for library spec
- Added `-f format` to `seqspec info` to enable multiple formats for displaying info
- Added support for 0 length regions in the specification
- Added ability to modify reads using `seqspec modify`
- `seqspec init` now accepts read information
- Added templates and updated documentation to myst, website
- Added new examples (e.g., dogmaseq-dig)
- Added File object to Read
- Added SeqKit, SeqProtocol, LibKit, and LibProtocol attributes
- Added option to specify multiple SeqKit, SeqProtocol, LibKit, LibProtocol for each modality
- Added name validation against known list of SeqKit, SeqProtocol, LibKit, LibProtocol
- Added new attributes to Onlist object (Onlist now contains a File object):
- filetype
- filesize
- url
- Added "file_id" to the File object
- Added `seqspec file` command to return the list of files in the spec as paired across reads or interleaved
- Added `seqspec upgrade` hidden feature to upgrade v0.2.x seqspec files to v0.3.0.
Changed
- Updated `seqspec index` to read strands for chromap
- Updated `seqspec split` to correctly split sequence_spec
- Modified `seqspec` string to use min_len instead of max_len to accommodate nanopore reads
- Updated documentation on how to propose new vocabulary
- Modified the internals of `seqspec onlist` to manage saving the joined onlist to the `-o` location when specified (otherwise saves to path where spec lives).
- Renamed "location" to "urltype" in Onlist object
- Replaced `-r` with `-i` id type for all functions (deprecated `-r`)
- Multiple seqspec commands now require the addition of a `-s selector [read, region, file]`
- `seqspec index` can now take in reads, regions, or files and index
- `seqspec modify` can now add files to the template
- Updated splitseq template
Fixed
- Fixed `seqspec onlist` functionality
- Fixed error enumeration in seqspec check
Removed
TODO:
- Remove `lib_struct`
- Remove `parent_id`
Breaking Changes
- File elements are now required in Read objects and Onlist objects in version 0.3.0