Skip to main content

Feature extraction and analysis toolkit for antisense oligonucleotide design.

Project description

ASODesigner

Python Status License

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

The library is only supported for Linux, and via conda.

There are some dependencies:

conda install -c bioconda samtools==1.20
conda install -c bioconda bowtie==1.3.1
conda install -c bioconda seqkit

To install the library, run:

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

# Validates and downloads if necessary the needed files
ensure_assets()

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:

Note: The process can be slow (30+ minutes) due to folding modeling and feature computation.

from asodesigner.aso_generator import design_asos

# Retrieve the top 3 MOE + LNA designs for DDX11L1
candidates = design_asos(
    organismName="human",
    geneName="DDX11L1",
    geneData=None,
    top_k=3,
    includeFeatureBreakdown=False,
)

print(candidates[["Sequence", "mod_pattern"]])
  • Set geneData to 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

  1. Update or add functionality under src/asodesigner/.
  2. Keep imports relative within the package (for example, from .util import helper).
  3. Optionally run python -m compileall src/asodesigner to 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 inside add_features_for_output or 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.py and related utilities. Enhance these modules when new workflows require additional helpers.
  • Data workflows – Reference datasets and caches under src/data/ pair with the code in src/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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

asodesigner-1.1.8.tar.gz (113.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

asodesigner-1.1.8-py3-none-any.whl (121.6 kB view details)

Uploaded Python 3

File details

Details for the file asodesigner-1.1.8.tar.gz.

File metadata

  • Download URL: asodesigner-1.1.8.tar.gz
  • Upload date:
  • Size: 113.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.0

File hashes

Hashes for asodesigner-1.1.8.tar.gz
Algorithm Hash digest
SHA256 6a5971ea5a8efc0f5aaf30c9fa9c1cbc076a3619bbd0a98313b1b0d1bc148ae9
MD5 94ea0a21703221c3ef5f92278231073c
BLAKE2b-256 6def4fdeaeef53a789a789e2e437b318270c336fd5b6a397a245d15fae12522d

See more details on using hashes here.

File details

Details for the file asodesigner-1.1.8-py3-none-any.whl.

File metadata

  • Download URL: asodesigner-1.1.8-py3-none-any.whl
  • Upload date:
  • Size: 121.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.0

File hashes

Hashes for asodesigner-1.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 7785ede1a16337b4920e4c9c67000db465ffb3bed184a270b3da7eadac8d61cc
MD5 7fa73d5b29eeb0b79e4506a227b5a84f
BLAKE2b-256 c9f052e405884103d6541720a26e71c4b9c0a8123344cf01090ae5b128aefc59

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page