Add eukaryotic MAGs/bins support
Nobody has claimed this yet.
- Dominant language
- Nextflow
- Stars
- 18
- Forks
- 8
- PR merge metrics
- No merged PRs in 30d
Description
Difficulty: Hard
Why this matters: the pipeline submits MAGs and bins to ENA (European Nucleotide Archive). Right now, if you don't already know the completeness, contamination and RNA presence of your genome, the pipeline calculates them for you, but only for prokaryotes (using CheckM2, barrnap and tRNAScan). If your MAG or bin is eukaryotic, those tools don't apply, so today you can only submit eukaryotic genomes if you provide all that metadata yourself in the samplesheet.
Some terms: ENA (European Nucleotide Archive) is the public repository this pipeline submits data to. A MAG (metagenome assembled genome) or bin is a genome reconstructed from metagenomic sequencing data. Completeness and contamination are quality scores based on how many expected marker genes are found. CheckM2 calculates these for prokaryotes, BUSCO or EukCC are the equivalent widely used tools for eukaryotes. RNA presence refers to detecting rRNA/tRNA genes, currently done with tools built for prokaryotes too.
Skills / experience: comfortable writing or adapting a Nextflow module (there's likely already a BUSCO/EukCC module in nf-core/modules to reuse rather than write from scratch) and workflows, some familiarity with genome annotation/analysis tools is helpful but not required going in. If Nextflow pipeline tests are new to you, the nf-core nf-test testing guide is worth a look since you'll need to add test coverage too.
Suggested approach:
- Read the
magsandbinsmodes section ofdocs/usage.md, especially the "Limitations" part, to see exactly what's missing for eukaryotic genomes today. - Read through
workflows/genomesubmit.nfto see how CheckM2 is currently wired in. - Pick one piece to start with rather than everything at once, BUSCO/EukCC for completeness/contamination is a reasonable first target.
- Install BUSCO/EukCC nf-core/module using nf-core toolkit.
- You'll need some way to flag a genome as eukaryotic so the workflow knows to route it to BUSCO/EukCC instead of CheckM2, there isn't a column for that yet, so part of the task is deciding how to add one (new samplesheet column, or a pipeline parameter).
- Automate BUSCO database creation/download if it is required.
- Once this is done, configure barrnap and tRNAScan to detect eukaryotic genes (see their documentation to find exact flags). If it's impossible explore other tools that can be used for the purpose.
- Add nf-test coverage using a small eukaryotic test genome.
- Update the limitations section in
docs/usage.mdonce this is working.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the mags and bins limitations in docs/usage.md, then trace CheckM2 wiring in workflows/genomesubmit.nf. Review available nf-core modules and define how genomes are identified as eukaryotic. Done means eukaryotic quality and RNA checks work with nf-test coverage and the documentation reflects the updated limitations.
Written by the indexing model from the issue text.
Assessment
- Domain
- bioinformatics
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100