Feature extraction and analysis toolkit for antisense oligonucleotide design.
Project description
ASODesigner
Feature extraction and analysis utilities for antisense oligonucleotide (ASO) design, built for the TAU-Israel 2025 iGEM project.
Features
- MOE and LNA candidate ranking pipeline with optional feature breakdowns and off-target scoring.
- Modular feature calculators covering GC metrics, hybridization, RNA accessibility, folding, and toxicity heuristics.
- One-step asset bootstrap that downloads the human GFF database and Bowtie index structure required by the pipeline.
- Ready to embed in FastAPI backends or standalone discovery notebooks.
Installation
From PyPI
pip install asodesigner
Required Assets
The generator expects the human annotation database and Bowtie index structure to exist under /tmp/.cache/asodesigner. Download them once via:
from asodesigner.download_assets import ensure_assets, ensure_bowtie
# Validates and downloads if necessary the needed files
ensure_assets()
# Validates and downloads bowtie if it is not in PATH
ensure_bowtie()
The helper skips files that already exist and only downloads missing assets.
Quick Start
Generate top ASO candidates for a human gene, complete with feature annotations:
from asodesigner.aso_generator import design_asos
# Retrieve the top 3 MOE + LNA designs for MALAT1
candidates = design_asos(
organismName="human",
geneName="MALAT1",
geneData=None,
top_k=3,
includeFeatureBreakdown=True,
)
print(candidates[["Sequence", "mod_pattern"]])
- Set
geneDatato a custom transcript sequence to work outside the reference genome. - With
includeFeatureBreakdown=True, additional columns (e.g.,exp_ps_hybr,gc_content,at_skew,off_target,on_target) are attached to each row. - For lower-level feature utilities, explore modules under
src/asodesigner/.
Development Workflow
- Update or add functionality under
src/asodesigner/. - Keep imports relative within the package (for example,
from .util import helper). - Run
pytest(orpython -m pytest) to execute the available unit tests. - Optionally run
python -m compileall src/asodesignerto double-check importability before packaging.
Extending the Project
- Feature metrics – Implement additional sequence, structural, or accessibility metrics under
src/asodesigner/features/. Many modules (e.g.,seq_features.py,hybridization.py) expose template-style functions you can mirror. - Pipeline enrichment – The cross-chemistry ASO pipeline lives in
src/asodesigner/aso_generator.py. Add new feature columns insideadd_features_for_outputor extend the returned DataFrame schema to expose your metrics downstream. - Constants and configuration – Global paths and dataset references live in
src/asodesigner/consts.py. Update these when introducing new organism builds or experimental assets so the rest of the codebase can locate them. - Utility helpers – Shared logic (reverse complement, translation tables, etc.) sits under
src/asodesigner/util.pyand related utilities. Enhance these modules when new workflows require additional helpers. - Data workflows – Reference datasets and caches under
src/data/pair with the code insrc/asodesigner. When extending to other organisms or assemblies, follow the existing directory layout so asset downloaders and consts remain consistent.
Have improvements to share? Open an issue or PR—we welcome new metrics, pipeline enrichments, and broader organism support.
License
Released under an MIT-style license tailored for academic and research use. See LICENSE for the complete terms and instructions for commercial enquiries.
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 asodesigner-1.1.3.tar.gz.
File metadata
- Download URL: asodesigner-1.1.3.tar.gz
- Upload date:
- Size: 112.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d7f7277f557d345c13cc0fa0fefb29cabdff05f04798fedeb138cba8f1f6b68a
|
|
| MD5 |
5f3e4a37a97f42077cce2ef199a064b6
|
|
| BLAKE2b-256 |
f8d1e9f2e48aad264e8e31b2c013ad65495b8a13efec813cdeda31372d8feb26
|
File details
Details for the file asodesigner-1.1.3-py3-none-any.whl.
File metadata
- Download URL: asodesigner-1.1.3-py3-none-any.whl
- Upload date:
- Size: 121.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c8143af3ae6d512014941a7def7175d1a62fd3ed3d56bc7726c9ee27d6707461
|
|
| MD5 |
cee8fd7581456591457333f302915835
|
|
| BLAKE2b-256 |
f1ec722d51c674602f09f70f3acd24a39bf6bb5a8b129be1bc4c01805bdc27f8
|