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.13.tar.gz (120.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.13-cp39-abi3-win_amd64.whl (445.4 kB view details)

Uploaded CPython 3.9+Windows x86-64

biors-0.47.13-cp39-abi3-manylinux_2_34_x86_64.whl (624.4 kB view details)

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

biors-0.47.13-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.13.tar.gz.

File metadata

  • Download URL: biors-0.47.13.tar.gz
  • Upload date:
  • Size: 120.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.13.tar.gz
Algorithm Hash digest
SHA256 94433fd7b4dd9b633d73d6af12d10012f792e5b41af65d2d571eeb45bb7c5428
MD5 5c915e420b8d99086eea6181d5ffc441
BLAKE2b-256 4d3b90f0659fc740251cded0268fe33433419f6946e4463d20c14349e9d49887

See more details on using hashes here.

File details

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

File metadata

  • Download URL: biors-0.47.13-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 445.4 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.13-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 7043ef277221d09917ebb6f920daededec1e2b3f1c29ddee28b342fae5b15ae0
MD5 1974e1cf800b2234db616e6924c3b7ea
BLAKE2b-256 6dc92cd933b84f1ebf334315d5c6ef91a7f90ebd56decca259372098f0df4af6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for biors-0.47.13-cp39-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 62939b4c06b88662494667e9f447869ea19a8bce80807f2de557379335c0a6f0
MD5 1b55a091d0c8fc670fd50535c09ed484
BLAKE2b-256 6b21e7a6f8826bddc0059bc37e872eb0fb58d2a260eafcdc39c12edba414038c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for biors-0.47.13-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fd7db593f890cb433ca3a44dadcdd5111fc08339c876c3da5b1b9e7e3013997e
MD5 7c156d0d87cc2123cac508318e403ef1
BLAKE2b-256 a194737b58c6eb7b4ee74429dd229040ac4f8f8852c141ae67567f664c8c1a86

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