Skip to main content

Python bindings for bio-rs core

Project description

biors-python

Python bindings for bio-rs via PyO3.

Installation

pip install biors

Requires Python 3.9+.

Quickstart

import json

import biors

fasta_text = (
    ">seq1\nACDEFGHIKLMNPQRSTVWY\n"
    ">seq2\nMKWVTFISLLFLFSSAYSRGVFRRDAHKSEVAHRFKDLGEENFKALVLIAFAQYLQQCP\n"
)

# Parse FASTA text
records = biors.parse_fasta_records(fasta_text)

# Validate
report = biors.validate_fasta_input(fasta_text)
rna_report = biors.validate_fasta_input_with_kind(">rna\nACGUN\n", "rna")
print(f"Valid records: {report.valid_records}/{report.records}")
for record in report.sequences:
    for issue in record.warnings:
        print(f"{record.id}: ambiguous residue {issue.residue} at {issue.position}")
    for issue in record.errors:
        print(f"{record.id}: invalid residue {issue.residue} at {issue.position}")

# Tokenize
tokenized = biors.tokenize_fasta_records(fasta_text)
for t in tokenized:
    print(t.id, t.alphabet, t.valid, t.tokens)
    for issue in t.warnings + t.errors:
        print(issue.residue, issue.position)

# Tokenize one in-memory sequence with a caller-provided ID
single = biors.tokenize_protein("ACDEFG", id="sample-001")
print(single.id, single.tokens)

# DNA/RNA use explicit tokenizer profiles.
dna = biors.tokenize_fasta_records(">dna\nACGT\n", profile="dna-iupac")
rna_workflow = biors.prepare_workflow_from_fasta(
    ">rna\nACGU\n",
    max_length=8,
    profile="rna-iupac",
)

# Build model input
model_input = biors.build_model_inputs_checked(
    tokenized,
    max_length=512,
    pad_token_id=0,
    padding="fixed_length",
)
for r in model_input.records:
    print(r.id, r.input_ids, r.attention_mask)

# End-to-end workflow
output = biors.prepare_workflow_from_fasta(
    fasta_text,
    max_length=512,
    pad_token_id=0,
    padding="fixed_length",
)
print(f"Model ready: {output.model_ready}")
print(output.report_json)

# Validate a package on disk, including artifact paths and checksums.
package_report = json.loads(
    biors.validate_package_manifest_file("./protein-package/manifest.json")
)
print(package_report["valid"])

validate_package_manifest(manifest_json) is field-only validation for an in-memory manifest. Use validate_package_manifest_artifacts(manifest_json, base_dir) or validate_package_manifest_file(manifest_path) when package files, checksums, and layout placement must be verified.

Errors raised by core parsing, model-input, and package helpers are BioRsError values with stable code, message, and optional location attributes, while still subclassing ValueError.

Development

Build locally with maturin:

cd packages/rust/biors-python
maturin develop
pytest

License

MIT OR Apache-2.0

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

biors-0.47.14.tar.gz (121.8 kB view details)

Uploaded Source

Built Distributions

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

biors-0.47.14-cp39-abi3-win_amd64.whl (445.8 kB view details)

Uploaded CPython 3.9+Windows x86-64

biors-0.47.14-cp39-abi3-manylinux_2_34_x86_64.whl (624.3 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.34+ x86-64

biors-0.47.14-cp39-abi3-macosx_11_0_arm64.whl (560.1 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

File details

Details for the file biors-0.47.14.tar.gz.

File metadata

  • Download URL: biors-0.47.14.tar.gz
  • Upload date:
  • Size: 121.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for biors-0.47.14.tar.gz
Algorithm Hash digest
SHA256 c3b42e565d33bb2406b94a1d666d3499e16950841916f8f70b8265afc5584050
MD5 176cf9475df3fd4d8a5f97aeeca202d9
BLAKE2b-256 ec4b4e6f1e1dd6f59a33054d671cae95e87713c3a7cb497382683a4788a6bf7d

See more details on using hashes here.

File details

Details for the file biors-0.47.14-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: biors-0.47.14-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 445.8 kB
  • Tags: CPython 3.9+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for biors-0.47.14-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 bd13723388b5e08bf6b0b5a4a96ecbf11683276aa8f2a8e34b9d30185e68f54e
MD5 cac611fdc4f6fea6e3aac483c2648e10
BLAKE2b-256 e9b0dca7253fb3029b5da58329a91c91470fc0b5be7873cf33d82142046cc234

See more details on using hashes here.

File details

Details for the file biors-0.47.14-cp39-abi3-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for biors-0.47.14-cp39-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 feeff234abaa64000143ae1e94a0f6012594076c971f763421253b23cd96286b
MD5 a57be0a511793ecaca095b391ffba6f6
BLAKE2b-256 d21e31d4ad33cf650d668682a57969eda3506953da66975d21d2e95f98f22bf2

See more details on using hashes here.

File details

Details for the file biors-0.47.14-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for biors-0.47.14-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2f4fdfff9f81b6d4fdb2dc88b8ec8c1b9aaee1a3afae50bd85b512a607791f6d
MD5 34c687a5e9bee06692806ca8aca45e4b
BLAKE2b-256 d25d89473a1f16d14aa1cd4c64d93e55507f0d4c0ae656df95a579d7cb8f51c6

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