This release is a pre-release and may not be stable for production use.
🌙 RATIH - Lunar Transcriptome Assembly
RATIH (Robust Assembler for Transcriptomes with Integrated Hashing) is a modern, high-performance de novo transcriptome assembler.
FYI: RATIH named after the Javanese-Balinese Hindu goddess of the moon, symbol of love and beauty.
🌟 Features
- 🚀 10-100x faster than Trinity
- 📦 Zero R dependencies - pure Python statistical stack
- 🔧 One-line install:
pip install ratih - 🎯 Drop-in replacement for Trinity + Trinotate
- 📊 Interactive web dashboard
- 🧬 Complete annotation pipeline (BLAST, PFAM, SignalP, TmHMM, EggNOG)
- 📈 Differential expression (edgeR, DESeq2, limma)
- 🎨 Lunar phases: Crescent → Gibbous → FullMoon
📦 Installation
# Basic install
pip install ratih
# With full features
pip install ratih[full]
# With web dashboard
pip install ratih[web]
# Development install
git clone https://gitlab.com/biomikalab/ratih
cd ratih
make develop
🚀 Quick Start
Command Line
# Full pipeline
ratih assemble -1 reads_R1.fastq -2 reads_R2.fastq -o results/
# Phase by phase
ratih crescent assemble -r reads.fasta
ratih gibbous assemble -c crescent_out/contigs.fa -r reads.fasta
ratih fullmoon assemble -g gibbous_out/graph.txt -r gibbous_out/reads.txt
# Annotation
ratih annotate -t transcripts.fa -b blast.out -o annotation/
# Differential expression
ratih analyze de -c counts.csv -s samples.csv -m edgeR
# Launch web dashboard
ratih web --port 8080
Python API
from ratih import Pipeline, LunarAssembler, TrinotateAnnotator
# Complete pipeline
pipeline = Pipeline(
left_reads="sample_R1.fastq",
right_reads="sample_R2.fastq",
output_dir="my_assembly"
)
results = pipeline.run()
print(f"Assembled {len(results.transcripts)} transcripts")
print(f"N50: {results.stats.n50}")
# Or phase by phase
assembler = LunarAssembler(kmer_size=25, cpu=16)
transcripts = assembler.assemble("reads_R1.fastq", "reads_R2.fastq")
# Annotate
annotator = TrinotateAnnotator(transcripts_fasta="assembly.fa")
annotator.run()
📊 Performance
| Metric | Trinity | RATIH | Improvement |
|---|---|---|---|
| Assembly time (100M reads) | 8-12 hours | 1-2 hours | 6-8x faster |
| Memory usage | 32-64 GB | 4-8 GB | 4-8x less |
| Installation | Complex (Docker) | pip install | Simpler! |
| R dependencies | Required | None | Zero |
🌙 Assembly by Lunar Phases
Following example of Trinity (but of course, improved), the assembly follows the lunar cycle:
🌙 Crescent - Initial contig assembly (replaces Inchworm)
🌖 Gibbous - De Bruijn graph construction (replaces Chrysalis)
🌕 FullMoon - Final transcript extraction (replaces Butterfly)
📚 Documentation
Full documentation is available at ratih.readthedocs.io
🤝 Contributing
Contributions are welcome! Please see CONTRIBUTING.md
📄 License
RATIH is dual-licensed under:
- BSD 3-Clause License - Permissive, allows proprietary use
- GNU Affero General Public License v3.0 (AGPL-3.0) - Copyleft, requires source disclosure for network services
You may choose either license at your option.
When to use which license?
| Use Case | Recommended License |
|---|---|
| Proprietary software integration | BSD-3-Clause |
| Academic research | Either |
| Network service/API | AGPL-3.0 |
| Open source projec | Either |
| Commercial SaaS | AGPL-3.0 |
See LICENSE-BSD and LICENSE-AGPL for details.
SPDX-License-Identifier: BSD-3-Clause OR AGPL-3.0-only
🌟 Citation If you use RATIH in your research, please cite:
Nashrulloh, M.M., RATIH contributors. (2026). RATIH: Lunar Transcriptome Assembly - Fast, modern replacement for Trinity (Version 1.0.0) [Computer software]. https://gitlab.com/biomikalab/ratih
Metadata
Release files for ratih 1.0.0a1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| ratih-1.0.0a1-cp314-cp314-manylinux_2_28_x86_64.whl | CPython 3.14 | CPython 3.14 | Linux glibc 2.28+ x86-64 | Details |
| ratih-1.0.0a1-cp313-cp313-manylinux_2_28_x86_64.whl | CPython 3.13 | CPython 3.13 | Linux glibc 2.28+ x86-64 | Details |
| ratih-1.0.0a1-cp312-cp312-manylinux_2_28_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.28+ x86-64 | Details |
| ratih-1.0.0a1-cp311-cp311-manylinux_2_28_x86_64.whl | CPython 3.11 | CPython 3.11 | Linux glibc 2.28+ x86-64 | Details |
Total release size: 1.6 MB
Release files / ratih-1.0.0a1-cp314-cp314-manylinux_2_28_x86_64.whl
| Download URL | ratih-1.0.0a1-cp314-cp314-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 407.4 kB |
| Tags | CPython 3.14 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
ccd9b8fcbc6cf031519058a42d7a5f1a4b80985e04a8a9370c57564b7b897664
|
|
BLAKE2b-256 checksum How to use checksums |
f436ebbaaac045c941e6d0229116d120398fd6fcdae3a642746cc5b58aa23baf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / ratih-1.0.0a1-cp313-cp313-manylinux_2_28_x86_64.whl
| Download URL | ratih-1.0.0a1-cp313-cp313-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 408.1 kB |
| Tags | CPython 3.13 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
2e7cf160523fe53c198ab5f09f2d541cbc0fabb7b5622147bb4d299a4ece718d
|
|
BLAKE2b-256 checksum How to use checksums |
5b5e13101834d65903e9461316f7396e334052e2d75c5326f3d1203c23d2845d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / ratih-1.0.0a1-cp312-cp312-manylinux_2_28_x86_64.whl
| Download URL | ratih-1.0.0a1-cp312-cp312-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 408.0 kB |
| Tags | CPython 3.12 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
b1f1786a5196d38c812705ecda17589070c261a50015352089a120f791d68b9e
|
|
BLAKE2b-256 checksum How to use checksums |
a187c1fafcbcef3b351b1aaeb97bf43d8435a6acf487fd7c4d1db04e35a7a729
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / ratih-1.0.0a1-cp311-cp311-manylinux_2_28_x86_64.whl
| Download URL | ratih-1.0.0a1-cp311-cp311-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 408.6 kB |
| Tags | CPython 3.11 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
f88042e9f54fd9bf60924c4e8e94ba95e33f30d4d22307954ccb606557131a16
|
|
BLAKE2b-256 checksum How to use checksums |
33b7f829b755d38481f9e369d10b3dc83c25420ff52ba0a2fa93ecf983ab5e42
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|