# agtools: Tools for manipulating assembly graphs

[](#)
[](https://github.com/Vini2/agtools/actions/workflows/testing_python_app.yml)
[](https://codecov.io/gh/Vini2/agtools)

[](https://github.com/psf/black)
`agtools` is a toolkit for manipulating assembly graphs, with a focus on the [Graphical Fragment Assembly (GFA) format](https://github.com/GFA-spec/GFA-spec). It offers a command-line interface for tasks such as graph format conversion, segment filtering, and component extraction. Supported formats include [GFA](https://github.com/pmelsted/GFA-spec/blob/master/GFA-spec.md), [FASTG](https://web.archive.org/web/20211209213905/http://fastg.sourceforge.net/FASTG_Spec_v1.00.pdf), [ASQG](https://github.com/jts/sga/wiki/ASQG-Format) and [GraphViz DOT](http://www.graphviz.org/content/dot-language). Additionally, it provides a Python package interface that exposes assembler-specific functionality for advanced analysis and integration based on the GFA format.
## Requirements
You should have Python and the following packages installed.
* [flit](https://flit.pypa.io/en/stable/)
* [click](https://click.palletsprojects.com/en/stable/)
* [loguru](https://loguru.readthedocs.io/en/stable/)
* [bidict](https://bidict.readthedocs.io/en/main/intro.html)
* [python-igraph](https://python.igraph.org/en/stable/index.html)
* [biopython](https://biopython.org/)
* [pandas](https://pandas.pydata.org/)
## Installing `agtools`
### For development
Please follow the steps below to install `agtools` using `flit` for development.
```bash
# 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`.
```bash
Usage: agtools [OPTIONS] COMMAND [ARGS]...
agtools: Tools for manipulating 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
gfa2fastg Convert GFA file to FASTG 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](https://agtools.readthedocs.io/)
Raw data
{
"_id": null,
"home_page": null,
"name": "agtools",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "metagenomics, assembly, graphs, bioinformatics",
"author": null,
"author_email": "Vijini Mallawaarachchi <viji.mallawaarachchi@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/88/e8/4be9692c49b223ea4a5ba83f468c18f74b1a7a3dc9bdb325ee6680858bd6/agtools-0.1.0.tar.gz",
"platform": null,
"description": "# agtools: Tools for manipulating assembly graphs\n\n\n[](#)\n[](https://github.com/Vini2/agtools/actions/workflows/testing_python_app.yml)\n[](https://codecov.io/gh/Vini2/agtools)\n\n[](https://github.com/psf/black)\n\n`agtools` is a toolkit for manipulating assembly graphs, with a focus on the [Graphical Fragment Assembly (GFA) format](https://github.com/GFA-spec/GFA-spec). It offers a command-line interface for tasks such as graph format conversion, segment filtering, and component extraction. Supported formats include [GFA](https://github.com/pmelsted/GFA-spec/blob/master/GFA-spec.md), [FASTG](https://web.archive.org/web/20211209213905/http://fastg.sourceforge.net/FASTG_Spec_v1.00.pdf), [ASQG](https://github.com/jts/sga/wiki/ASQG-Format) and [GraphViz DOT](http://www.graphviz.org/content/dot-language). Additionally, it provides a Python package interface that exposes assembler-specific functionality for advanced analysis and integration based on the GFA format.\n\n## Requirements\n\nYou should have Python and the following packages installed.\n\n* [flit](https://flit.pypa.io/en/stable/)\n* [click](https://click.palletsprojects.com/en/stable/)\n* [loguru](https://loguru.readthedocs.io/en/stable/)\n* [bidict](https://bidict.readthedocs.io/en/main/intro.html)\n* [python-igraph](https://python.igraph.org/en/stable/index.html)\n* [biopython](https://biopython.org/)\n* [pandas](https://pandas.pydata.org/)\n\n## Installing `agtools`\n\n### For development\n\nPlease follow the steps below to install `agtools` using `flit` for development.\n\n```bash\n# clone repository\ngit clone https://github.com/Vini2/agtools.git\n\n# move to gbintk directory\ncd agtools\n\n# create and activate conda env\nconda env create -f environment.yml\nconda activate agtools\n\n# install using flit\nflit install -s --python `which python`\n\n# test installation\nagtools --help\n```\n\n## Available subcommands in `agtools`\n\nRun `agtools --help` or `agtools -h` to list the help message for `agtools`.\n\n```bash\nUsage: agtools [OPTIONS] COMMAND [ARGS]...\n\n agtools: Tools for manipulating assembly graphs\n\nOptions:\n -v, --version Show the version and exit.\n -h, --help Show this message and exit.\n\nCommands:\n stats Compute statistics about the graph\n rename Rename segments, paths and walks in a GFA file\n concat Concatenate two or more GFA files\n filter Filter segments from GFA file\n clean Clean a GFA file based on segments in a FASTA file\n component Extract a component containing a given segment\n fastg2gfa Convert FASTG file to GFA format\n asqg2gfa Convert ASQG file to GFA format\n gfa2fastg Convert GFA file to FASTG format\n gfa2dot Convert GFA file to DOT format (GraphViz)\n gfa2fasta Get segments in FASTA format\n gfa2adj Get adjacency matrix of the assembly graph\n```\n\n## Documentation\n\nPlease refer to the complete documentation available at [Read the docs](https://agtools.readthedocs.io/)",
"bugtrack_url": null,
"license": null,
"summary": "agtools: Tools for manipulating assembly graphs",
"version": "0.1.0",
"project_urls": {
"Home": "https://agtools.readthedocs.io"
},
"split_keywords": [
"metagenomics",
" assembly",
" graphs",
" bioinformatics"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "6f8bce7926b37b70242646efa8eed6ff98b0283b6afb344bd9d700632b3dfce6",
"md5": "a9005ee5583826c2e4cfe9f1e281ca2b",
"sha256": "0d6e1d75ce7037e69a507719c008685dcda591eb76804e1b20dc9444922b4be1"
},
"downloads": -1,
"filename": "agtools-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a9005ee5583826c2e4cfe9f1e281ca2b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 40057,
"upload_time": "2025-08-01T03:51:34",
"upload_time_iso_8601": "2025-08-01T03:51:34.821837Z",
"url": "https://files.pythonhosted.org/packages/6f/8b/ce7926b37b70242646efa8eed6ff98b0283b6afb344bd9d700632b3dfce6/agtools-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "88e84be9692c49b223ea4a5ba83f468c18f74b1a7a3dc9bdb325ee6680858bd6",
"md5": "d7b1e46307da039cc3cf9834ceb82f3a",
"sha256": "8bff284e3c3d6a688eafbf79f7baa702d0621b312dccce7c415a80195b599530"
},
"downloads": -1,
"filename": "agtools-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "d7b1e46307da039cc3cf9834ceb82f3a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 45985258,
"upload_time": "2025-08-01T03:53:09",
"upload_time_iso_8601": "2025-08-01T03:53:09.738760Z",
"url": "https://files.pythonhosted.org/packages/88/e8/4be9692c49b223ea4a5ba83f468c18f74b1a7a3dc9bdb325ee6680858bd6/agtools-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-01 03:53:09",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "agtools"
}