Genome-wide origin scoring with DNABERT-2
Project description
ORILINX
ORILINX is a large language model built on DNABERT-2 to detect the location of replication origins across genomes.
Building from Source
For development or to use the latest unreleased version:
git clone --recursive https://github.com/Pfuderer/ORILINX.git
cd ORILINX
pip install -e .
orilinx fetch_models
This installs ORILINX in editable mode and creates a console script named orilinx that runs prediction. The fetch_models command downloads the required model weights from Hugging Face (~900 MB total) and only needs to be run once.
Usage
After installation, use the orilinx command to predict replication origins:
# Basic usage: analyse all chromosomes
orilinx --fasta_path genome.fa --output_dir results
# Analyse specific chromosomes only
orilinx --fasta_path genome.fa --output_dir results --sequence_names chr1,chr2,chr3
# Analyse a specific region (must be ≥2000 bp)
orilinx --fasta_path genome.fa --output_dir results --sequence_names chr8:1000000-5000000
# Also generate CSV output alongside bedGraph
orilinx --fasta_path genome.fa --output_dir results --output_csv
Required Arguments
--fasta_path PATH(required): Path to the reference FASTA file. An index file (.fai) must be present in the same directory. Create it with:samtools faidx genome.fa--output_dir PATH(required): Directory where results will be saved.
Additional Options
--sequence_names SEQUENCES(default: all): Which chromosomes or regions to analyse. Use comma-separated names (e.g.,chr1,chr2) or a comma-separated list of regions (e.g.,chr1:2000-6000).--output_csv: Generate CSV files in addition to bedGraph files.--stride INT(default: 1000): Stride in base pairs (bp) between consecutive windows.--score {logit,prob}(default: prob): Output score format (probability 0-1 or raw logit).--batch_size INT(default: 32): Number of windows per batch. Increase for faster analysis if memory allows; decrease if you hit CUDA out-of-memory.--num_workers INT(default: 8): Background processes for data loading. Set to 0 if experiencing issues.--max_N_frac FLOAT(default: 0.05): Skip regions with >5% unknown bases ("N"). Adjust tolerance as needed.--disable_flash: Use standard attention instead of flash attention (slower but compatible with more GPUs).--verbose: Show detailed runtime information (prints model paths, device and runtime settings).--no-progress: Hide progress bars.--doctor: Check that required model weights are present, then exit.
For a complete list of options, run: orilinx --help.
Examples
# Analyse human chromosome 8 with CSV output
orilinx --fasta_path hg38.fa --output_dir results --sequence_names chr8 --output_csv
# Analyse multiple chromosomes
orilinx --fasta_path hg38.fa --output_dir results --sequence_names chr1,chr2,chr3,chrX
# Analyse specific genomic region (1 Mb region on chr8)
orilinx --fasta_path hg38.fa --output_dir results --sequence_names chr8:10000000-11000000
# Larger batches for throughput (VRAM-dependent; reduce if you hit OOM)
orilinx --fasta_path hg38.fa --output_dir results --batch_size 64
# Verbose output and no progress bars (for CI/logging)
orilinx --fasta_path hg38.fa --output_dir results --verbose --no-progress
Documentation
Please see the documentation for detailed usage instructions, visualisation, and an example workflow.
Citation
Pfuderer PL, Berkemeier F, Nassar J, Crisp A, Jaworski JJ, Moore J, Sale JE, Boemo MA. A genome language model for mapping DNA replication origins. bioRxiv 2026. [DOI]
Questions and Bugs
It is under active development by the Boemo Group based in the Department of Pathology, University of Cambridge.
Should any bugs arise or if you have basic usage questions, please raise a GitHub issue. For more detailed discussions or collaborations, please Email Michael Boemo at mb915@cam.ac.uk.
Funding
The core of this work was funded by the Cancer Research UK Cambridge Centre.
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 Distribution
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 orilinx-1.0.1.tar.gz.
File metadata
- Download URL: orilinx-1.0.1.tar.gz
- Upload date:
- Size: 19.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
faf66a9dcb1eadafcc01c60434827e8320b5f30986af726b99e49ee1677fee5b
|
|
| MD5 |
fcc504464c20313d1c879abccd7f5b7e
|
|
| BLAKE2b-256 |
ee6cc1a3d7436a504630cbdcd387394f9d543fbbb6d8fdf9a96643397640c4d8
|
File details
Details for the file orilinx-1.0.1-py3-none-any.whl.
File metadata
- Download URL: orilinx-1.0.1-py3-none-any.whl
- Upload date:
- Size: 18.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b03532186844cf205e495ddeddfa5848f0cb5ee11d71fb8003ee32bfcccf180d
|
|
| MD5 |
a10a385d9838c21e6918201b36abeeba
|
|
| BLAKE2b-256 |
780ce8d378727efa0df7b152d4a9a3e36c77aa15b4a8443cf871a3c134856ddd
|