Skip to content

Commit 4838a92

Browse files
authored
Merge pull request #1788 from ComparativeGenomicsToolkit/toil-5.3
prep release v3.0.0
2 parents bea9266 + 0565681 commit 4838a92

5 files changed

Lines changed: 27 additions & 18 deletions

File tree

BIN-INSTALL.md

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,17 @@ pre-compile binary, static linked distribution.
66
## Extracting
77
If you have not already extract the distribution and cd into the cactus directory:
88
```
9-
tar -xzf cactus-bin-v2.9.9.tar.gz
10-
cd cactus-bin-v2.9.9
9+
tar -xzf cactus-bin-v3.0.0.tar.gz
10+
cd cactus-bin-v3.0.0
1111
```
1212

13-
## GPU Patch:
14-
15-
When using GPU support since v2.9.4, please make sure to pass in the patched config file with `--configFile` (download the patch from the [releases](https://github.com/ComparativeGenomicsToolkit/cactus/releases) page).
16-
1713
## Setup
1814

1915
To build a python virtualenv and activate, do the following steps. This requires Python version >= 3.9 (so Ubuntu 18.04 users should use `-p python3.9` below):
2016
```
21-
virtualenv -p python3 venv-cactus-v2.9.9
22-
printf "export PATH=$(pwd)/bin:\$PATH\nexport PYTHONPATH=$(pwd)/lib:\$PYTHONPATH\nexport LD_LIBRARY_PATH=$(pwd)/lib:\$LD_LIBRARY_PATH\n" >> venv-cactus-v2.9.9/bin/activate
23-
source venv-cactus-v2.9.9/bin/activate
17+
virtualenv -p python3 venv-cactus-v3.0.0
18+
printf "export PATH=$(pwd)/bin:\$PATH\nexport PYTHONPATH=$(pwd)/lib:\$PYTHONPATH\nexport LD_LIBRARY_PATH=$(pwd)/lib:\$LD_LIBRARY_PATH\n" >> venv-cactus-v3.0.0/bin/activate
19+
source venv-cactus-v3.0.0/bin/activate
2420
python3 -m pip install -U setuptools pip wheel
2521
python3 -m pip install -U .
2622
python3 -m pip install -U -r ./toil-requirement.txt

ReleaseNotes.md

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,21 @@
1-
# Release 2.9.9 2025-09-11
1+
# Release 3.0.0 2025-09-20
2+
3+
This release includes several significant patches and updates
4+
5+
- FastGA support is now more robust and performant
6+
- MAF normalization and de-duplication bugs fixed
7+
- `cactus-hal2maf` interface generalized
8+
- Toil updated to v9.1.0, which performs much better on Slurm among other improvements
9+
- Contig naming bug fixed in minigraph (`.sv.gfa.gz`) output
10+
- `cactus-update-prepare` can now rename genomes
11+
- `--delEdgeFilter` option added to clip out big edges in pangenoems
12+
- More realistic ancestral contig sizes, allows kegalign to be run without special config
13+
- `cactus-pangenome --mgSplit` option to run `minigraph` steps independently for each chromosome
14+
- `cactus-prepare --script` option added to make a bash script to run pipeline step by step
15+
- Default outgroup strategy changed to `GreedyLeavesPreference` (and config XML outgroup toggle fixed)
16+
- Regression causing `cactus-pangenome --vcf` (even without `--vcfwave`) to fail when vcflib not installed fixed.
17+
18+
# Release 2.9.9 2025-06-11
219

320
This release adds FastGA support, along with some bug fixes
421

doc/progressive.md

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -277,12 +277,12 @@ The Cactus Docker image contains everything you need to run Cactus (python envir
277277

278278
```
279279
wget -q https://raw.githubusercontent.com/ComparativeGenomicsToolkit/cactus/master/examples/evolverMammals.txt -O evolverMammals.txt
280-
docker run -v $(pwd):/data --rm -it quay.io/comparative-genomics-toolkit/cactus:v2.9.9 cactus /data/jobStore /data/evolverMammals.txt /data/evolverMammals.hal
280+
docker run -v $(pwd):/data --rm -it quay.io/comparative-genomics-toolkit/cactus:v3.0.0 cactus /data/jobStore /data/evolverMammals.txt /data/evolverMammals.hal
281281
```
282282

283283
Or you can proceed interactively by running
284284
```
285-
docker run -v $(pwd):/data --rm -it quay.io/comparative-genomics-toolkit/cactus:v2.9.9 bash
285+
docker run -v $(pwd):/data --rm -it quay.io/comparative-genomics-toolkit/cactus:v3.0.0 bash
286286
cactus /data/jobStore /data/evolverMammals.txt /data/evolverMammals.hal
287287
288288
```
@@ -461,8 +461,6 @@ Cactus supports incrementally updating existing alignments to add, remove, or up
461461

462462
## GPU Acceleration
463463

464-
**Important** Since [v2.9.4](https://github.com/ComparativeGenomicsToolkit/cactus/releases/tag/v2.9.4), you must use a patched config file (via `--configFile config-v2.9.9-keg-patch.xml`) to prevent cactus for constructing ancestors with contigs that are too big for KegAlign to read. This file must be passed into all `cactus` and/or `cactus-align` commands. This is a temporary work-around and should be fixed properly in a release in the near future (download the patch from the [releases](https://github.com/ComparativeGenomicsToolkit/cactus/releases) page).
465-
466464
[KegAlign](https://github.com/galaxyproject/KegAlign), a GPU-accelerated version of lastz, can be used in the "blast" phase to speed up the runtime considerably, provided the right hardware is available. Unlike lastz, the input sequences do not need to be chunked before running KegAlign, so it also reduces the number of Toil jobs substantially. The [GPU-enabled Docker releases](https://github.com/ComparativeGenomicsToolkit/cactus/releases) have KegAlign turned on by default and require no extra options from the user. Otherwise, it is possible to [manually install it](https://github.com/galaxyproject/KegAlign#-installation) and then enable it in `cactus` using the `--gpu` command line option. One effective way of ensuring that only GPU-enabled parts of the workflow are run on GPU nodes is on Terra with `cactus-prepare --gpu --wdl` (see above example).
467465

468466
By default `--gpu` will give all available GPUs to each KegAlign job. This can be tuned by passing in a numeric value, ex `--gpu 8` to assign 8 GPUs to each KegAlign job. In non-single-machine batch systems, it is mandatory to set an exact value with `--gpu`.
@@ -478,8 +476,6 @@ Please [cite KegAlign](https://doi.org/10.1101/2024.09.02.610839).
478476

479477
## FastGA
480478

481-
**WARNING This is a new, experimental and not well tested feature. Try it out if you are interested in benchmarking FastGA, but some further study is required before it should be considered as a replacement for the lastz or gpu modes.**
482-
483479
[FastGA](https://github.com/thegenemyers/FASTGA) is a new, extremely fast whole genome pairwise aligner. You can use it instead of `lastz` in cactus via the (very experimental) `--fastga` option. `FastGA` only aligns up to about 20% divergence, so any gaps in the `FastGA` will be re-aligned with `lastz`. You can disable the `lastz` fallback by setting `<blast fastga_fill="0">` in the config XML.
484480

485481
FastGA was designed for use with up to 8 cores. If you use more, there probably won't be much speedup (it's fast enough with 8). If you use many more, then it will probably crash. In cactus versions up to and including v2.9.9, it will default to using all the cores on your system, so it's crucial to specify `--lastzCores 8` alongside `--fastga`. In later releases, it defaults to 8 cores so it is not necessary to specifiy `--lastzCores`.

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ def run(self):
2424

2525
setup(
2626
name = "Cactus",
27-
version = "2.9.9",
27+
version = "3.0.0",
2828
author = "Benedict Paten",
2929
package_dir = {'': 'src'},
3030
packages = find_packages(where='src'),

src/cactus/shared/common.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,7 @@ def getDockerTag(gpu=False):
320320
return "latest"
321321
else:
322322
# must be manually kept current with each release
323-
return 'v2.9.9' + ('-gpu' if gpu else '')
323+
return 'v3.0.0' + ('-gpu' if gpu else '')
324324

325325
def getDockerImage(gpu=False):
326326
"""Get fully specified Docker image name."""

0 commit comments

Comments
 (0)