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.
You can install agtools
from PyPI using pip
.
pip install agtools
You can install agtools
from Bioconda using conda
or mamba
.
mamba install -c bioconda agtools
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
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
asqg2gfa Convert ASQG file to GFA format
gfa2dot Convert GFA file to DOT format (GraphViz)
gfa2fasta Get segments in FASTA format
gfa2adj Get adjacency matrix of the assembly graph
Please refer to the complete documentation available at Read the docs.
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.
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