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.5.tar.gz (84.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.5-py3-none-any.whl (94.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: asodesigner-0.1.5.tar.gz
  • Upload date:
  • Size: 84.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.5.tar.gz
Algorithm Hash digest
SHA256 89d9fa29709470b91df5098fb1507614a93692ff12774a3cf3bf0d2ded4e0a6d
MD5 cec1093d0604a979945d2efc0df0e859
BLAKE2b-256 941cd994a693913842fc3ecc6d9dd7ba92982b57fec5ad778204b52c98028f95

See more details on using hashes here.

File details

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

File metadata

  • Download URL: asodesigner-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 94.4 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 d96efafd92fc1619a16550da9b097f536f1606cb5a2dcd464e03c64f1beca051
MD5 148986a1645b7cedff1298d5b68e921d
BLAKE2b-256 3d2191d22de8a1470b80549a92558edd75b46fd970cdb72b3caede65c262143f

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