Skip to main content

Feature extraction and analysis toolkit for antisense oligonucleotide design.

Project description

ASOdesigner

ASOdesigner provides feature extraction utilities that support the design of antisense oligonucleotides (ASOs). The package bundles folding, accessibility, and sequence analysis helpers that were originally created for the TAU-Israel 2025 iGEM project.

Installation

You can install the library directly from PyPI once it is published:

pip install asodesigner

For local development and experimentation inside this repository, install the package in editable mode together with its runtime dependencies:

pip install -r requirements.txt

Usage

Functions are organised by module. For example, to compute a few sequence-derived features:

from asodesigner.features import seq_features

gc = seq_features.get_gc_content("ATGGCC")

Refer to the individual module docstrings for detailed behaviour and expected inputs.

Development Workflow

  1. Update or add functionality under src/asodesigner/.
  2. Keep imports relative within the package (for example, use from .util import helper).
  3. Run python -m compileall src/asodesigner or your preferred test suite to make sure the code still imports correctly.

Genome Cache

asodesigner.genome.get_hg38_genome_path() downloads hg38 into cache/genomes/hg38 when the file is first requested and returns the local FASTA path. Set ASODESIGNER_HG38_PATH if you already have a FASTA on disk, or ASODESIGNER_HG38_URL to use a different mirror.

Docker Compose Workflow

docker-compose.yml keeps the genome in a named volume so large files stay out of the repository. Start the stack with the default curl download:

docker compose up

Switch to the simple Python downloader by setting GENOME_FETCH_METHOD=python. Both services mount the genome-cache volume, so subsequent runs reuse the same FASTA file.

Building and Publishing to PyPI

The project uses a modern pyproject.toml driven build. To prepare a release:

  1. Choose a version – bump the version field in pyproject.toml following semantic versioning.
  2. Build the artifacts:
    python -m build
    
  3. Inspect the build – verify the generated wheel and source distribution under dist/.
  4. Upload to PyPI (or TestPyPI first) using twine:
    python -m twine upload dist/*
    

Remember that publishing requires a PyPI account and API token. For TestPyPI, swap the repository URL accordingly.

License

The code is released under the Creative Commons Attribution 4.0 International License (CC BY 4.0). See LICENSE for full details.

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-0.1.4.tar.gz (83.1 kB view details)

Uploaded Source

Built Distribution

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

asodesigner-0.1.4-py3-none-any.whl (92.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for asodesigner-0.1.4.tar.gz
Algorithm Hash digest
SHA256 886f928fa97d9025edbb21d04929c5ea0b475c9ee0794ba0ddf17b051be525a1
MD5 37f3840a3e2873bb30334ac71c46e057
BLAKE2b-256 11020204c976159d165503442deea57f452bfbb1bfc42a6d1ef09d134f08b538

See more details on using hashes here.

File details

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

File metadata

  • Download URL: asodesigner-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 92.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-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 9abdc1a718890e0a3c306446bb3d5db5702f3054185c861699af3058b2421445
MD5 a3aca3661b583ca13bc126d2efeda312
BLAKE2b-256 25e2c674d83991d63081a497cecb044c9d6fad27e2b97e1095683d55e46de590

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