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.4

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.4
File Size Uploaded
metalncrna-2.0.4.tar.gz 1.9 MB Details

Built distribution (wheel)

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

Total release size: 3.8 MB

Release files / metalncrna-2.0.4.tar.gz

Download URL metalncrna-2.0.4.tar.gz
Size 1.9 MB
Tags Source
SHA-256 checksum
How to use checksums
9f503547bf8e1a9d0d49bf75f98fe0519b701228f25a0bf1cc7a2db4f4539dca
BLAKE2b-256 checksum
How to use checksums
42fe2ed3993d60b4067955dc8b510cb709b0123d9e9ab7753627e81cd9e2983e
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.4-py3-none-any.whl

Download URL metalncrna-2.0.4-py3-none-any.whl
Size 1.9 MB
Tags Python 3
SHA-256 checksum
How to use checksums
d99fbc67ca2ecd5dd8fa3b08f90076fe19bfda69e06a35707af1bfbe1b5e1553
BLAKE2b-256 checksum
How to use checksums
8c6f1482eb40dfcf6dec62fe6dc19422bc888179292ec6de304a76b5db8d13ce
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

2.0.6

2 release files

2.0.5

2 release files

This release

2.0.4 This release

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