Aggregation-Guided Generation of REgion-Specific Substitution ORiented mutations
Project description
AGGRESSOR
Aggregation-Guided Generation of REgion-specific Substitution-ORiented mutations.
AGGRESSOR performs rule-based in silico mutagenesis of protein sequences, targeting aggregation-prone regions (APRs) and proposing biologically grounded substitutions — including automatic, geometry-aware gatekeeper placement at APR boundaries.
It implements four physicochemical APR rules (hydrophobic-aliphatic, aromatic, amide, hydrophobic-aromatic adjacency), merges overlapping clusters via Union-Find into multi-rule convergence hotspots, classifies every mutation by structural context (BETA_CORE / GATEKEEPER / BOUNDARY / FLANKING / DIRECT / INSERTION), and generates single and multi-point variants.
References: Rousseau et al., J Mol Biol 2006 (gatekeeper hypothesis); Beerten et al., FEBS Lett 2012 (APR boundary effects); Tartaglia et al., J Mol Biol 2008 (aggregation propensity scale).
Installation
# From source (editable, for development)
pip install -e .[dev]
# From a checkout / wheel
pip install .
# From git
pip install "git+https://github.com/your-org/aggressor.git"
# From bioconda (once published)
conda install -c bioconda -c conda-forge aggressor-mutagenesis
Pure standard library — no runtime dependencies. Python >= 3.10.
Usage
# Rule-based mutagenesis across a region
aggressor protein.fasta --regions 55:135
# Aggregation analysis only (no mutations)
aggressor protein.fasta --regions all --agg-only
# Restrict to specific rules
aggressor protein.fasta --regions 10:30 --rules hydrophobic_aliphatic aromatic
# Double and triple mutations, parallelised
aggressor protein.fasta --regions 10:30 --multi-mutations 2 3 --threads 4
# Cap gatekeepers per APR for a synthesis budget (otherwise automatic)
aggressor protein.fasta --regions 55:135 --max-gatekeepers-per-apr 1
Also available as a module and a library:
python -m aggressor protein.fasta --regions 55:135
from aggressor import mutate_sequence, analyze_region
analysis = analyze_region(seq, start=55, stop=135)
mutations, region_analyses = mutate_sequence(
seq, positions=[], mutations=["P", "G", "D", "K"], regions=["55:135"],
)
Gatekeeper design philosophy
The number of effective gatekeeper slots is a structural property of the
APR (its flanks), not a free integer. AGGRESSOR therefore selects gatekeeper
positions automatically from APR geometry by default. --max-gatekeepers-per-apr
is an optional budget cap only: when set, boundary slots are ranked by their
predicted reduction in intrinsic aggregation propensity (Tartaglia scale) and
slots already occupied by a gatekeeper residue are skipped.
Package layout
src/aggressor/
├── core/ # config constants + data models (Cluster, MutationType, ...)
├── rules/ # rule evaluators + registry
├── analysis/ # Union-Find clustering, region analysis, gatekeeper selection
├── mutagenesis/ # single- and multi-point mutation engine
├── io/ # FASTA read/write + region parsing (single source of truth)
└── cli/ # argument parser + application entry point
Development
pip install -e .[dev]
pytest # run the test suite
ruff check src tests # lint
mkdocs serve # preview docs at http://127.0.0.1:8000
License
MIT — see LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aggressor_mutagenesis-0.2.0.tar.gz.
File metadata
- Download URL: aggressor_mutagenesis-0.2.0.tar.gz
- Upload date:
- Size: 45.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7d84077422e05e9c38687ea8c6012b63f14326d04ce36f85d8fd7d64450ab9cb
|
|
| MD5 |
0e2e105f79402e43889b6792c5167767
|
|
| BLAKE2b-256 |
e863ad2f6f8d688ce7ca1b32fc1c111353212d3e90b9c03f8962cff60c0056cd
|
File details
Details for the file aggressor_mutagenesis-0.2.0-py3-none-any.whl.
File metadata
- Download URL: aggressor_mutagenesis-0.2.0-py3-none-any.whl
- Upload date:
- Size: 49.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
918417b14801821b84a623fd461d2ddf8ab6940aff07aa1e416a0d8a201aaa61
|
|
| MD5 |
fea9f8f1646e9e1d9c645da065d991a8
|
|
| BLAKE2b-256 |
fa49122ea83097ffeefd64bbe796a666a1cba36388f5844c60ec131536e33ff5
|