Skip to main content

🦎 IGUA Stars

Iterative Gene clUster Analysis, a high-throughput method for gene cluster family identification.

Actions Coverage PyPI Bioconda AUR Wheel Python Versions Python Implementations License Source Mirror GitHub issues Docs Changelog Downloads Preprint

🗺️ Overview

IGUA is a method for high-throughput content-agnostic identification of Gene Cluster Families (GCFs) from gene clusters of genomic and metagenomic origin. It performs three clustering iterations to perform GCF assignment:

  • Fragment mapping identification: Reduce the input sequence space by identifying which gene clusters are fragments of each other.
  • Nucleotide deduplication: Find similar gene clusters in genomic space, using linear clustering with lower sequence identity and coverage.
  • Protein representation: Compute a numerical representation of gene clusters in term of protein composition, using representatives from a protein sequence clustering, to identify more distant relatives not captured by the previous step.

Compared to similar methods such as BiG-SLiCE or BiG-SCAPE, IGUA does not use Pfam domains to represent gene cluster composition, using instead representatives from an unsupervised clustering. This allows IGUA to accurately account for proteins that may not be covered by Pfam, and avoids performing a costly annotation step. The resulting protein representatives can be later annotated indepently to transfer annotations to the GCFs.

🔧 Installing

Bioconda

IGUA and all of its dependencies are available via Bioconda and can be installed using e.g., conda or pixi:

  1. First, set up Bioconda with Pixi or Conda.

  2. Then, install IGUA using the appropriate method:

With conda:

$ conda install igua

With pixi:

$ pixi add igua

Apptainer, Docker, and Singularity

IGUA (and all of its dependencies) can be run using e.g., Docker, Apptainer, and Singularity, using images available here.

An example using Apptainer (using IGUA v0.1.0):

apptainer pull docker://quay.io/biocontainers/igua:0.1.0--py39h5b94c0b_0

pip

IGUA can be downloaded directly from PyPI, which hosts pre-compiled distributions for Linux, MacOS and Windows. Simply install with pip:

$ pip install igua

Note that you will need to install MMseqs2 yourself through other means.

💡 Running

📥 Inputs

The gene clusters to pass to IGUA must be in GenBank format, with gene annotations inside of CDS features. Several GenBank files can be passed to the same pipeline run.

$ igua -g clusters1.gbk -g clusters2.gbk ...

The GenBank locus identifier will be used as the name of each gene cluster. This may cause problems with gene clusters obtained with some tools, such as antiSMASH. If the input contains duplicate identifiers, the first gene cluster with a given identifier will be used, and a warning will be displayed.

📤 Outputs

The main output of IGUA is a TSV file which assigns a Gene Cluster Family to each gene cluster found in the input. The GCF identifiers are arbitrary, and the prefix can be changed with the --prefix flag. The table will also record the original file from which each record was obtained to facilitate resource management. The table is written to the filename given with the --output flag.

The sequences of the representative proteins extracted from each cluster can be saved to a FASTA file with the --features flag. These proteins are used for compositional representation of gene clusters, and can be used to transfer annotations to the GCF representatives. The final compositional matrix for each GCF representative, which can be useful for computing distances between GCFs, can be saved as an anndata sparse matrix to a filename given with the --compositions flag.

📝 Workspace

MMseqs needs a fast scratch space to work with intermediate files while running linear clustering. By default, this will use a temporary folder obtained with tempfile.TemporaryDirectory, which typically lies inside /tmp. To use a different folder, use the --workdir flag.

🫧 Clustering

By default, IGUA will use average linkage clustering and a relative distance threshold of 0.8, which corresponds to clusters inside a GCF having at most 20% of estimated difference at the amino-acid level. These two options can be changed with the --clustering-method and --clustering-distance flags.

Additionally, the precision of the distance matrix used for the clustering can be lowered to reduce memory usage, using single or half precision floating point numbers instead of the double precision used by default. Use the --clustering-precision flag to control numerical precision.

💭 Feedback

⚠️ Issue Tracker

Found a bug ? Have an enhancement request ? Head over to the GitHub issue tracker if you need to report or ask something. If you are filing in on a bug, please include as much information as you can about the issue, and try to recreate the same bug in a simple, easily reproducible situation.

🏗️ Contributing

Contributions are more than welcome! See CONTRIBUTING.md for more details.

📋 Changelog

This project adheres to Semantic Versioning and provides a changelog in the Keep a Changelog format.

⚖️ License

This library is provided under the GNU General Public License v3.0.

This project was developed by Martin Larralde during his PhD project at the European Molecular Biology Laboratory and the Leiden University Medical Center in the Zeller team.

Metadata

Release files for igua 0.2.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for igua 0.2.3
File Size Uploaded
igua-0.2.3.tar.gz 532.5 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for igua 0.2.3
File
igua-0.2.3-cp38-abi3-win_amd64.whl CPython 3.8 abi3 Windows x86-64 Details
igua-0.2.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 abi3 Linux glibc 2.17+ x86-64 Details
igua-0.2.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.8 abi3 Linux glibc 2.17+ ARM64 Details
igua-0.2.3-cp38-abi3-macosx_12_0_x86_64.whl CPython 3.8 abi3 macOS 12.0+ x86-64 Details
igua-0.2.3-cp38-abi3-macosx_11_0_arm64.whl CPython 3.8 abi3 macOS 11.0+ ARM64 Details

Total release size: 2.5 MB

Release files / igua-0.2.3.tar.gz

Download URL igua-0.2.3.tar.gz
Size 532.5 kB
Tags Source
SHA-256 checksum
How to use checksums
a9f0cf5fc18dd42fd4a3278b8d5e74a26473c5c24c082e425263b36436acb155
BLAKE2b-256 checksum
How to use checksums
ee052b59804eef8f17d5c21b6eff5a1498ca2beb0578cc3e290484cc657b4dc0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.

Transparency log

Release files / igua-0.2.3-cp38-abi3-win_amd64.whl

Download URL igua-0.2.3-cp38-abi3-win_amd64.whl
Size 288.2 kB
Tags CPython 3.8 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
ea42dd6e77141169425b4b95d9a1a7a13687efaf978671d11fabcfc7c9c6550b
BLAKE2b-256 checksum
How to use checksums
e5f624aa14f680c4758d41c25ce1adfe977cc2bf07ecfa9abd941327b2982368
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.

Transparency log

Release files / igua-0.2.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL igua-0.2.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 452.7 kB
Tags CPython 3.8 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
dd31eb211bf354decd01e944a59ec40e9a0618d4c899b62f1da01710545a1ead
BLAKE2b-256 checksum
How to use checksums
075a98bd84bb41397557d1a0bfd56cdd64c16cbcf4b73e7d4e2054da70e7285d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.

Transparency log

Release files / igua-0.2.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL igua-0.2.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 433.3 kB
Tags CPython 3.8 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
96ee11944ac312eddac71cd31ad235484f7a65f23111243ab2def1ebf3cefae0
BLAKE2b-256 checksum
How to use checksums
0a71732815de641dd1b02843d592e2cb0a517fad2cf0d6a4f570e22c430e049f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.

Transparency log

Release files / igua-0.2.3-cp38-abi3-macosx_12_0_x86_64.whl

Download URL igua-0.2.3-cp38-abi3-macosx_12_0_x86_64.whl
Size 404.3 kB
Tags CPython 3.8 abi3 macOS 12.0+ x86-64
SHA-256 checksum
How to use checksums
197861a2b749e29ae11c02925d7419055b40d3531b5022beba468fbd80b8ba9e
BLAKE2b-256 checksum
How to use checksums
b14d67d7e159ca35f61ddfbcc971333abe8d751901d46efb5ffc7fb5285bd676
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.

Transparency log

Release files / igua-0.2.3-cp38-abi3-macosx_11_0_arm64.whl

Download URL igua-0.2.3-cp38-abi3-macosx_11_0_arm64.whl
Size 380.4 kB
Tags CPython 3.8 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
05740e7c59f13acfe3515a7d262e1c8d6831ca134ffcf7744f96035c77231b99
BLAKE2b-256 checksum
How to use checksums
7077d6e2159ad5812ff8d16b14e22f9e46ff7ef75ab04b47923c54595f77d46f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.3 This release

6 release files

0.2.2

6 release files

0.2.1

6 release files

0.2.0

6 release files

0.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page