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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

biors-0.47.7-cp39-abi3-win_amd64.whl (405.6 kB view details)

Uploaded CPython 3.9+Windows x86-64

biors-0.47.7-cp39-abi3-manylinux_2_34_x86_64.whl (583.9 kB view details)

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

biors-0.47.7-cp39-abi3-macosx_11_0_arm64.whl (521.9 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: biors-0.47.7-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 405.6 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.7-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 cb45f63f22ecbc8e4ee685145ea402c2c0618977d19534117c63bc010e083868
MD5 db53ec363e0b027d709c972c58b57433
BLAKE2b-256 0217fe74e0b2f9553503edbff63e46ab897ab4747867216d2e7fa25e4658e560

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for biors-0.47.7-cp39-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 9232a37e29413e03908129e37a7735847ba69c0753f73fefd4d2c410b144cd95
MD5 d921454797ab76f19aa744331d0a2880
BLAKE2b-256 e50d66f854d2356d3b79eecbfe8445b2cd42a97727ec2c7e58d69a1cb57e43a4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for biors-0.47.7-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d8cb5b307230e90ec7e47f711ee6645b83efeef011b3a637f8f27dd1dbb2f39c
MD5 1d4a3b9020d69df8f50c64917056db00
BLAKE2b-256 54aaffef54db9760036b130f66e58ac6bba9928e9857291d11721528671b56ae

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