metaLncRNA v2.0.2 🧬🤖
metaLncRNA is a modular, high-performance Python framework designed to identify Long Non-coding RNAs (lncRNAs) by orchestrating an ensemble of seven diverse computational tools. It resolves the "reproducibility gap" by automating environment management and providing a robust consensus prediction through weighted soft-voting.
📂 Repository Structure
.
├── conda/ # Bioconda recipe and metadata
├── deploy/ # Containerization (Dockerfile, Singularity.def)
├── docs/ # Technical documentation and user guides
├── examples/ # Quick-start samples (FASTA, config templates)
├── galaxy/ # Galaxy Tool wrapper and test data
├── INPI_Registration/ # Legal software registration assets
├── paper/ # JOSS publication manuscript and bibliography
├── scripts/ # Bash scripts for HPC/Batch processing
├── src/
│ └── metalncrna/ # Main Python Package
│ ├── cli.py # Command-line interface entry point
│ ├── adapters/ # Wrappers for 7 lncRNA predictors
│ ├── engine/ # Core logic (Consensus, Dispatcher, Trainer)
│ ├── utils/ # AI Agent, Env management, Reports, FASTA handling
│ ├── data/ # Built-in weights and default configurations
│ └── third_party/ # Bundled legacy tools (CNCI, CPPred, LGC)
├── tests/ # Comprehensive Unit and Integration tests
├── pyproject.toml # Build system and dependency definitions
└── pixi.toml # Environment management configuration
🧩 Core Components Detail
src/metalncrna/adapters/: Orchestrates external tools like RNAsamba, CPAT, CPC2, etc., providing a unified interface for prediction.src/metalncrna/engine/:consensus.py: Implements the weighted soft-voting algorithm.dispatcher.py: Manages parallel execution of the ensemble.
src/metalncrna/utils/agent.py: Integrates with local LLMs (Ollama) for automated biological interpretation of results.galaxy/: AllowsmetaLncRNAto be integrated into Galaxy instances, supporting reproducible web-based workflows.
🔧 Recent Fixes (v2.0.2)
- 100% Original Sequence ID Preservation: Implemented
build_id_mappingandmap_df_sequence_idsto ensure original transcript names from transcriptome assemblers (Trinity, StringTie, Cufflinks, etc.) remain intact throughout the entire consensus and reporting pipeline. - Deduplication & Merge Safety: Prevents Cartesian product row explosions by deduplicating predictions per transcript before cross-tool voting.
- Adapter Attribute Bugfix: Fixed
AttributeErrorcaused by missingself.tool_pathinBaseAdapter. - Automatic HTML Dashboard: Integrated HTML report generation directly into
metalncrna predict. - Enhanced AI Agent Feedback: Clear installation guidance and connection diagnostics for Ollama (
pip install metalncrna[agent],ollama serve,ollama pull).
🔧 Previous Fixes (v2.0.0)
- CNCI Stability: Fixed a critical hang in the CNCI legacy tool caused by non-canonical nucleotides (e.g., K, V, M) and a multiprocessing deadlock in the original Python 2.7 implementation.
- Improved Filtering: Implemented rigorous FASTA validation in the CNCI adapter to exclude sequences with ambiguous characters, preventing
KeyErrorcrashes. - Resource Optimization: Optimized tool dispatching by limiting CNCI threads to 4, reducing I/O overhead and improving performance for small-to-medium files.
- Debug Resiliency: The dispatcher now preserves intermediate files automatically if a tool failure occurs, facilitating troubleshooting.
🔧 Previous Fixes (v1.2.1)
- Consensus Logic: Updated
consensus_supportto reflect the number of tools that agree with the final consensus label, providing better interpretability. - CPC2 Integration: Fixed a critical parsing error where coding probability and label columns were mismatched (v1.1.8).
- Cleanup: Removed unimplemented/experimental adapters to ensure stability.
⚙️ Configuration
metaLncRNA follows a robust configuration loading order:
- Internal Defaults: Built-in weights and paths in
src/metalncrna/data/default_config.yaml. - Local Config:
metaLncRNA_config.yamlin your current working directory. - User Home:
~/.metalncrna/config.yaml. - Explicit Path: Provided via the
-cor--configflag.
🚀 Key Features
- Ensemble Prediction: Combines 7 tools (RNAsamba, CPAT, CPC2, PLEK, CNCI, CPPred, LGC).
- Interactive AI Agent: Integrated local LLM assistant (Llama-3.2 or OpenBioLLM) to interpret results and explain classification decisions.
- Reproducibility First: Built-in environment isolation via Mamba and Pixi.
- Standardized Reports: Comprehensive TSV reports with tool congruence metrics.
- Publication Ready: Formatted according to JOSS standards for scientific software.
Release files for metalncrna 2.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| metalncrna-2.0.2.tar.gz | 1.9 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| metalncrna-2.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 3.8 MB
Release files / metalncrna-2.0.2.tar.gz
| Download URL | metalncrna-2.0.2.tar.gz |
|---|---|
| Size | 1.9 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
04327b91248cb5a1c13c3bcee60e2da0251835ada32c0b4a93c4da3237764266
|
|
BLAKE2b-256 checksum How to use checksums |
7107065679b5d794eacaff7f64c7fbf08e4fe53ee1a9bf7f8605413402b3d858
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / metalncrna-2.0.2-py3-none-any.whl
| Download URL | metalncrna-2.0.2-py3-none-any.whl |
|---|---|
| Size | 1.9 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7e2722c1f10a32e100ea78225539c0d355ddfdcf30cd6de153ef236d2f86f54b
|
|
BLAKE2b-256 checksum How to use checksums |
5b8a10a74d7a47144053f4eaa44b09cead8172a8d10c4ff71170911bd83f6f4a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|