Add the finaletoolkit/delfi module#11547
Conversation
This uses FinaleToolkit to calculate the DELFI score (Cristiano et al., 2019). cf. nf-core#11365
|
@SPPearce I should've handled it but I need to check the tests here, locally they fail probably because my Nextflow version is too old (error in an unrelated module). EDIT: tests are green. |
| - bam: | ||
| type: file | ||
| description: Sorted BAM file | ||
| pattern: "*.bam" | ||
| ontologies: | ||
| - edam: "http://edamontology.org/format_2572" |
There was a problem hiding this comment.
Does this work with cram files?
There was a problem hiding this comment.
Honestly I'm not sure. I'll check the code directly, but it looks like it wants BAM. I'll investigate.
There was a problem hiding this comment.
I checked and it does, in principle. How should I handle this?
There was a problem hiding this comment.
cram files require the fasta file to be staged, not the 2bit file, so it could do with another input channel. You can say in the meta that the fasta is only for cram input.
You can still call it bam/bai, just make it clear that it also accepts cram.
There was a problem hiding this comment.
I triple checked. While it claims to support CRAM files, the delfi command does not actually support them, because it doesn't pass the required FASTA reference to the input function (see https://github.com/epifluidlab/FinaleToolkit/blob/5431559c7fbe79d9bfaf70054fc064084b7a35eb/src/finaletoolkit/utils/_frag_generator.py#L14 and https://github.com/epifluidlab/FinaleToolkit/blob/5431559c7fbe79d9bfaf70054fc064084b7a35eb/src/finaletoolkit/frag/_delfi.py#L387 for reference)
So I'll stay with BAM for the moment. I'll raise an issue upstream.
EDIT: filed epifluidlab/FinaleToolkit#173
|
Many thanks @SPPearce for the review. Most of these show why copy-pasting is bad. ;) |
|
|
| - bam: | ||
| type: file | ||
| description: Sorted BAM file | ||
| pattern: "*.bam" | ||
| ontologies: | ||
| - edam: "http://edamontology.org/format_2572" |
There was a problem hiding this comment.
cram files require the fasta file to be staged, not the 2bit file, so it could do with another input channel. You can say in the meta that the fasta is only for cram input.
You can still call it bam/bai, just make it clear that it also accepts cram.
PR checklist
This PR introduces support for the
delfisubcommand in finaletoolkit, which calculates the DELFI score, a popular measure used in fragmentomics introduced in Cristiano et al., 2019.References #11365
topic: versions- See version_topicslabelnf-core modules test <MODULE> --profile dockernf-core modules test <MODULE> --profile singularitynf-core modules test <MODULE> --profile condanf-core subworkflows test <SUBWORKFLOW> --profile dockernf-core subworkflows test <SUBWORKFLOW> --profile singularitynf-core subworkflows test <SUBWORKFLOW> --profile conda