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

Uploaded CPython 3.9+Windows x86-64

biors-0.47.11-cp39-abi3-manylinux_2_34_x86_64.whl (584.0 kB view details)

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

biors-0.47.11-cp39-abi3-macosx_11_0_arm64.whl (521.8 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: biors-0.47.11.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.11.tar.gz
Algorithm Hash digest
SHA256 cb14b84f370aaf9be91fa3de300ab82ff62184eb29c0fb25cb0e45ab99941e52
MD5 c121abe2ea7e5cecd26b3d372875955e
BLAKE2b-256 24314c15d1a492b05e30b2863e0cfdf158fe175a76250194062e3f62f7123130

See more details on using hashes here.

File details

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

File metadata

  • Download URL: biors-0.47.11-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.11-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 23bccfe27a9ab3e0d72f236822087306a75f8f504bf333b463dbb3291fd7d859
MD5 8b342e72f5bb7ac7ed4cbb26188fc04f
BLAKE2b-256 5d6bb1d9a9b4649bc0c19b9a52f481b756c1ec70c0f6fe1b23a7fe5e88e67b5e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for biors-0.47.11-cp39-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 9281e22859f92c964db8f41d26d622eb663078bc3b011e399b22c251823a0188
MD5 dac96d6d163056b6385ec79d53da4d6d
BLAKE2b-256 f0b3e1456ca352722b640ba81ef4ed071ec3cc88f7336b6b16fd1b52147dde31

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for biors-0.47.11-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 be9043098e0d70c98274c1e28f3cf9ee569344558c32e815873e15229c781f6b
MD5 b4c5e3d7a29634061ec2c81a9b23e052
BLAKE2b-256 f0c549408120ae27311a35fd6f5f45fe1cf89b82ea1be8ca2b1f4c7831d94444

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