Skip to main content

metaLncRNA v2.0.3 🧬🤖

metaLncRNA Logo

DOI University: UMC Laboratory: LaBiOmicS Bioinformatics

PyPI Version Open Source Open Science Open Data License: MIT JOSS Status CI Status

Python Version Powered by Ollama Ensemble Learning


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.


metaLncRNA Infographic


📂 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/: Allows metaLncRNA to be integrated into Galaxy instances, supporting reproducible web-based workflows.

🔧 Recent Fixes (v2.0.3)

  • 100% Original Sequence ID Preservation: Implemented build_id_mapping and map_df_sequence_ids to 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 AttributeError caused by missing self.tool_path in BaseAdapter.
  • 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).
  • PyPI Release Workflow: Enabled skip-existing: true in GitHub Actions publishing pipeline.

🔧 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 KeyError crashes.
  • 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_support to 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:

  1. Internal Defaults: Built-in weights and paths in src/metalncrna/data/default_config.yaml.
  2. Local Config: metaLncRNA_config.yaml in your current working directory.
  3. User Home: ~/.metalncrna/config.yaml.
  4. Explicit Path: Provided via the -c or --config flag.

🚀 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.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for metalncrna 2.0.6
File Size Uploaded
metalncrna-2.0.6.tar.gz 1.9 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for metalncrna 2.0.6
File Interpreter ABI Platform
metalncrna-2.0.6-py3-none-any.whl Python 3 none any Details

Total release size: 3.8 MB

Release files / metalncrna-2.0.6.tar.gz

Download URL metalncrna-2.0.6.tar.gz
Size 1.9 MB
Tags Source
SHA-256 checksum
How to use checksums
6c49969dbd23e63c74a616f6dc46683fdcea1c7d064b5aa0f7e3e86ded3dcc04
BLAKE2b-256 checksum
How to use checksums
2df96f1f82092768d26769e004387a311815c70b3202c1df30b31f9881f25d6c
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.6-py3-none-any.whl

Download URL metalncrna-2.0.6-py3-none-any.whl
Size 1.9 MB
Tags Python 3
SHA-256 checksum
How to use checksums
9b9089b8fa557c636d6d46642479d9dab2dc632455925eb3882a06b3a74e7a42
BLAKE2b-256 checksum
How to use checksums
22d44362e10a1d4a44f3c7ba7c3040992d1cbd3ce6c5eb6ec8d9c2a95e2a42c3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

2.0.6 This release

2 release files

2.0.5

2 release files

2.0.4

2 release files

2.0.3

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.2.4

2 release files

1.2.3

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.9

2 release files

1.1.8

2 release files

1.1.7

2 release files

1.1.6

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page