|
| 1 | +# Changelog |
| 2 | + |
| 3 | +## [0.2.0] - 2024-02-XX |
| 4 | + |
| 5 | +### Changed |
| 6 | + |
| 7 | +- `seqspec index` uses primer and max length of of supplied Read |
| 8 | +- `assay_spec` renamed `library_spec` |
| 9 | +- Reorganize specification document |
| 10 | +- Move contribution guidelines from `SPECIFICATION.md` to `CONTRIBUTION.md` |
| 11 | +- Move example `Region`s from `SPECIFCATION.md` to `seqspec/docs/regions` |
| 12 | +- `seqspec index` defaults to indexing reads, `--region` indexes regions |
| 13 | +- Change descriptors of attributes `assay_id`, `doi` |
| 14 | +- `Assay` attribute `assay` changed to `assay_id` |
| 15 | +- `Read` attribute `read_name` changed to `name` |
| 16 | +- `Assay` attribute `publication_date` changed to `date` |
| 17 | +- `Assay` attribute `sequencer` changed to `sequence_protocol` |
| 18 | +- `Assay` function `get_modality` changed to `get_libspec` |
| 19 | +- `Region` function `update_attr` uses the `max_len` to generate `random` and `onlist` sequence lengths instead of `min_len` |
| 20 | +- `get_region_by_type` changed to `get_region_by_region_type` to disambiguate between `region_type` and `sequence_type` |
| 21 | +- `seqspec onlist` (by default) searches for onlists in the `Region`s intersected by the `Read` passed to `-r`. |
| 22 | +- Support older versions of matplotlib by handling the `spines[["top", "bottom"...]]` structure |
| 23 | +- Increase the number of Xs in the random region to match `max_len` for validation |
| 24 | +- Update `seqspec print` command to use the replacement `assay_id` attribute instead of `assay` |
| 25 | +- Implement downloading onlists via URLs and transparently decompress gzip files |
| 26 | +- Change `read_list` function to take the `onlist` object for handling local and remote files |
| 27 | +- Add `onlist` argument to specify combined barcode list file format (kallisto's multi-file format and default cartesian product format) |
| 28 | + |
| 29 | +### Added |
| 30 | + |
| 31 | +- Add `sequence_spec` in the `Assay` object |
| 32 | +- Add `Read` object in the `sequence_spec` object |
| 33 | +- Add `sequence_spec` to the seqspec json schema |
| 34 | +- Add `Read` object to specification document |
| 35 | +- Add `Read` generator to website GUI |
| 36 | +- Add pattern matching to `date` in `Assay` (expected date format: DAY MONTH YEAR, where day is one or two numbers, month is the full named month starting with a Capital letter and year is the full year) |
| 37 | +- Add `library_kit` to `Assay` object (kit that adds seq adapters) |
| 38 | +- Add `library_protocol` to `Assay` object (library that generates insert) |
| 39 | +- Add `sequence_kit` to `Assay` object |
| 40 | +- Add website to view example `seqspec` objects |
| 41 | +- Add `get_seqspec` to assay returns sequence structure for a given modality |
| 42 | +- Add multiple checks to `seqspec check` |
| 43 | + - check read modalities exist in assay modalities |
| 44 | + - check primer ids from seqspec are unique and exists as region ids in libspec |
| 45 | + - check that the primer id exists as an atomic region (currently a strong assumption that may be relaxed in the future) |
| 46 | + - check properties of multiple sequence types |
| 47 | + - `fixed` and `regions` not null incompatible |
| 48 | + - `joined` and `regions` null incompatible |
| 49 | + - `random` and `regions` not null incompatible |
| 50 | + - `random` must have `sequence` of all X's |
| 51 | + - `onlist` and `onlist` property null incompatible |
| 52 | + - check that the min len is less than or equal to the max len |
| 53 | + - check that the length of the sequence is between min and max len |
| 54 | + - Note a strong assumption in `seqspec print` is that the sequence have a length equal to the `max_len` for visualization purposes |
| 55 | +- Add `RegionCoordinate` object that maps `Region` min/max lengths to 0-indexed positions |
| 56 | +- `seqspec onlist` searches for onlists in a `Region` based on `--region` flag |
| 57 | +- Add type annotations for `join_onlists` to clarify it needs a list of `Onlist` objects |
| 58 | +- Add minimal tests for `RegionCoordinate`, `project_regions_to_coordinates`, `run_onlist_region`, `run_onlist_read`, and seqspec print functions |
| 59 | +- Add list of options to CLI for `-f FORMAT` within `seqspec onlist` and `seqspec print` |
| 60 | +- Add `-s SEQTYPE` to `seqspec print` to disambiguate printing `sequence`, `library`, or `libseq` objects. TODO wrap `seqspec info` into `seqspec print -f info`. |
| 61 | +- Add `-s SPECOBJECT` to `seqspec onlist`. Specify specific object `read`, `region`, or `region-type` for finding the `onlist`. |
| 62 | +- Add fetching ability for seqspec onlist from remote with IGVF credentials (credit to @detrout) |
| 63 | + |
| 64 | +### Removed |
| 65 | + |
| 66 | +TODO: |
| 67 | + |
| 68 | +- Remove `lib_struct` |
| 69 | +- Remove `parent_id` |
| 70 | + |
| 71 | +### Fixed |
| 72 | + |
| 73 | +- Sequencing overlapping pairs now supported |
| 74 | +- `seqspec check` correctly handles sequences lengths longer than the stated min/max range |
| 75 | +- Fix test for `project_regions_to_coordinates` |
| 76 | +- Get the test of seqspec check working again by updating the schema for the refactored example specification YAML files and mocking fastq and barcode files |
| 77 | +- Only return the onlist filename if it's a local file, downloading remote lists when needed |
0 commit comments