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.9.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.9-cp39-abi3-win_amd64.whl (405.7 kB view details)

Uploaded CPython 3.9+Windows x86-64

biors-0.47.9-cp39-abi3-manylinux_2_34_x86_64.whl (584.3 kB view details)

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

biors-0.47.9-cp39-abi3-macosx_11_0_arm64.whl (522.0 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: biors-0.47.9.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.9.tar.gz
Algorithm Hash digest
SHA256 b0cd695dc473ec2557bc6d9dce98b3c9425ff74dc991e04189eb92399d488a69
MD5 ff88e4d8ab87f76a17db4e1adb75d0e5
BLAKE2b-256 ea942e35a5165e7d309b9cb44935cfbcdbf51c176fed95d1a65d6418a66d7666

See more details on using hashes here.

File details

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

File metadata

  • Download URL: biors-0.47.9-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 405.7 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.9-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 ae6aafb117bf7927e966f50d2e3e6df13b313c2db2fb60022b1e5e773bfe1a20
MD5 5a43ff4c7eb88ead835e45a60495150f
BLAKE2b-256 f79d2c91981f0bc809075d69bb5eea11978dfc3733627dc7696bf1466065ff6f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for biors-0.47.9-cp39-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 1c643db24aac4003ba1f7792b68abbcb463b302dcd7fc3ae25d29ffae814cb67
MD5 3ee984dd4e0e0ea174cea85b966ceff9
BLAKE2b-256 4d92456651222db4e4efb00cacc534b5652ca63a88968b3b25c02969832e6fd5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for biors-0.47.9-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3304590c7d29bc0729170419356772486caf1857b96ca96660750cb8846e3d82
MD5 20105a3af6411acbd49267f818d2daf4
BLAKE2b-256 883fc445cc8f19715307bde6033c58494b10786ddbc4a2f6e0e0475b34035684

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