Skip to main content

agtools: A Software Framework to Manipulate Assembly Graphs

Project description

agtools: A Software Framework to Manipulate Assembly Graphs

DOI GitHub License Python

install with bioconda Conda PyPI version Downloads Open In Colab

CI codecov CodeQL Advanced GitHub last commit (branch) Code style: black

agtools is a Python framework for manipulating assembly graphs for downstream metagenomic applications, with a focus on the Graphical Fragment Assembly (GFA) format. It offers a command-line interface for tasks such as graph format conversion, segment filtering, and component extraction. Supported formats include GFA, FASTG, ASQG and GraphViz DOT. Additionally, it provides a Python package interface that exposes assembler-specific functionality for advanced analysis and integration based on the GFA format.

For detailed instructions on installation and usage, please refer to the documentation hosted at Read the Docs.

Installing agtools

Using pip

You can install agtools from PyPI using pip.

pip install agtools

Using conda

You can install agtools from Bioconda using conda or mamba.

mamba install -c bioconda agtools

For development

Please follow the steps below to install agtools using flit for development.

# clone repository
git clone https://github.com/Vini2/agtools.git

# move to gbintk directory
cd agtools

# create and activate conda env
conda env create -f environment.yml
conda activate agtools

# install using flit
flit install -s --python `which python`

# test installation
agtools --help

Available subcommands in agtools

Run agtools --help or agtools -h to list the help message for agtools.

Usage: agtools [OPTIONS] COMMAND [ARGS]...

  agtools: A Software Framework to Manipulate Assembly Graphs

Options:
  -v, --version  Show the version and exit.
  -h, --help     Show this message and exit.

Commands:
  stats      Compute statistics about the graph
  rename     Rename segments, paths and walks in a GFA file
  concat     Concatenate two or more GFA files
  filter     Filter segments from GFA file
  clean      Clean a GFA file based on segments in a FASTA file
  component  Extract a component containing a given segment
  fastg2gfa  Convert FASTG file to GFA format
  gfa2fastg  Convert GFA file to FASTG format
  asqg2gfa   Convert ASQG file to GFA format
  gfa2asqg   Convert GFA file to ASQG format
  gfa2dot    Convert GFA file to DOT format (GraphViz)
  gfa2fasta  Get segments in FASTA format
  gfa2adj    Get adjacency matrix of the assembly graph

Documentation

Please refer to the complete documentation available at Read the docs.

Issues and Questions

If you want to test (or break) agtools give it a try and report any issues and suggestions under agtools Issues.

If you come across any questions, please have a look at the agtools FAQ page. If your question is not here, feel free to post it under agtools Issues.

If you want to request a feature, please post it under agtools Issues as a feature request.

Citation

agtools is currently under review. In the meantime, if you use agtools in your work, please cite the preprint as follows.

Vijini Mallawaarachchi, George Bouras, Ryan R. Wick, Susanna R. Grigson, Bhavya Papudeshi, Robert A. Edwards; agtools: a software framework to manipulate assembly graphs; bioRxiv 2025.09.14.676178; doi: https://doi.org/10.1101/2025.09.14.676178

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

agtools-1.1.0.tar.gz (30.4 kB view details)

Uploaded Source

Built Distribution

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

agtools-1.1.0-py3-none-any.whl (46.0 kB view details)

Uploaded Python 3

File details

Details for the file agtools-1.1.0.tar.gz.

File metadata

  • Download URL: agtools-1.1.0.tar.gz
  • Upload date:
  • Size: 30.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for agtools-1.1.0.tar.gz
Algorithm Hash digest
SHA256 6f437d49ad34a91562aa6d063e93338e12237f1d1537f57db026d43ec655be52
MD5 e670e898e447de63c9bf4bd43fe62b53
BLAKE2b-256 50d0025de3d4a79d7d428bdffc1fa331607fda11e2a7de78d4b78ec16f8acad4

See more details on using hashes here.

File details

Details for the file agtools-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: agtools-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 46.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for agtools-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5be03c56a23dcfb49e9692c7f29e97969b352d4198f2df8de436f1bc39eb13d7
MD5 42a6f0b0bc71d6652e083de0b0ac9359
BLAKE2b-256 69108a5387e5d79d69977dcf704ef28bd76556003f82dc54463e968de327488b

See more details on using hashes here.

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