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 import seq_features

enc = seq_features.compute_ENC("ATGGCCATTGTAATGGGCCGCTGAAAGGGTGCCCGATAG")
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.2.tar.gz (67.6 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.2-py3-none-any.whl (73.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: asodesigner-0.1.2.tar.gz
  • Upload date:
  • Size: 67.6 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.2.tar.gz
Algorithm Hash digest
SHA256 791d2d320d69acd62fc9abdf15aa85f1a67c64e9ab4e4152f93801b4b6ce6746
MD5 504f277d00ec7b20bd50eacfd15ee6fe
BLAKE2b-256 5108e3dfd388c2fafbc1de3efc22232b902414a66a8a49db95b5656f6de23dbc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: asodesigner-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 73.3 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 90e28824f0a80ed3d6150275fde93d2b5deabeb0272e8f35319ed6d6a3f64971
MD5 59eb4e75da8938c00de58c02bc9789ed
BLAKE2b-256 a817d689cb982bb89abcc8250c97aaa2822a243239efe3792c8567d09652471e

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