Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions BIN-INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -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-v3.2.1.tar.gz
cd cactus-bin-v3.2.1
tar -xzf cactus-bin-v3.3.0.tar.gz
cd cactus-bin-v3.3.0
```

## Setup

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):
```
virtualenv -p python3 venv-cactus-v3.2.1
printf "export PATH=$(pwd)/bin:\$PATH\nexport PYTHONPATH=$(pwd)/lib:\$PYTHONPATH\nexport LD_LIBRARY_PATH=$(pwd)/lib:\$LD_LIBRARY_PATH\n" >> venv-cactus-v3.2.1/bin/activate
source venv-cactus-v3.2.1/bin/activate
virtualenv -p python3 venv-cactus-v3.3.0
printf "export PATH=$(pwd)/bin:\$PATH\nexport PYTHONPATH=$(pwd)/lib:\$PYTHONPATH\nexport LD_LIBRARY_PATH=$(pwd)/lib:\$LD_LIBRARY_PATH\n" >> venv-cactus-v3.3.0/bin/activate
source venv-cactus-v3.3.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
Expand Down
24 changes: 24 additions & 0 deletions ReleaseNotes.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,27 @@
# Release 3.3.0 2026-08-10

This release a few general patches and new pangenome functionality such as graph reference (gref), panacus and panpatch support.

- Fix `--mgSplit` bug that could cause entire contigs to get erroneously filtered when single `--reference` provided.
- Genome passed to `--includeRoot` treated as outgroup and not ingroup
- `cactus-hal2seqfile` tool added to help with custom alignment updates
- `cactus-phast` faster on fragmented genomes
- Update to newer `FastGA`
- `cactus-panpatch` tool added to do assembly patching with pangenome alignments of different assemblies of the same sample.
- Increasing `--vcfwaveCores` now actually speeds up `vcfwave` (nearly linearly).
- Update Toil to `v9.5.0`
- `cactus-pangenome` now produces cleaner, more useful stats. Including reports and bed files of everything that was clipped and where.
- `maxMemory` automatically inferred on Slurm
- `cactus-hal2maf` `single-ref` output type added to get single-copy reference for each block but multicopy everything else.
- `--panacus` option added to `cactus-pangenome` to automatically generate a panacus report.
- `--gref` option cleaned up and improved in terms of the computed cover and the output VCFs (still experimental).
- `--vcfL` option added to cluster similar VCF alleles (experimental).
- Update to new vg (a bit past v1.76.1)
- Fix `--mgSplit` bug where reference contigs in chrOther could align together sometimes.
- `hal2vg` now takes about 30% less memory
- `--vcfReference` can select any genome, not just reference.
- Long pause at the end of minigraph construct fixed, it was due to Python being very slow at zipping the file.

# Release 3.2.1 2026-05-20

This release patches a critical regression from 3.2.0 that broke gpu support in docker
Expand Down
6 changes: 3 additions & 3 deletions doc/progressive.md
Original file line number Diff line number Diff line change
Expand Up @@ -383,12 +383,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 --user $(id -u):$(id -g) -v $(pwd):/data --rm -it quay.io/comparative-genomics-toolkit/cactus:v3.2.1 cactus /data/jobStore /data/evolverMammals.txt /data/evolverMammals.hal
docker run --user $(id -u):$(id -g) -v $(pwd):/data --rm -it quay.io/comparative-genomics-toolkit/cactus:v3.3.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:v3.2.1 bash
docker run -v $(pwd):/data --rm -it quay.io/comparative-genomics-toolkit/cactus:v3.3.0 bash
cactus /data/jobStore /data/evolverMammals.txt /data/evolverMammals.hal

```
Expand Down Expand Up @@ -605,7 +605,7 @@ cp <CACTUS-INSTALLATION-DIR>/src/cactus_progressive_config.xml ./config.xml
If you are running cactus directly from `docker run`, then do (making sure to use the same docker image that you will use to run cactus):

```
docker run --user $(id -u):$(id -g) -v $(pwd):/data --rm -it quay.io/comparative-genomics-toolkit/cactus:v3.2.1 cp /home/cactus/cactus_env/lib/python3.10/site-packages/cactus/cactus_progressive_config.xml /data/config.xml
docker run --user $(id -u):$(id -g) -v $(pwd):/data --rm -it quay.io/comparative-genomics-toolkit/cactus:v3.3.0 cp /home/cactus/cactus_env/lib/python3.10/site-packages/cactus/cactus_progressive_config.xml /data/config.xml
```

You can then edit `config.xml` and use it to override cactus's defaults by adding `--configFile config.xml` to any cactus command. If you are using `docker run -v $(pwd):/data` then you would add `--configFile /data/config.xml` to your command instead.
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

setup(
name = "Cactus",
version = "3.2.1",
version = "3.3.0",
author = "Benedict Paten",
package_dir = {'': 'src'},
packages = find_packages(where='src'),
Expand Down
2 changes: 1 addition & 1 deletion src/cactus/shared/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -404,7 +404,7 @@ def getDockerTag(gpu=False):
return "latest"
else:
# must be manually kept current with each release
return 'v3.2.1' + ('-gpu' if gpu else '')
return 'v3.3.0' + ('-gpu' if gpu else '')

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