With this v2.0 release, we've fixed several significant bugs, [added thorough documentation](https://spacegraphcats.github.io/spacegraphcats/), added several major new features and a variety of scripts, cleaned up the code base a fair bit, [decreased memory usage by about 25%](https://github.com/spacegraphcats/spacegraphcats/pull/338#issuecomment-722519310), and added many tests!
If you've been using spacegraphcats v1.x, the command line has changed - the main difference is that you now must specify at least one target *before* the config file. That is, instead of
python -m spacegraphcats <config file> <target> [<more targets>...]
you now run
python -m spacegraphcats <target> <config file> [<more targets>...]
We don't have a migration guide per se, but you can see the set of changes for the base pipeline in our paper [here](https://github.com/ctb/2020-rerun-hu-s1/pull/1).
Please note that the file formats and locations have changed, so you'll need to rebuild any and all of your indexes.
---
Major new features:
* add paired read indexing and retrieval (344, 356)
* improve BCALM input handling & sorting; reduce memory usage ~25% (310)
Bug fixes:
* Fix pendant removal bug 299 (310)
* Fix assignment bug in rdomset.domination_graph (fixes 390) (394)
Major refactoring and new internal functionality:
* support randomizing unitig order via config parameter. (391)
* handle duplicate hashes in input cDBG. (375)
* add shadow annotations to support --shadow-prefix (365)
* Make default spacegraphcats interface use the `click` API (353)
* use contigs sqlite DB, rather than contigs.fa.gz, for contig retrieval (345, 350, 361)
* remove python 2 support (328)
* add default config via `defaults.conf` (410)
Documentation enhancements:
* add documentation and mkdocs site for spacegraphcats (392)
Refactoring and cleanup:
* relocate cDBG files to cDBG directory (407)
* store ksize in MPHF index (406)
* properly close output files in bcalm_to_gxt (402)
* update rule make_contigs_kmer_index with contigs.sizes output (401)
* update sourmash version requirements (395)
* remove bcalm install test (396)
* rename bcalm_to_gxt2 to bcalm_to_gxt (397)
* update sourmash versions in `environment.yml` (367, 385, 389)
* Update test markers for pytest (386)
* Update dib-lab software dependencies; fix warnings (385)
* update citation info (381)
* use less yield, more memory (361)
* adjust output messages (359)
* move tests under tests/ (343)
* add json2yaml script
* update tests to include buggy behavior
* add some shorter test files based on twofoo; automate tests
* ci: add flake to tests, format with black, and add precommit hooks (326)
* chore: update click (327)
* ci: switch to github actions, fix some linting issues (323)
* Fix catlas checkpointing (412)
* add thread/cores parameter to bcalm in the Snakefile (415)