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)
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.12.tar.gz (114.4 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.12-cp39-abi3-win_amd64.whl (406.0 kB view details)

Uploaded CPython 3.9+Windows x86-64

biors-0.47.12-cp39-abi3-manylinux_2_34_x86_64.whl (584.1 kB view details)

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

biors-0.47.12-cp39-abi3-macosx_11_0_arm64.whl (522.1 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: biors-0.47.12.tar.gz
  • Upload date:
  • Size: 114.4 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.12.tar.gz
Algorithm Hash digest
SHA256 f7ab932aa32775272e7427495455fbfa82162948e2529e724581353d2823e97c
MD5 7bb60e577a9cc533c31c8cbe50b54325
BLAKE2b-256 1ead44ab3395d33f0ee464e552beee49b56f6cffb7f1647dfaee1d3842abc279

See more details on using hashes here.

File details

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

File metadata

  • Download URL: biors-0.47.12-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 406.0 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.12-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 a04cb64256c0e6ad79216f82117026788f77ec8e8345242717ddb2457adf615c
MD5 b088abce89eaa58869aa8ab8066e6cec
BLAKE2b-256 df494c79c1230d4de9d31fce56634f5b70ee5968417c0f7793ee2c18f9c3a665

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for biors-0.47.12-cp39-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 f2c634c05d804f96ab1f4338bb25607f664fbdc4078fd6a3c6320cc33cd90962
MD5 c016ccfc41d295096561a685445ac26b
BLAKE2b-256 391da084529b70a7274b1c70b892d51fd18e9c8a9bda597886671354c83af878

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for biors-0.47.12-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b287bd7bf0344cef59ff0a6272c1524d3a99fdb3f361c00ac51df4bb1f5dadff
MD5 fc0f7fc57ab47be52c1c644da23d8f23
BLAKE2b-256 cdcbe9f1559abca3d3f876b1e4f358b7380d4c384e0f014d3a22bf6db37849c3

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