diff --git a/BIN-INSTALL.md b/BIN-INSTALL.md index 869e821e7..571bfb5d6 100644 --- a/BIN-INSTALL.md +++ b/BIN-INSTALL.md @@ -6,17 +6,17 @@ pre-compile binary, static linked distribution. ## Extracting If you have not already extract the distribution and cd into the cactus directory: ``` -tar -xzf cactus-bin-v2.8.4.tar.gz -cd cactus-bin-v2.8.4 +tar -xzf cactus-bin-v2.9.0.tar.gz +cd cactus-bin-v2.9.0 ``` ## Setup To build a python virtualenv and activate, do the following steps. This requires Python version >= 3.7 (so Ubuntu 18.04 users should use `-p python3.8` below): ``` -virtualenv -p python3 venv-cactus-v2.8.4 -printf "export PATH=$(pwd)/bin:\$PATH\nexport PYTHONPATH=$(pwd)/lib:\$PYTHONPATH\n" >> venv-cactus-v2.8.4/bin/activate -source venv-cactus-v2.8.4/bin/activate +virtualenv -p python3 venv-cactus-v2.9.0 +printf "export PATH=$(pwd)/bin:\$PATH\nexport PYTHONPATH=$(pwd)/lib:\$PYTHONPATH\n" >> venv-cactus-v2.9.0/bin/activate +source venv-cactus-v2.9.0/bin/activate python3 -m pip install -U setuptools pip wheel python3 -m pip install -U . python3 -m pip install -U -r ./toil-requirement.txt diff --git a/ReleaseNotes.md b/ReleaseNotes.md index 1907db7c2..afbee9abd 100644 --- a/ReleaseNotes.md +++ b/ReleaseNotes.md @@ -1,3 +1,12 @@ +# Release-2.9.0 2024-07-29 + +This release addresses two important scaling issues in the pangenome pipeline. + +- The haplotype sampling index (`--haplo`) can now be built without giraffe indexes (`--giraffe`). This significantly reduces peak memory consumption when using `--haplo`, especially for big diverse pangenomes. +- Previously, you could not align more than roughly 500 samples with Minigraph-Cactus, no matter how small the input genomes were. This bottleneck has been removed: you can now align as many genomes as your system resources allow. For very small genomes, this could be well into the tens of thousands. +- Two bugs were recently found in `vcfwave`, which can be run with the `--vcfwave` option since v2.8.2. First the `AT` field is wrong in the output. Second, and more seriously, genotypes can be incorrect. The latter seems specific to multiallelic sites (but I'm not sure). This release now strips `AT` fields (they are not relevant after re-alignment anyway). It also splits multiallelic sites before running `vcfwave` in an attempt to work around the genotyping bug. + + # Release-2.8.4 2024-06-21 This release updates `vcfbub` in order to fix a longstanding issue where this tool can produce invalid VCFs. diff --git a/doc/progressive.md b/doc/progressive.md index 4d32cd49f..7ea3d44a1 100644 --- a/doc/progressive.md +++ b/doc/progressive.md @@ -278,12 +278,12 @@ The Cactus Docker image contains everything you need to run Cactus (python envir ``` wget -q https://raw.githubusercontent.com/ComparativeGenomicsToolkit/cactus/master/examples/evolverMammals.txt -O evolverMammals.txt -docker run -v $(pwd):/data --rm -it quay.io/comparative-genomics-toolkit/cactus:v2.8.4 cactus /data/jobStore /data/evolverMammals.txt /data/evolverMammals.hal +docker run -v $(pwd):/data --rm -it quay.io/comparative-genomics-toolkit/cactus:v2.9.0 cactus /data/jobStore /data/evolverMammals.txt /data/evolverMammals.hal ``` Or you can proceed interactively by running ``` -docker run -v $(pwd):/data --rm -it quay.io/comparative-genomics-toolkit/cactus:v2.8.4 bash +docker run -v $(pwd):/data --rm -it quay.io/comparative-genomics-toolkit/cactus:v2.9.0 bash cactus /data/jobStore /data/evolverMammals.txt /data/evolverMammals.hal ``` diff --git a/setup.py b/setup.py index e35da5645..360d1cc3e 100644 --- a/setup.py +++ b/setup.py @@ -24,7 +24,7 @@ def run(self): setup( name = "Cactus", - version = "2.8.4", + version = "2.9.0", author = "Benedict Paten", package_dir = {'': 'src'}, packages = find_packages(where='src'), diff --git a/src/cactus/shared/common.py b/src/cactus/shared/common.py index 54d77c041..315ae2667 100644 --- a/src/cactus/shared/common.py +++ b/src/cactus/shared/common.py @@ -318,7 +318,7 @@ def getDockerTag(gpu=False): return "latest" else: # must be manually kept current with each release - return 'v2.8.4' + ('-gpu' if gpu else '') + return 'v2.9.0' + ('-gpu' if gpu else '') def getDockerImage(gpu=False): """Get fully specified Docker image name."""