asodesigner


Nameasodesigner JSON
Version 1.1.8 PyPI version JSON
download
home_pageNone
SummaryFeature extraction and analysis toolkit for antisense oligonucleotide design.
upload_time2025-10-12 10:32:46
maintainerNone
docs_urlNone
authorTAU-Israel iGEM Team
requires_python<3.13,>=3.9
licenseNone
keywords antisense oligonucleotide bioinformatics igem
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # ASODesigner

![Python](https://img.shields.io/badge/python-3.9--3.12-blue.svg)
![Status](https://img.shields.io/badge/status-experimental-orange.svg)
![License](https://img.shields.io/badge/license-CC%20BY%204.0-lightgrey.svg)

> 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:

```bash
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:
```bash
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:

```python
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.

```python
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.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "asodesigner",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.13,>=3.9",
    "maintainer_email": null,
    "keywords": "antisense, oligonucleotide, bioinformatics, igem",
    "author": "TAU-Israel iGEM Team",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/6d/ef/4fdeaeef53a789a789e2e437b318270c336fd5b6a397a245d15fae12522d/asodesigner-1.1.8.tar.gz",
    "platform": null,
    "description": "# ASODesigner\n\n![Python](https://img.shields.io/badge/python-3.9--3.12-blue.svg)\n![Status](https://img.shields.io/badge/status-experimental-orange.svg)\n![License](https://img.shields.io/badge/license-CC%20BY%204.0-lightgrey.svg)\n\n> Feature extraction and analysis utilities for antisense oligonucleotide (ASO) design, built for the TAU-Israel 2025 iGEM project.\n\n## Features\n\n- MOE and LNA candidate ranking pipeline with optional feature breakdowns and off-target scoring.\n- Modular feature calculators covering GC metrics, hybridization, RNA accessibility, folding, and toxicity heuristics.\n- One-step asset bootstrap that downloads the human GFF database and Bowtie index structure required by the pipeline.\n- Ready to embed in FastAPI backends or standalone discovery notebooks.\n\n## Installation\n\n### From PyPI\nThe library is only supported for Linux, and via conda.\n\nThere are some dependencies:\n\n```bash\nconda install -c bioconda samtools==1.20\nconda install -c bioconda bowtie==1.3.1\nconda install -c bioconda seqkit\n```\n\nTo install the library, run:\n```bash\npip install asodesigner\n```\n\n## Required Assets\n\nThe generator expects the human annotation database and Bowtie index structure to exist under `/tmp/.cache/asodesigner`. Download them once via:\n\n```python\nfrom asodesigner.download_assets import ensure_assets\n\n# Validates and downloads if necessary the needed files\nensure_assets()\n```\n\nThe helper skips files that already exist and only downloads missing assets.\n\n## Quick Start\n\nGenerate top ASO candidates for a human gene, complete with feature annotations:\n\n> **Note:** The process can be **slow** (30+ minutes) due to folding modeling and feature computation.\n\n```python\nfrom asodesigner.aso_generator import design_asos\n\n# Retrieve the top 3 MOE + LNA designs for DDX11L1\ncandidates = design_asos(\n    organismName=\"human\",\n    geneName=\"DDX11L1\",\n    geneData=None,\n    top_k=3,\n    includeFeatureBreakdown=False,\n)\n\nprint(candidates[[\"Sequence\", \"mod_pattern\"]])\n```\n\n- Set `geneData` to a custom transcript sequence to work outside the reference genome.\n- With `includeFeatureBreakdown=True`, additional columns (e.g., `exp_ps_hybr`, `gc_content`, `at_skew`, `off_target`, `on_target`) are attached to each row.\n- For lower-level feature utilities, explore modules under `src/asodesigner/`.\n\n\n## Development Workflow\n\n1. Update or add functionality under `src/asodesigner/`.\n2. Keep imports relative within the package (for example, `from .util import helper`).\n3. Optionally run `python -m compileall src/asodesigner` to double-check importability before packaging.\n\n## Extending the Project\n\n- **Feature metrics** \u2013 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. \n- **Pipeline enrichment** \u2013 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.\n- **Constants and configuration** \u2013 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.\n- **Utility helpers** \u2013 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.\n- **Data workflows** \u2013 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.\n\nHave improvements to share? Open an issue or PR\u2014we welcome new metrics, pipeline enrichments, and broader organism support.\n\n## License\n\nReleased under an MIT-style license tailored for academic and research use. See `LICENSE` for the complete terms and instructions for commercial enquiries.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Feature extraction and analysis toolkit for antisense oligonucleotide design.",
    "version": "1.1.8",
    "project_urls": {
        "Homepage": "https://2025.igem.wiki/tau-israel/home"
    },
    "split_keywords": [
        "antisense",
        " oligonucleotide",
        " bioinformatics",
        " igem"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c9f052e405884103d6541720a26e71c4b9c0a8123344cf01090ae5b128aefc59",
                "md5": "7fa73d5b29eeb0b79e4506a227b5a84f",
                "sha256": "7785ede1a16337b4920e4c9c67000db465ffb3bed184a270b3da7eadac8d61cc"
            },
            "downloads": -1,
            "filename": "asodesigner-1.1.8-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7fa73d5b29eeb0b79e4506a227b5a84f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.13,>=3.9",
            "size": 121586,
            "upload_time": "2025-10-12T10:32:44",
            "upload_time_iso_8601": "2025-10-12T10:32:44.174660Z",
            "url": "https://files.pythonhosted.org/packages/c9/f0/52e405884103d6541720a26e71c4b9c0a8123344cf01090ae5b128aefc59/asodesigner-1.1.8-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6def4fdeaeef53a789a789e2e437b318270c336fd5b6a397a245d15fae12522d",
                "md5": "94ea0a21703221c3ef5f92278231073c",
                "sha256": "6a5971ea5a8efc0f5aaf30c9fa9c1cbc076a3619bbd0a98313b1b0d1bc148ae9"
            },
            "downloads": -1,
            "filename": "asodesigner-1.1.8.tar.gz",
            "has_sig": false,
            "md5_digest": "94ea0a21703221c3ef5f92278231073c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.13,>=3.9",
            "size": 113224,
            "upload_time": "2025-10-12T10:32:46",
            "upload_time_iso_8601": "2025-10-12T10:32:46.018336Z",
            "url": "https://files.pythonhosted.org/packages/6d/ef/4fdeaeef53a789a789e2e437b318270c336fd5b6a397a245d15fae12522d/asodesigner-1.1.8.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-12 10:32:46",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "asodesigner"
}
        
Elapsed time: 3.14852s