Skip to main content

funannotate2-addons: scripts/methods to enhance functional annotation of eukaryotic genomes

Project description

funannotate2-addons

Addon scripts for enhancing functional annotation in funannotate2 genome annotation pipeline.

Standardized Output Format

All modules in funannotate2-addons produce a standardized 3-column TSV file that can be directly used with funannotate2 for functional annotation:

#gene_id	annotation_type	annotation_value

Where:

  • gene_id: The identifier for the protein or gene
  • annotation_type: The type of annotation (e.g., "name", "note", "go_term", "EC_number")
  • annotation_value: The actual annotation content

This standardized format makes it easy to integrate the results with funannotate2's annotation system.

Overview

funannotate2-addons provides tools for running and parsing results from external annotation tools:

  • EggNOG Mapper: Functional annotation using orthology
  • InterProScan: Protein domain and family annotation
  • antiSMASH: Secondary metabolite gene cluster annotation
  • SignalP: Signal peptide prediction

Installation

pip install funannotate2-addons

Usage

# Run
f2a <command> [options]

Standardized Command-Line Interface

All funannotate2-addons commands use a consistent command-line interface:

# Basic usage pattern
f2a <command> -i /path/to/funannotate2_predict_folder [options]

Where:

  • -i, --input: Path to a funannotate2 predict output directory
  • -o, --output: (Optional) Output directory. If not specified, output will be written to <input_dir>/annotate_misc

This standardized interface makes it easy to run multiple annotation tools on the same funannotate2 predict output:

EggNOG Mapper

EggNOG Mapper is a tool for fast functional annotation of novel sequences. This module provides a wrapper for running EggNOG Mapper and parsing its results.

# Basic usage
f2a emapper -i /path/to/funannotate2_predict_folder --cpus 8

# Specify output directory
f2a emapper -i /path/to/funannotate2_predict_folder -o /path/to/output_dir --cpus 8

# Specify database
f2a emapper -i /path/to/funannotate2_predict_folder --cpus 8 --database eggnog_proteins

# Export annotations to JSON
f2a emapper -i /path/to/funannotate2_predict_folder --cpus 8 --json

The module will generate:

  1. A standard eggnog-mapper output file
  2. An annotations file with gene names, descriptions, and EC numbers in the standardized 3-column format
  3. Optional JSON file with annotation information

InterProScan

InterProScan is a tool that scans protein sequences for matches against the InterPro protein signature databases. This module provides a wrapper for running InterProScan and parsing its results.

# Basic usage
f2a iprscan -i /path/to/funannotate2_predict_folder --cpus  8

# Specify output directory
f2a iprscan -i /path/to/funannotate2_predict_folder -o /path/to/output_dir --cpus 8

# Specify applications to run
f2a iprscan -i /path/to/funannotate2_predict_folder --cpus 8 --applications "Pfam,SMART,CDD"

# Disable GO term lookup
f2a iprscan -i /path/to/funannotate2_predict_folder --cpu 8 --no-goterms

antiSMASH

antiSMASH is a tool for identifying and analyzing secondary metabolite biosynthesis gene clusters in bacterial and fungal genomes. This module provides a wrapper for running antiSMASH and parsing its results.

# Basic usage
f2a antismash -i /path/to/funannotate2_predict_folder --cpus 8

# Specify output directory
f2a antismash -i /path/to/funannotate2_predict_folder -o /path/to/output_dir --cpus 8

# Specify taxonomy
f2a antismash -i /path/to/funannotate2_predict_folder --cpus 8 --taxon fungi

# Extract individual cluster files
f2a antismash -i /path/to/funannotate2_predict_folder --cpus 8 --extract-clusters

# Export cluster information to JSON
f2a antismash -i /path/to/funannotate2_predict_folder --cpus 8 --json

The module will generate:

  1. A GenBank file with annotated clusters
  2. An annotations file with cluster and domain information in the standardized 3-column format
  3. A clusters file with detailed information about each cluster
  4. Optional individual GenBank files for each cluster
  5. Optional JSON file with cluster information

Note: This module only accepts GenBank files from the funannotate2 predict output. Gene finding is disabled to ensure we use the gene models from the GenBank file rather than having antiSMASH attempt to predict genes, which doesn't work well for eukaryotic organisms.

SignalP

SignalP is a tool for predicting the presence and location of signal peptides in proteins. This module provides a wrapper for running SignalP 6.0 and parsing its results.

# Basic usage
f2a signalp6 -i /path/to/funannotate2_predict_folder

# Specify output directory
f2a signalp6 -i /path/to/funannotate2_predict_folder -o /path/to/output_dir

# Specify organism group
f2a signalp6 -i /path/to/funannotate2_predict_folder --organism other

# Generate plots
f2a signalp6 -i /path/to/funannotate2_predict_folder --plot

# Export predictions to JSON
f2a signalp6 -i /path/to/funannotate2_predict_folder --json

The module will generate:

  1. A summary file with signal peptide predictions
  2. An annotations file with signal peptide information in the standardized 3-column format
  3. Optional plots for visualizing signal peptide predictions
  4. Optional JSON file with prediction information

Note: This module is specifically designed for SignalP 6.0, which has a different command-line interface and output format compared to previous versions.

Requirements

Dependencies

funannotate2-addons has minimal dependencies:

  • packaging
  • requests
  • gfftk
  • gb-io (for GenBank file parsing)

Note: The antiSMASH module uses gb-io instead of BioPython to reduce dependencies.

Development

Testing

funannotate2-addons uses pytest for testing. To run the tests:

# Install development dependencies
pip install -e ".[dev]"

# Run all tests
pytest

# Run tests with coverage report
pytest --cov=funannotate2_addons

Test files are located in the tests/ directory.

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

funannotate2_addons-26.3.7.tar.gz (33.7 kB view details)

Uploaded Source

Built Distribution

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

funannotate2_addons-26.3.7-py3-none-any.whl (44.2 kB view details)

Uploaded Python 3

File details

Details for the file funannotate2_addons-26.3.7.tar.gz.

File metadata

  • Download URL: funannotate2_addons-26.3.7.tar.gz
  • Upload date:
  • Size: 33.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for funannotate2_addons-26.3.7.tar.gz
Algorithm Hash digest
SHA256 5c49ddd9fad365e5865102037dc8aac6f19c7e1c35f89b1b9d58629e5d65c41c
MD5 a629fe8b31cdfa4c544cfb3b903d11c0
BLAKE2b-256 c5840e211aee131486aacdc375f662c8ac24bfd3a736f6559e182f2fefec8bd5

See more details on using hashes here.

Provenance

The following attestation bundles were made for funannotate2_addons-26.3.7.tar.gz:

Publisher: production-release.yml on nextgenusfs/funannotate2-addons

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

File details

Details for the file funannotate2_addons-26.3.7-py3-none-any.whl.

File metadata

File hashes

Hashes for funannotate2_addons-26.3.7-py3-none-any.whl
Algorithm Hash digest
SHA256 242e81964ffcbab258149732f8cd39103935efe3366c171b2dd3c196cb974af3
MD5 77da758e4c416cd5a3196b72e8d91977
BLAKE2b-256 b1892e3f29c41cb86273dcd8f3ec2df5b4e87ae0d554cbb268ae7c3092940cae

See more details on using hashes here.

Provenance

The following attestation bundles were made for funannotate2_addons-26.3.7-py3-none-any.whl:

Publisher: production-release.yml on nextgenusfs/funannotate2-addons

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