A hecatomb is a great sacrifice or an extensive loss. Heactomb the software empowers an analyst to make data driven decisions to 'sacrifice' false-positive viral reads from metagenomes to enrich for true-positive viral reads. This process frequently results in a great loss of suspected viral sequences / contigs.
Complete documentation is hosted at Read the Docs
Hecatomb is currently on BioRxiv!
option 1: PIP
# Optional: create a virtual with conda or venv
conda create -n hecatomb python=3.10
# activate
conda activte hecatomb
# Install
pip install hecatomb
option 2: Conda
# Create the conda env and install hecatomb in one step
conda create -n hecatomb -c conda-forge -c bioconda hecatomb
# activate
conda activate hecatomb
Check installation
hecatomb --help
Download the databases
# 8 threads = 8 downloads at a time
hecatomb install --threads 8
Optional: prebuild envs
These are automatically built when running hecatomb, but manually pre-building is useful if your cluster nodes are isolated from the internet.
hecatomb test build_envs
# locally: using 32 threads and 64 GB RAM by default
hecatomb test --threads 32
# HPC: using a profile named 'slurm'
hecatomb test --profile slurm
Hecatomb is powered by Snakemake and greatly benefits from the use of Snakemake profiles for HPC Clusters. More information and example for setting up Snakemake profiles for Hecatomb in the documentation.
NOTE: Hecatomb currently uses Snakemake version 7. The recent version 8 for Snakemake has some breaking changes, including some changes to the command line interface for cluster execution. Any new Snakemake v8 profiles might not work with Hecatomb. Please open an issue if you need help setting up a profile.
You can pass either a directory of reads or a TSV file to --reads
.
Note that Hecatomb expects paired read file names to include common R1/R2 tags.
- Directory: Hecatomb will infer sample names and various R1/2 tag combinations from the filenames.
- TSV file: Hecatomb expects 2 or 3 columns, with column 1 being the sample name and columns 2 and 3 the reads files.
More information and examples are available here
Pass the --longreads
argument to tell Hecatomb that you are using longreads.
Hecatomb uses Trimnami for read trimming which supports many different
trimming methods. Current options are fastp
(default), prinseq
, roundAB
, filtlong
(for longreads),
cutadapt
(FASTA input), and notrim
(skip trimming). See Trimnami's documentation for more information.
You can configure advanced parameters for Hecatomb.
Copy the default config: hecatomb config
.
Edit the config file in your favourite text editor: nano hecatomb.out/hecatomb.config.yaml
.
The only dependency you need to get up and running with Hecatomb is conda or the python package manager pip. Hecatomb relies on conda to ensure portability and ease of installation of its dependencies. All of Hecatomb's dependencies are installed during installation or runtime, so you don't have to worry about a thing!