nf-core / viralrecon

Assembly and intrahost/low-frequency variant calling for viral samples
https://nf-co.re/viralrecon
MIT License
111 stars 104 forks source link

Adding "--grouplineages" parameter in the nf-core/viralrecon #405

Closed bsalehe closed 5 months ago

bsalehe commented 7 months ago

Hi,

I am running the dev version which also supports the analysis of wastewater mixed samples with freyja variants, demix boot modules using samples from PRJNA819090. As the number of samples is much bigger, I am running pipeline on the hpc. All samples run successfully in every process except few which cause the viralrecon to throw errors. One of the errors is "raise error.SolverError( cvxpy.error.SolverError: Solver 'ECOS' failed. Try another solver, ..." which has been explained in the freyja issue here and has been actually fixed here by adding --grouplineages option in both demix and boot methods which essentially addresses samples with low coverage that causes the error to occur. I wonder if you could add this option in the pipeline as to hopefully avoid throwing this error.

Many thanks

Joon-Klaps commented 5 months ago

Hi,

I'll make a pull request to add a variable to set the --depthcutoff for the module (because if I look a the thread you mentioned they patched it from grouplineages to depthcutoff, let me know if I missed something). Note, if you ever run into a similar issue, nextflow allows users to add specific arguments to a module with little effort so in the meantime you can replace a part of the modules_illumina.config (or if you used nanopore the modules_nanopore.config) file with the following if the cutoff value of 1:

             withName: 'FREYJA_DEMIX' {
                ext.args = [
                  '--depthcutoff 1',
                ].join(' ').trim()
                publishDir = [
                    path: { "${params.outdir}/variants/freyja/demix" },
                    mode: params.publish_dir_mode,
                    pattern: "*.{tsv,csv}"
                ]
            }
            withName: 'FREYJA_BOOT' {
                ext.args = [
                  '--depthcutoff 1',
                    '--boxplot pdf',
                ].join(' ').trim()
                publishDir = [
                    path: { "${params.outdir}/variants/freyja/bootstrap" },
                    mode: params.publish_dir_mode,
                    pattern: "*.{tsv,csv,pdf}"
                ]
            }
svarona commented 5 months ago

Should we consider this issue as solved? @Joon-Klaps

Joon-Klaps commented 5 months ago

Yep!