Metadata-Version: 2.4
Name: ratih
Version: 1.0.0a1
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Rust
Classifier: Operating System :: OS Independent
Classifier: Operating System :: POSIX
Classifier: Operating System :: POSIX :: Linux
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Requires-Dist: numpy>=1.21
Requires-Dist: pandas>=1.3
Requires-Dist: scipy>=1.7
Requires-Dist: click>=8.0
Requires-Dist: rich>=13.0
Requires-Dist: matplotlib>=3.4
Requires-Dist: seaborn>=0.11
Requires-Dist: pytest>=7.0 ; extra == 'dev'
Requires-Dist: pytest-cov ; extra == 'dev'
Requires-Dist: black ; extra == 'dev'
Requires-Dist: ruff ; extra == 'dev'
Requires-Dist: mypy ; extra == 'dev'
Requires-Dist: edgepython>=0.2.5 ; extra == 'full'
Requires-Dist: pydeseq2>=0.5.4 ; extra == 'full'
Requires-Dist: limma-py>=0.1.0 ; extra == 'full'
Requires-Dist: statsmodels>=0.13 ; extra == 'full'
Requires-Dist: scikit-learn>=1.0 ; extra == 'full'
Requires-Dist: plotly>=5.15 ; extra == 'full'
Requires-Dist: fastapi>=0.100 ; extra == 'web'
Requires-Dist: uvicorn>=0.23 ; extra == 'web'
Requires-Dist: jinja2>=3.0 ; extra == 'web'
Requires-Dist: python-multipart>=0.0.6 ; extra == 'web'
Provides-Extra: dev
Provides-Extra: full
Provides-Extra: web
License-File: LICENSE
License-File: LICENSE-AGPL
License-File: LICENSE-BSD
Summary: RATIH: Lunar Transcriptome Assembly - Fast, modern replacement for Trinity
Keywords: bioinformatics,transcriptome,assembly,RNA-seq,genomics
Author-email: Maulana Malik Nashrulloh <maulana@genbinesia.or.id>
Maintainer-email: Maulana Malik Nashrulloh <maulana@genbinesia.or.id>
License: BSD-3-Clause OR AGPL-3.0-only
Requires-Python: >=3.8
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Documentation, https://gitlab.com/biomikalab/ratih
Project-URL: Homepage, https://gitlab.com/biomikalab/ratih
Project-URL: Issues, https://gitlab.com/biomikalab/ratih/issues
Project-URL: Repository, https://gitlab.com/biomikalab/ratih

# 🌙 RATIH - Lunar Transcriptome Assembly

[![PyPI version](https://badge.fury.io/py/ratih.svg)](https://badge.fury.io/py/ratih)
[![License: Dual](https://img.shields.io/badge/License-Dual-purple.svg)]
[![License](https://img.shields.io/badge/License-BSD%203--Clause%20OR%20AGPL%203.0-purple.svg)]
[![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)
[![Rust 1.94+](https://img.shields.io/badge/rust-1.94+-orange.svg)](https://www.rust-lang.org/)
[![Platform](https://img.shields.io/badge/platform-linux%20%7C%20macOS%20%7C%20windows-green.svg)]

**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

```bash
# 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

```bash
# 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

```python
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](LICENSE-BSD) and [LICENSE-AGPL](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

