A portable and modular meta-predictor for identifying Long Non-coding RNAs (lncRNAs).
Project description
metaLncRNA v1.2.4 ๐งฌ๐ค
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 (v1.2.4)
- 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.
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 metalncrna-1.2.4.tar.gz.
File metadata
- Download URL: metalncrna-1.2.4.tar.gz
- Upload date:
- Size: 1.9 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b8289b21d11300f36828977931744dd9ccbd7ab95f4ddd33e76c3bb6f60c3f06
|
|
| MD5 |
ac31c1b92a6c63ddca7e538c52e4e8c1
|
|
| BLAKE2b-256 |
0cdbe7ed2d8e9082861a481cc55b36646f8af15c1839c5a1e9e798e85b465cb7
|
File details
Details for the file metalncrna-1.2.4-py3-none-any.whl.
File metadata
- Download URL: metalncrna-1.2.4-py3-none-any.whl
- Upload date:
- Size: 1.9 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f6a879a28301254230e2c62651269c171bc91cba0e2574db6dc3a079ebfc6ee5
|
|
| MD5 |
8dfa72f63e4163f25af33e1ce2e107d3
|
|
| BLAKE2b-256 |
d4f73a710020f351136fdceef77910f221e291c636dada1fc14f188a8292a59d
|