Comments (6)
Thanks for the report and the detective work- I'll look into this soon!
from differentialabundance.
Hello, I've done a bit of digging, and I think this error is happening because exclude
samples in my --contrasts
file aren't getting excluded in the ShinyNGS Exploratory Plot generation.
Digging into one of the runs, I saw that this plot has three categories: green, blue, and red. But it should only show blue and red, the green samples shouldn't be there in this comparison:
My contrasts file (redacted) is like this, as a nicely formatted table:
id | variable | reference | target | blocking | exclude_samples_col | exclude_samples_values |
---|---|---|---|---|---|---|
A_vs_B | A_vs_B | groupA | groupB | A_vs_B_exclude | TRUE | |
B_vs_C | B_vs_C | groupB | groupC | B_vs_C_exclude | TRUE |
And then the samplesheet is like this:
sample | fastq_1 | fastq_2 | A_vs_B | A_vs_B_exclude | B_vs_C | B_vs_C_exclude |
---|---|---|---|---|---|---|
groupA_sample1 | groupA_sample1_R1_001.fastq.gz | groupA_sample1_R1_001.fastq.gz_R2_001.fastq.gz | groupA | FALSE | TRUE | |
groupA_sample2 | groupA_sample2_R1_001.fastq.gz | groupA_sample2_R1_001.fastq.gz_R2_001.fastq.gz | groupA | FALSE | TRUE | |
groupA_sample3 | groupA_sample3_R1_001.fastq.gz | groupA_sample3_R1_001.fastq.gz_R2_001.fastq.gz | groupA | FALSE | TRUE | |
groupB_sample1 | groupB_sample1_R1_001.fastq.gz | groupB_sample1_R1_001.fastq.gz_R2_001.fastq.gz | groupB | FALSE | groupB | FALSE |
groupB_sample2 | groupB_sample2_R1_001.fastq.gz | groupB_sample2_R1_001.fastq.gz_R2_001.fastq.gz | groupB | FALSE | groupB | FALSE |
groupB_sample3 | groupB_sample3_R1_001.fastq.gz | groupB_sample3_R1_001.fastq.gz_R2_001.fastq.gz | groupB | FALSE | groupB | FALSE |
groupC_sample1 | groupC_sample1_R1_001.fastq.gz | groupC_sample1_R1_001.fastq.gz_R2_001.fastq.gz | TRUE | groupC | FALSE | |
groupC_sample2 | groupC_sample2_R1_001.fastq.gz | groupC_sample2_R1_001.fastq.gz_R2_001.fastq.gz | TRUE | groupC | FALSE | |
groupC_sample3 | groupC_sample3_R1_001.fastq.gz | groupC_sample3_R1_001.fastq.gz_R2_001.fastq.gz | TRUE | groupC | FALSE |
So I think the issue is in providing matrices for EXPLORATORY_PLOTS from SHINYNGS, to remove the exclude
samples. Or to provide a non-null value for the exclude
samples -- I'll try this for now and let you know.
from differentialabundance.
Update: Still getting the same error, even when the empty/null
/None/NA values in A_vs_B
are replaced with "Other":
sample | fastq_1 | fastq_2 | A_vs_B | A_vs_B_exclude | B_vs_C | B_vs_C_exclude |
---|---|---|---|---|---|---|
groupA_sample1 | groupA_sample1_R1_001.fastq.gz | groupA_sample1_R1_001.fastq.gz_R2_001.fastq.gz | groupA | FALSE | Other | TRUE |
groupA_sample2 | groupA_sample2_R1_001.fastq.gz | groupA_sample2_R1_001.fastq.gz_R2_001.fastq.gz | groupA | FALSE | Other | TRUE |
groupA_sample3 | groupA_sample3_R1_001.fastq.gz | groupA_sample3_R1_001.fastq.gz_R2_001.fastq.gz | groupA | FALSE | Other | TRUE |
groupB_sample1 | groupB_sample1_R1_001.fastq.gz | groupB_sample1_R1_001.fastq.gz_R2_001.fastq.gz | groupB | FALSE | groupB | FALSE |
groupB_sample2 | groupB_sample2_R1_001.fastq.gz | groupB_sample2_R1_001.fastq.gz_R2_001.fastq.gz | groupB | FALSE | groupB | FALSE |
groupB_sample3 | groupB_sample3_R1_001.fastq.gz | groupB_sample3_R1_001.fastq.gz_R2_001.fastq.gz | groupB | FALSE | groupB | FALSE |
groupC_sample1 | groupC_sample1_R1_001.fastq.gz | groupC_sample1_R1_001.fastq.gz_R2_001.fastq.gz | Other | TRUE | groupC | FALSE |
groupC_sample2 | groupC_sample2_R1_001.fastq.gz | groupC_sample2_R1_001.fastq.gz_R2_001.fastq.gz | Other | TRUE | groupC | FALSE |
groupC_sample3 | groupC_sample3_R1_001.fastq.gz | groupC_sample3_R1_001.fastq.gz_R2_001.fastq.gz | Other | TRUE | groupC | FALSE |
from differentialabundance.
So, I can't reproduce this error exactly. For example, I unset the sample grouping variable in the test profile for one sample, and whilst it plotted a group with an empty legend entry, I didn't get an error at the dendrogram stage.
I'm making a PR here to prevent unlabelled samples getting plotted, and I notice a fix is also needed for GSEA.
It's important to note that the exploratory script isn't designed to plot per contrast, just per unique contrast variable, and does not pay any attention to the exclude_samples column in the contrast.
I hope that the above PR may help your case (once we update the module, and update the module in the workflow), but if not you will need to provide me with something reproducible for me to do more.
from differentialabundance.
@olgabot could you test with current dev to see if the issue persists after the above fixes?
from differentialabundance.
Closing for lack of activity
from differentialabundance.
Related Issues (20)
- Remove parameter --gsea_run HOT 1
- URGENT: pin nf-validation version HOT 2
- Dev version: On parameters website list parameter gene_sets_files in section GSEA HOT 1
- Name of blocking variable not correctly recognized HOT 7
- Continuous covariates HOT 8
- Please pin the version of the nf-validation plugin! HOT 1
- Error with samplesheet.csv with two column headers that have prefix in common HOT 8
- release differentialabundance HOT 1
- Process `NFCORE_DIFFERENTIALABUNDANCE:DIFFERENTIALABUNDANCE:GTF_TO_TABLE (gencode)` terminated with an error exit status (125) HOT 4
- Error in TABULAR_TO_GSEA_CHIP HOT 1
- GSEA html reports have broken links to png and TSV files HOT 1
- Failed to publish file => double forward slashes
- Auto-format sample names HOT 2
- PosixFileAttributeView
- Missing colour and hover labels in interactive report volcano plot HOT 4
- Normalized/Raw data mishap on the report HOT 1
- Provide a parameter to disable rmarkdown report creation in the differential abundance pipeline HOT 2
- Requests: Enhancements to DESeq2 csv outputs and PDF outputs
- For spike-in analysis, remove control features from outputs
- How to use `--transcript_length_matrix` with nf-core/rnaseq `--aligner star_rsem` output? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from differentialabundance.