Code Monkey home page Code Monkey logo

hecatomb's Introduction

Anaconda-Server Badge Anaconda-Server Badge Documentation Status install with bioconda install with PyPI Unit tests Env builds


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.

Contents

Documentation

Complete documentation is hosted at Read the Docs

Citation

Hecatomb is currently on BioRxiv!

Quick start guide

Install Hecatomb

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

Install databases and envs

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

Run test dataset

# locally: using 32 threads and 64 GB RAM by default
hecatomb test --threads 32

# HPC: using a profile named 'slurm'
hecatomb test --profile slurm

Snakemake profiles (for running on HPCs)

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.

Inputs

Parsing samples with --reads

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

Library preprocessing with --trim

Hecatomb uses Trimnami for read trimming which supports many different trimming methods. Current options are fastp (default), prinseq, roundAB, filtlong (longreads), cutadapt (FASTA input), and notrim (skip trimming). See Trimnami's documentation for more information.

Configuration

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.

Dependencies

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!

Links

Hecatomb @ PyPI

Hecatomb @ bioconda

Hecatomb @ bio.tools

Hecatomb @ WorkflowHub

Hecatomb RRID:SCR_025002

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.