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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cb14b84f370aaf9be91fa3de300ab82ff62184eb29c0fb25cb0e45ab99941e52
|
|
| MD5 |
c121abe2ea7e5cecd26b3d372875955e
|
|
| BLAKE2b-256 |
24314c15d1a492b05e30b2863e0cfdf158fe175a76250194062e3f62f7123130
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
23bccfe27a9ab3e0d72f236822087306a75f8f504bf333b463dbb3291fd7d859
|
|
| MD5 |
8b342e72f5bb7ac7ed4cbb26188fc04f
|
|
| BLAKE2b-256 |
5d6bb1d9a9b4649bc0c19b9a52f481b756c1ec70c0f6fe1b23a7fe5e88e67b5e
|
File details
Details for the file biors-0.47.11-cp39-abi3-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: biors-0.47.11-cp39-abi3-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 584.0 kB
- Tags: CPython 3.9+, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9281e22859f92c964db8f41d26d622eb663078bc3b011e399b22c251823a0188
|
|
| MD5 |
dac96d6d163056b6385ec79d53da4d6d
|
|
| BLAKE2b-256 |
f0b3e1456ca352722b640ba81ef4ed071ec3cc88f7336b6b16fd1b52147dde31
|
File details
Details for the file biors-0.47.11-cp39-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: biors-0.47.11-cp39-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 521.8 kB
- Tags: CPython 3.9+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be9043098e0d70c98274c1e28f3cf9ee569344558c32e815873e15229c781f6b
|
|
| MD5 |
b4c5e3d7a29634061ec2c81a9b23e052
|
|
| BLAKE2b-256 |
f0c549408120ae27311a35fd6f5f45fe1cf89b82ea1be8ca2b1f4c7831d94444
|