Skip to main content

RATIH: Lunar Transcriptome Assembly - Fast, modern replacement for Trinity

Project description

🌙 RATIH - Lunar Transcriptome Assembly

PyPI version [License: Dual] [License] Python 3.11+ Rust 1.94+ [Platform]

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ratih-1.0.0a1-cp314-cp314-manylinux_2_28_x86_64.whl (407.4 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

ratih-1.0.0a1-cp313-cp313-manylinux_2_28_x86_64.whl (408.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

ratih-1.0.0a1-cp312-cp312-manylinux_2_28_x86_64.whl (408.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

ratih-1.0.0a1-cp311-cp311-manylinux_2_28_x86_64.whl (408.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

File details

Details for the file ratih-1.0.0a1-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ratih-1.0.0a1-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ccd9b8fcbc6cf031519058a42d7a5f1a4b80985e04a8a9370c57564b7b897664
MD5 c0311e5e2893ca3e8f4898165951f82f
BLAKE2b-256 f436ebbaaac045c941e6d0229116d120398fd6fcdae3a642746cc5b58aa23baf

See more details on using hashes here.

File details

Details for the file ratih-1.0.0a1-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ratih-1.0.0a1-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2e7cf160523fe53c198ab5f09f2d541cbc0fabb7b5622147bb4d299a4ece718d
MD5 9996eabdde8ae5b691d1d8aad85a83d6
BLAKE2b-256 5b5e13101834d65903e9461316f7396e334052e2d75c5326f3d1203c23d2845d

See more details on using hashes here.

File details

Details for the file ratih-1.0.0a1-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ratih-1.0.0a1-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b1f1786a5196d38c812705ecda17589070c261a50015352089a120f791d68b9e
MD5 dc9abd5fb8748c0017b9a07fd42343a0
BLAKE2b-256 a187c1fafcbcef3b351b1aaeb97bf43d8435a6acf487fd7c4d1db04e35a7a729

See more details on using hashes here.

File details

Details for the file ratih-1.0.0a1-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ratih-1.0.0a1-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f88042e9f54fd9bf60924c4e8e94ba95e33f30d4d22307954ccb606557131a16
MD5 4f92c11ffeb7f1546ae178ccbd1343d0
BLAKE2b-256 33b7f829b755d38481f9e369d10b3dc83c25420ff52ba0a2fa93ecf983ab5e42

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