funannotate2

Eukaryotic genome annotation software.

https://github.com/nextgenusfs/funannotate2

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.2%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Eukaryotic genome annotation software.

Basic Info
Statistics
  • Stars: 18
  • Watchers: 3
  • Forks: 0
  • Open Issues: 11
  • Releases: 0
Created over 2 years ago · Last pushed 7 months ago
Metadata Files
Readme License Citation

README.md

Latest Github release Conda Code style: black Tests

funannotate2: eukaryotic genome annotation pipeline

Funannotate2 is a comprehensive eukaryotic genome annotation pipeline that provides a complete workflow for annotating eukaryotic genomes. It integrates various tools and databases to produce high-quality gene predictions and functional annotations.

Quick start: Installation

Linux systems

Unit this gets pushed to bioconda, can try this: shell mamba create -n funannotate2 gfftk gapmm2 minimap2 miniprot snap "augustus==3.5.0" glimmerhmm diamond trnascan-se table2asn gb-io buscolite conda activate funannotate2 python -m pip install git+https://github.com/nextgenusfs/funannotate2.git

Apple Silicon (M series)

Installation on apple silicon (M series) is a little bit more involved due to some dependency issues and non-native builds of some software. I've not been able to find or build a version of augustus that will run, so instead I've been running augustus and genemark locally with Docker. I've setup two repos with instructions on how to get this working (Need Docker Desktop installed) and then will need to put the bash wrapper files in your PATH to mimic the CLI interface.

https://github.com/nextgenusfs/dockerized-augustus

https://github.com/nextgenusfs/dockerized-genemark

Once that is working, you can then install most of the remaining dependencies with conda, although we need to leave out both buscolite and funannotate2 because they have augustus as a dependency, instead we will install those python packages with pip. The conda mkl<2022 is to avoid an annoying warning on apple silicon with the intel mkl package.

```shell

first install most of the dependencies

mamba create -n funannotate2 --platform osx-64 "python>=3.7,<3.13" gfftk gapmm2 minimap2 miniprot snap glimmerhmm diamond trnascan-se gb-io pyhmmer pyfastx requests json-repair pytantan "mkl<2022"

we can then add the required FUNANNOTATE2_DB env variable to the conda environment, note need to reactivate to use it

conda activate funannotate2 conda env config vars set FUNANNOTATE2DB=/path/to/funannotate2-db conda env config vars set AUGUSTUSCONFIG_PATH=/path/to/augustus-3.5.0/config conda deactivate

now reactivate environment, and install the remaining python dependencies with pip

conda activate funannotate2 python -m pip install buscolite git+https://github.com/nextgenusfs/funannotate2.git

now we can install the databases

funannotate2 install -d all ```

Other/Manual Installation

Additional tools like genemarkHMM must be installed manually due to licensing.

funannotate2 is a python package, to install release versions use the pip package manager, like so:

shell pip install funannotate2 Or to install the bleeding edge version from github repo:

shell python -m pip install git+https://github.com/nextgenusfs/funannotate2.git

Development

Testing

Funannotate2 includes both unit tests and integration tests to ensure the code works correctly.

Running Tests

To run the tests, you need to install pytest and the package in development mode:

```bash

Install pytest and coverage tools

pip install pytest pytest-cov

Install funannotate2 in development mode

pip install -e .

Run all tests

pytest

Run with coverage report

pytest --cov=funannotate2

Generate HTML coverage report

python scripts/run_coverage.py ```

For more information about testing, see the TESTING.md file.

Development Dependencies

To work on funannotate2 development, you'll need to install the development dependencies:

shell pip install pytest pytest-cov

Documentation

Funannotate2 includes comprehensive documentation that covers installation, usage, API reference, and more. To build the documentation:

```bash

Install Sphinx and the theme

pip install sphinx sphinxrtdtheme

Build the documentation

cd docs make html ```

The built documentation will be in the docs/_build/html directory.

For more information about the documentation, see the docs/README.md file.

Running Tests

After installing the development dependencies, you can run the tests with:

shell python -m pytest

To run tests with coverage reporting:

shell python -m pytest --cov=funannotate2 --cov-report=term-missing

Or use the provided script to generate an HTML coverage report:

shell python scripts/run_coverage.py

To install the most up to date code from this repo, you can run: python -m pip install git+https://github.com/nextgenusfs/funannotate2.git --upgrade --force --no-deps

Citation

Funannotate2 includes a CITATION.cff file that provides citation information for the software. The version and release date in this file are automatically updated when a new release is created.

To cite funannotate2 in your work, you can use the citation information from the CITATION.cff file or generate a citation in your preferred format using tools like citeas.org.

Owner

  • Name: Jon Palmer
  • Login: nextgenusfs
  • Kind: user
  • Location: Palo Alto, CA

Citation (CITATION.cff)

cff-version: version = "25.8.5"
title: 'funannotate2: eukaryotic genome annotation'
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - family-names: Palmer
    given-names: Jonathan Mark
    email: nextgenusfs@gmail.com
    orcid: 'https://orcid.org/0000-0003-0929-3658'
    affiliation: Independent Researcher
repository-code: 'https://github.com/nextgenusfs/funannotate2'
keywords:
  - gene prediction
  - eukaryote
  - functional annotation
  - consensus gene models
license: BSD-2-Clause
version: version = "25.8.5"
date-released: '2025-08-05'

GitHub Events

Total
  • Issues event: 27
  • Watch event: 14
  • Issue comment event: 102
  • Push event: 70
  • Create event: 1
Last Year
  • Issues event: 27
  • Watch event: 14
  • Issue comment event: 102
  • Push event: 70
  • Create event: 1

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 66 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 1
  • Total maintainers: 1
pypi.org: funannotate2

Funannotate2: eukarytoic genome annotation pipeline

  • Homepage: https://github.com/nextgenusfs/funannotate2
  • Documentation: https://funannotate2.readthedocs.io/
  • License: BSD 2-Clause License Copyright (c) 2023, Jon Palmer Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  • Latest release: 25.7.1
    published 8 months ago
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 66 Last month
Rankings
Dependent packages count: 8.9%
Average: 29.4%
Dependent repos count: 50.0%
Maintainers (1)
Last synced: 6 months ago