Skip to main content

A quick and precise pipeline for detecting phages in sequence assemblies.

Project description

                  .
               ,'/ \`.
              |\/___\/|
              \'\   /`/          ██╗ █████╗ ███████╗ ██████╗ ███████╗██████╗
               `.\ /,'           ██║██╔══██╗██╔════╝██╔════╝ ██╔════╝██╔══██╗
                  |              ██║███████║█████╗  ██║  ███╗█████╗  ██████╔╝
                  |         ██   ██║██╔══██║██╔══╝  ██║   ██║██╔══╝  ██╔══██╗
                 |=|        ╚█████╔╝██║  ██║███████╗╚██████╔╝███████╗██║  ██║
            /\  ,|=|.  /\    ╚════╝ ╚═╝  ╚═╝╚══════╝ ╚═════╝ ╚══════╝╚═╝  ╚═╝
        ,'`.  \/ |=| \/  ,'`.```

Jaeger: an accurate and fast deep-learning tool to detect bacteriophage sequences

GitHub GitHub last commit (branch) Conda Conda PyPI version Downloads

Jaeger is a tool that utilizes homology-free machine learning to identify phage genome sequences that are hidden within metagenomes. It is capable of detecting both phages and prophages within metagenomic assemblies.

📚 For detailed installation instructions, usage guides, and troubleshooting, please visit the documentation.


Citing Jaeger


If you use Jaeger in your work, please consider citing its preprint:

To cite the code itself:



Installing Jaeger


option 1 : One-liner install script (recommended)

The easiest way to install Jaeger. This script auto-detects your platform (GPU, CPU, or Apple Silicon) and sets up the environment for you.

curl -sSL https://raw.githubusercontent.com/MGXlab/Jaeger/main/install.sh | bash
option 2 : bioconda

The performance of the Jaeger workflow can be significantly increased by utilizing GPUs. To enable GPU support, the CUDA Toolkit and cuDNN library must be accessible to conda.

# create conda environment and install jaeger
mamba create -n jaeger -c bioconda jaeger-bio==1.26

# activate environment
conda activate jaeger

Test the installation with test data

jaeger health
option 3 : Installing from PyPI (recommended)
# create a conda environment and activate
mamba create -n jaeger -c nvidia -c conda-forge cuda-nvcc "python>=3.11,<3.14" pip
conda activate jaeger

# OR create a virtual environment using venv
python3 -m venv jaeger
source jaeger/bin/activate

# to install jaeger with GPU support
pip install jaeger-bio[gpu]

# to install without GPU support
pip install jaeger-bio[cpu]

# to install on a Mac(arm)
pip install jaeger-bio[darwin-arm]

# test the installation
jaeger health
option 4 : Installing from git (main branch)
# create a conda environment and activate
mamba create -n jaeger -c nvidia -c conda-forge cuda-nvcc "python>=3.11,<3.14" pip
conda activate jaeger

# OR create a virtual environment using venv
python3 -m venv jaeger
source jaeger/bin/activate

# install jaeger

# to install with GPU support
pip install --no-cache-dir "jaeger-bio[gpu] @ git+https://github.com/MGXlab/Jaeger@main"

# to install without GPU support
pip3 install --root-user-action=ignore --no-cache-dir "jaeger-bio[cpu] @ git+https://github.com/MGXlab/Jaeger@main"

# to install on a Mac(arm)
pip3 install --root-user-action=ignore --no-cache-dir "jaeger-bio[darwin-arm] @ git+https://github.com/MGXlab/Jaeger@main"

# test the installation
jaeger health
option 5 : Apptainer (Singularity)

If you're using Apptainer on a cluster, it's recommended to build the container on your local machine and then transfer it to the cluster.

# get the container def
wget -O jaeger_singularity.def https://raw.githubusercontent.com/Yasas1994/Jaeger/main/singularity/jaeger_singularity.def
# get the configuration file
wget -O config.json https://raw.githubusercontent.com/Yasas1994/Jaeger/main/src/jaeger/data/config.json

# to build the container
apptainer build jaeger.sif singularity/jaeger_singularity.def

# test container
apptainer run --nv jaeger.sif jaeger --help

# test the installation
apptainer run --nv jaeger.sif jaeger health

# list jaeger models available for download
apptainer run --nv jaeger.sif jaeger download --list
# download jaeger models
apptainer run --nv jaeger.sif jaeger download --model_name jaeger_38341_1.4M_fragment --path /path/to/save/model --config /path/to/config.json

# run jaeger
apptainer run --nv jaeger.sif jaeger predict --model jaeger_38341_1.4M_fragment --config /path/to/config.json -i /path/to/input.fasta -o /path/to/save/results

Downloading models


Starting from version 1.26.0, users will need to download the new models separately after installing Jaeger. The bundled default model is deprecated and uses the legacy prediction workflow; modern SavedModels (e.g., jaeger_38341_1.4M_fragment) are recommended.

Use the --list flag to print out all models available for download

jaeger download --list

Then to download the model and add it to the model path run

jaeger download --path /path/to/store/models --model_name jaeger_38341_1.4M

If you decide to change the model path later, or if you have a directory with newly trained/tuned models register the path

jaeger register-models --path /new/model/path

Visualizing predictions


You can use phage_contig_annotator to annotate and visualize Jaeger predictions.


Acknowledgements


This work was supported by the European Union's Horizon 2020 research and innovation program, under the Marie Skłodowska-Curie Actions Innovative Training Networks grant agreement no. 955974 (VIROINF), the European Research Council (ERC) Consolidator grant 865694

       

The ascii art logo is from https://ascii.co.uk/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jaeger_bio-1.26.4.tar.gz (36.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jaeger_bio-1.26.4-py3-none-any.whl (37.0 MB view details)

Uploaded Python 3

File details

Details for the file jaeger_bio-1.26.4.tar.gz.

File metadata

  • Download URL: jaeger_bio-1.26.4.tar.gz
  • Upload date:
  • Size: 36.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for jaeger_bio-1.26.4.tar.gz
Algorithm Hash digest
SHA256 262a896fd7254f30461155ab0157f75a350c3f2b9f7ad38c082273981af32dd7
MD5 d944c46fd3cf3d07bf71ebd39cff0831
BLAKE2b-256 7854373f89fa0f6072ba782e229e0eb47b0ffacf09f2923c24d504df60707efd

See more details on using hashes here.

Provenance

The following attestation bundles were made for jaeger_bio-1.26.4.tar.gz:

Publisher: publish-to-pypi.yaml on Yasas1994/Jaeger

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jaeger_bio-1.26.4-py3-none-any.whl.

File metadata

  • Download URL: jaeger_bio-1.26.4-py3-none-any.whl
  • Upload date:
  • Size: 37.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for jaeger_bio-1.26.4-py3-none-any.whl
Algorithm Hash digest
SHA256 28054d18864908d3ed2c9e551141c1db1ca57cac3adfd28afd0a22eb98550c71
MD5 c1efbd6b1d07c2adb9cfcd1ea03c8c6f
BLAKE2b-256 27a4d51e2978dcf0a35c462d2319246c3f48eb23d54abd8167a4be85b0708bc4

See more details on using hashes here.

Provenance

The following attestation bundles were made for jaeger_bio-1.26.4-py3-none-any.whl:

Publisher: publish-to-pypi.yaml on Yasas1994/Jaeger

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page