Description

Annotates carbohydrate-active enzyme (CAZyme) families from protein sequences using protein language model (ESM) embeddings and FAISS-based nearest-neighbour search. Performs three-level hierarchical classification: binary CAZyme detection (Level 0), CAZy class assignment (Level 1), and CAZy family assignment (Level 2).

Input

name:type
description
pattern

meta

:map

Groovy Map containing sample information e.g. [ id:'sample1' ]

fasta

:file

Protein sequences in FASTA format.

*.{fa,fasta,faa}

level0

:directory

Directory containing the Level 0 (binary CAZyme detection) model files, as produced by CAALM_DOWNLOADMODELS.

models/level0

level1

:directory

Directory containing the Level 1 (CAZy class assignment) model files, as produced by CAALM_DOWNLOADMODELS.

models/level1

level2

:directory

Directory containing the Level 2 (CAZy family assignment) model files, as produced by CAALM_DOWNLOADMODELS.

models/level2

Output

name:type
description
pattern

predictions

meta

:map

Groovy Map containing sample information e.g. [ id:'sample1' ]

${prefix}_predictions.tsv

:file

Tab-separated file with per-sequence CAZy class and family predictions across all three classification levels.

*_predictions.tsv

probabilities

meta

:map

Groovy Map containing sample information e.g. [ id:'sample1' ]

${prefix}_probabilities.jsonl

:file

JSON Lines file with per-sequence probability scores at all three classification levels.

*_probabilities.jsonl

statistics

meta

:map

Groovy Map containing sample information e.g. [ id:'sample1' ]

${prefix}_statistics.tsv

:file

Tab-separated summary file with counts and percentages of predicted CAZyme classes and families across the input sequences.

*_statistics.tsv

embeddings_level0

meta

:map

Groovy Map containing sample information e.g. [ id:'sample1' ]

${prefix}_level0_embeddings.npy

:file

NumPy array file containing Level 0 ESM embeddings for each input sequence. Optional; produced when --save-level0-embeddings is passed.

*_level0_embeddings.npy

embeddings_level1

meta

:map

Groovy Map containing sample information e.g. [ id:'sample1' ]

${prefix}_level1_embeddings.npy

:file

NumPy array file containing Level 1 projected embeddings for each input sequence. Optional; produced when --save-level1-embeddings is passed.

*_level1_embeddings.npy

embeddings_level2

meta

:map

Groovy Map containing sample information e.g. [ id:'sample1' ]

${prefix}_level2_embeddings.npy

:file

NumPy array file containing Level 2 projected embeddings for each input sequence. Optional; produced when --save-level2-embeddings is passed.

*_level2_embeddings.npy

log

meta

:map

Groovy Map containing sample information e.g. [ id:'sample1' ]

${prefix}.log

:file

Log file containing the stdout and stderr output of the caalm run.

*.log

versions_caalm

${task.process}

:string

The name of the process

caalm

:string

The name of the tool

caalm --version 2>&1 | head -1

:eval

The expression to obtain the version of the tool

versions_python

${task.process}

:string

The name of the process

python

:string

The name of the tool

python --version | sed 's/Python //'

:eval

The expression to obtain the version of the tool

versions_torch

${task.process}

:string

The name of the process

torch

:string

The name of the tool

python -c 'import torch; print(torch.__version__)'

:eval

The expression to obtain the version of the tool

versions_faiss

${task.process}

:string

The name of the process

faiss

:string

The name of the tool

python -c 'import faiss; print(faiss.__version__)'

:eval

The expression to obtain the version of the tool

versions_cuda

${task.process}

:string

The name of the process

cuda

:string

The name of the tool

python -c "import torch; print(torch.version.cuda or 'no CUDA available')"

:eval

The expression to obtain the CUDA version available to torch

Topics

name:type
description
pattern

versions

${task.process}

:string

The name of the process

caalm

:string

The name of the tool

caalm --version 2>&1 | head -1

:eval

The expression to obtain the version of the tool

${task.process}

:string

The name of the process

python

:string

The name of the tool

python --version | sed 's/Python //'

:eval

The expression to obtain the version of the tool

${task.process}

:string

The name of the process

torch

:string

The name of the tool

python -c 'import torch; print(torch.__version__)'

:eval

The expression to obtain the version of the tool

${task.process}

:string

The name of the process

faiss

:string

The name of the tool

python -c 'import faiss; print(faiss.__version__)'

:eval

The expression to obtain the version of the tool

${task.process}

:string

The name of the process

cuda

:string

The name of the tool

python -c "import torch; print(torch.version.cuda or 'no CUDA available')"

:eval

The expression to obtain the CUDA version available to torch

Tools

caalm
MIT

CAALM (Carbohydrate Activity Annotation with protein Language Models) predicts CAZyme class and family membership from protein FASTA sequences using ESM-based embeddings and FAISS nearest-neighbour retrieval.