--- tags: pipeline --- # nf-core/differentialabundance ## Attendees Jonathan Manning, Oskar Wacker, Gisela Gabernet, Alexander Peltzer ## General Discussion * @JonathanManning created a module for differential expression analysis with DESeq2 * Uses template to side-step lack of module bin/ dir, which has side benefits in not requiring a CLI or associated libraries (optparse), allowing direct use of the DESeq2 biocontainer * Separates plotting functionality. I think that makes the code more maintainable an allows for reuse by non-DESeq code in future (but others may disagree!). - Jon * There is a qbic/rnadeseq pipeline from qbic which can serve as a starting point * I'm not precious about the DESeq2 PR if it creates difficulties in porting existing pipeline. - Jon * I do think modules should be generic though - i.e. make few assumptions about the upstream pipeline. - Jon ## Action points * Oskar will go through PR from Jonathan * Oskar will get the qbic pipeline to nf-core now * Agreed on name:differentialabundance * Gisela will add the slack channel etc pp ## Workflow concept ```mermaid flowchart TD Module{Module} & fileORfolder[fileORfolder] & RobjectFile[[RobjectFile]] & param([param]) ``` ```mermaid flowchart TD CountTable[CountTable.txt] --> Input_FeatureCounts{Input_FeatureCounts} StarRsemFolder[StarRsemFolder] --> Input_StarRsem{Input_StarRsem} StarSalmonFolder[StarSalmonFolder] --> Input_StarSalmon{Input_StarSalmon} Input_FeatureCounts & Input_StarRsem & Input_StarSalmon --- empty1(( )) --> StandardInput[StandardInput] design[design.txt] & StandardInput & meta[meta.tsv] --- empty2(( )) --> DESeq2{DESeq2} DESeq2 --- empty3(( )) --> sizeFactors[sizeFactors.tsv] & plotDispEst[plotDispEst.png/pdf/svg] & RSummarizedExp1[[RSummarizedExp1]] & counts[counts] RSummarizedExp1 & rlog/vst/both([rlog/vst/both]) --- empty4(( )) empty4 --> Transform{Transform} empty4 -.-> Plots{Plots*} Transform --- empty5(( )) --> RSummarizedExp2[[RSummarizedExp2]] & normalizedCounts[normalizedCounts] RSummarizedExp2 --> BatchCorrect{BatchCorrect} BatchCorrect --> RSummarizedExp3[[RSummarizedExp3]] RSummarizedExp3 empty4 & contrastfile[contrastfile.txt] & logFCthreshold([logFCthreshold]) & pvalthreshold([pvalthreshold]) --- empty7(( )) --> Contrast{Contrast} Contrast --- empty8(( )) empty8 --> final_table[final_table.tsv] & DE_table_contrast[DE_table_contrast.tsv] RSummarizedExp3 & otherstuff[otherstuff] & report.rmd[report.rmd] --- empty9(( )) --> WriteReportMakePlots{WriteReportMakePlots} WriteReportMakePlots --- empty10(( )) --> report.html[report.html] & plots[plots] ```