Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge external splicing counts #247

Merged
merged 73 commits into from
Apr 22, 2022
Merged
Show file tree
Hide file tree
Changes from 67 commits
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
4b6b0bf
initial merge of external splicing counts for FRASER
c-mertes Feb 10, 2021
e0e5844
fix download and add more test cases
c-mertes Feb 10, 2021
7e59764
fix test
c-mertes Feb 10, 2021
434135d
fix wget download and heatmap plotting
c-mertes Feb 10, 2021
d353a56
adapt to new naming of sampleannotation
c-mertes Aug 11, 2021
2712658
use only exact matching in subsetBy related to #244
c-mertes Aug 11, 2021
f85e130
fix merge of subsetGroups function related to: #246
c-mertes Aug 12, 2021
91566f6
fix snakemake file dependency after merging external counts.
c-mertes Aug 12, 2021
0cf5832
correct naming
c-mertes Aug 12, 2021
b1be9d3
cleanup code
c-mertes Aug 12, 2021
6e0467c
update FRASER dependency for merge count functionality
c-mertes Aug 13, 2021
48a0ab2
Merge branch 'dev' into new_external_merge_splicing
c-mertes Oct 11, 2021
b86f008
Merge branch 'dev'
nickhsmith Mar 17, 2022
971a401
merge with dev
nickhsmith Mar 28, 2022
fdfd3cd
change input/output paths.
Mar 29, 2022
39744c9
add symlinks
Mar 30, 2022
d7e0894
add explicit biallelic filter
nickhsmith Mar 30, 2022
2f81989
update regex matching
nickhsmith Mar 31, 2022
d1f60cd
snakemake 7 workarounds
Mar 31, 2022
ce0a75f
Merge branch 'small_fix' into new_external_merge_splicing
nickhsmith Mar 31, 2022
a5f8de0
Update to MAE filter scripts
kvn95ss Mar 22, 2022
4dbcf0e
update backend for externalCounts
nickhsmith Mar 31, 2022
5c40c88
remove importExport for test
nickhsmith Mar 31, 2022
fa12be8
comments and cleanup
nickhsmith Apr 1, 2022
ab7598f
rename demo groups
nickhsmith Apr 1, 2022
4b385c3
more information with external counts
Apr 1, 2022
9d68b2f
Update README.md
vyepez88 Apr 1, 2022
a079606
update with fdsMerge
Apr 1, 2022
f98ca7c
change group names
Apr 4, 2022
39b5590
comments
nickhsmith Apr 4, 2022
1d3d994
Merge branch 'small_fix' of github.com:gagneurlab/drop into small_fix
nickhsmith Apr 4, 2022
f6ea598
AE summary
Apr 5, 2022
41b9d21
Summary styling
nickhsmith Apr 5, 2022
f76b741
update splicing summary and comments
nickhsmith Apr 5, 2022
ab4545b
format summary
nickhsmith Apr 6, 2022
d83ec49
external counts documentation
nickhsmith Apr 6, 2022
6505a65
documentation and updating
nickhsmith Apr 6, 2022
83ca561
update MAE summary and results
nickhsmith Apr 7, 2022
cd5f487
format overview
nickhsmith Apr 7, 2022
16ef35c
Overview code block
nickhsmith Apr 7, 2022
82870ac
update QC matching
nickhsmith Apr 7, 2022
c9f3585
process NA rare
nickhsmith Apr 7, 2022
3f23198
docs
nickhsmith Apr 7, 2022
5bf0d44
mae cutoffs to get results
nickhsmith Apr 7, 2022
14edfc4
update docs
nickhsmith Apr 7, 2022
27549c9
update docs
nickhsmith Apr 7, 2022
cfb8309
update docs
nickhsmith Apr 7, 2022
0e970ee
update output docs
nickhsmith Apr 7, 2022
d298002
typo
nickhsmith Apr 7, 2022
5c038b9
Merge branch 'small_fix' into new_external_merge_splicing
nickhsmith Apr 7, 2022
b25a9d4
fix cutoffs and plotting
nickhsmith Apr 7, 2022
aa9dd7b
MAE results test
nickhsmith Apr 7, 2022
0141dc8
update test to match demo config
nickhsmith Apr 7, 2022
c100b74
allow for legacy sample annotation
nickhsmith Apr 8, 2022
9e9d909
improve legacy handling
nickhsmith Apr 8, 2022
0eb78fc
update FRASER version requiremtent
Apr 11, 2022
ef65020
fix column typo
Apr 11, 2022
0973a53
update plots to match config
Apr 11, 2022
c363c11
update
Apr 11, 2022
59c4d2a
Update README.md
vyepez88 Apr 12, 2022
4c83f2d
Clarifications added to possible QC values
vyepez88 Apr 12, 2022
420d31c
Update DNA_RNA_matrix_plot.R
vyepez88 Apr 12, 2022
2322f5f
code review formatting fixes
nickhsmith Apr 13, 2022
eae85db
Merge branch 'small_fix' into new_external_merge_splicing
nickhsmith Apr 13, 2022
46df827
update docs
nickhsmith Apr 13, 2022
4264ff0
html outputs
nickhsmith Apr 13, 2022
9daef0e
MAE plot xlim
nickhsmith Apr 13, 2022
a04da62
Merge branch 'dev' into new_external_merge_splicing
nickhsmith Apr 21, 2022
5917caa
code-review fixes
nickhsmith Apr 22, 2022
2d220f8
Update output.rst
nickhsmith Apr 22, 2022
ea1b26d
Update output.rst
nickhsmith Apr 22, 2022
d15a702
Update output.rst
nickhsmith Apr 22, 2022
1a628cb
Update output.rst
vyepez88 Apr 22, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ The manuscript is available in [Nature Protocols](https://www.nature.com/article
DROP is available on [bioconda](https://anaconda.org/bioconda/drop).
We recommend using a dedicated conda environment. (installation time: ~ 10min)
```
mamba install -c conda-forge -c bioconda drop
mamba create -n drop_env -c conda-forge -c bioconda drop
```

Test installation with demo project
Expand Down Expand Up @@ -49,6 +49,14 @@ This shows you the rules of all subworkflows. Omit `-n` and specify the number o
snakemake aberrantExpression --cores 10
```

## Citation

If you use DROP in research, please cite our [manuscript](https://www.nature.com/articles/s41596-020-00462-5).

Furthermore, if you use the aberrant expression module, also cite [OUTRIDER](https://doi.org/10.1016/j.ajhg.2018.10.025); if you use the aberrant splicing module, also cite [FRASER](https://www.nature.com/articles/s41467-020-20573-7); and if you use the MAE module, also cite the [Kremer, Bader et al study](https://www.nature.com/articles/ncomms15824) and [DESeq2](https://genomebiology.biomedcentral.com/articles/10.1186/s13059-014-0550-8).

For the complete set of tools used by DROP (e.g. for counting), see the [manuscript](https://www.nature.com/articles/s41596-020-00462-5).

## Datasets
The following publicly-available datasets of gene counts can be used as controls.
Please cite as instructed for each dataset.
Expand Down
3 changes: 2 additions & 1 deletion docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ Then, DROP can be executed in multiple ways (:doc:`pipeline`).
installation
prepare
pipeline
output
license
help

Expand All @@ -24,7 +25,7 @@ We recommend using a dedicated conda environment. (installation time: ~ 10min)

.. code-block:: bash

mamba install -c conda-forge -c bioconda drop
mamba create -n drop -c conda-forge -c bioconda drop

Test installation with demo project

Expand Down
129 changes: 129 additions & 0 deletions docs/source/output.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
Results and Output of DROP
===========================

Comment on lines +1 to +3
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

follow slack comments

DROP is intended to help researchers use RNA-Seq data in order to detect genes with aberrant expression,
aberrant splicing and mono-allelic expression. By simplifying the workflow process we hope to provide
easy to read and interpret html files and output files. This section is dedicated to explaining the relevant
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
easy to read and interpret html files and output files. This section is dedicated to explaining the relevant
easy to read and interpret HTML files and output files. This section is dedicated to explaining the relevant

results files. We will use the results of the ``demo`` to explain the files generated.::
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
results files. We will use the results of the ``demo`` to explain the files generated.::
results files. We will use the results of the ``demo`` to explain the files generated by the following commands:


#install drop
mamba create -n drop_env -c conda-forge -c bioconda drop
conda activate drop_env

mkdir drop_demo
cd drop_demo
drop demo

snakemake -c1

Aberrant Expression
+++++++++++++++++++

html file
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
html file
HTML file

#########
Looking at the resulting ``Output/html/drop_demo_index.html`` we can see the ``AberrantExpression``
tab at the top of the screen. Following that the Overview tab contains links to the:

* Counting Summaries
* For each aberrant expression group
* split of local vs external sample counts
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* split of local vs external sample counts
* number of local vs external sample

* QC relating to reads and size factors for each sample
* histograms relating to mean count distribution with different conditions
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* histograms relating to mean count distribution with different conditions
* histograms showing the mean count distributions based on different conditions

* information about the expressed genes within each sample and as a dataset
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* information about the expressed genes within each sample and as a dataset
* expressed genes within each sample and as a whole in the dataset

* Outrider Summaries
* For each aberrant expression group
* the number of aberrantly expressed gene per sample
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* the number of aberrantly expressed gene per sample
* the number of aberrantly expressed genes per sample

* how batch correction is done and the resulting lack of batch effects
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* how batch correction is done and the resulting lack of batch effects
* correlation between samples before and after the autoencoder correction

* which samples contain outliers
* results table
* Files
* OUTRIDER files for each aberrant expression group
* For each of these files you can follow the `OUTRIDER vignette for individual analysis <https://www.bioconductor.org/packages/devel/bioc/vignettes/OUTRIDER/inst/doc/OUTRIDER.pdf>`_.
* tsv files
* For each aberrant expression group
* results.tsv
* this tsv file contains only the significant genes and samples that meet the cutoffs defined in the ``config.yaml`` for ``padjCutoff`` and ``zScoreCutoff``
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* Files
* OUTRIDER files for each aberrant expression group
* For each of these files you can follow the `OUTRIDER vignette for individual analysis <https://www.bioconductor.org/packages/devel/bioc/vignettes/OUTRIDER/inst/doc/OUTRIDER.pdf>`_.
* tsv files
* For each aberrant expression group
* results.tsv
* this tsv file contains only the significant genes and samples that meet the cutoffs defined in the ``config.yaml`` for ``padjCutoff`` and ``zScoreCutoff``
* Files (for each aberrant expression group)
* OUTRIDER data files (RDS)
* You can follow the `OUTRIDER vignette for further individual analysis <https://www.bioconductor.org/packages/devel/bioc/vignettes/OUTRIDER/inst/doc/OUTRIDER.pdf>`.
* results files (TSV)
* the result file contains only the significant genes and samples that meet the cutoffs defined in the ``config.yaml`` for ``padjCutoff`` and ``zScoreCutoff``


Local result files
##################
Additionally the ``aberrantExpression`` module creates the file ``Output/processed_results/aberrant_expression/{annotation}/outrider/{drop_group}/OUTRIDER_results_all.Rds`` this file is the Rds object containing the entire OUTRIDER results table regardless of significance.

Aberrant Splicing
+++++++++++++++++

html file
##########
Looking at the resulting ``Output/html/drop_demo_index.html`` we can see the ``AberrantSplicing``
tab at the top of the screen. Following that the Overview tab contains links to the:

* Counting Summaries
* For each aberrant splicing group
* split of local (from internal BAM files) vs external sample counts
* split of local vs merged with external sample splicing/intron counts
* comparison of local and external log mean counts
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* comparison of local and external log mean counts
* comparison of local and external mean counts

* histograms relating to junction expression before and after filtering and variability
* FRASER Summaries
* For each aberrant splicing group
* the number of samples, introns, and splice sites
* how batch correction is done and the resulting lack of batch effects
* result table
* Files
* FRASER files for each aberrant splicing group
* For each of these files you can follow the `FRASER vignette for individual analysis <https://www.bioconductor.org/packages/devel/bioc/vignettes/FRASER/inst/doc/FRASER.pdf>`_.
* tsv files
* For each aberrant splicing group
* results_per_junction.tsv
* this tsv file contains only significant junctions that meet the cutoffs defined in the ``config.yaml`` they are aggregated at the junction level.

Local result files
##################
Additionally the ``aberrantSplicing`` module creates the following file ``Output/processed_results/aberrant_splicing/results/{annotation}/fraser/{drop_group}/results.tsv``.
This tsv file contains only significant junctions that meet the cutoffs defined in the ``config.yaml`` they are aggregated at the gene level. Any sample/gene pair is represented by only the most significant junction.

Mono-allelic Expression
+++++++++++++++++++++++

html file
##########
Looking at the resulting ``Output/html/drop_demo_index.html`` we can see the ``MonoallelicExpression``
tab at the top of the screen. Following that the Overview tab contains links to the:

* Results
* For each mae group
* the number of samples, unique genes, and aberrant events
* a cascade plot that shows additional filters
* MAE for REF: the monoallelic expression favors the reference allele
* MAE for ALT: the monoallelic expression favors the alternative allele
* rare:
* if ``add_AF`` is set to true in ``config.yaml`` must meet minimum AF set by ``max_AF``
* additionally it must meet the inner-cohort frequency ``maxVarFreqCohort`` cutoff
* histogram of inner cohort frequency
* summary of cascade plots and results table
* Files
* Allelic counts
* a directory containing the allelic counts of heterozygous variants
* Results data tables of each sample (.Rds)
* Rds objects containing the full results table regardless of MAE status
* Significant MAE results tables
* For each mae group
* a link to the results tsv file.
* Only contains significant MAE results based on ``config.yaml`` cutoffs for the alternative allele
* Quality Control
* QC Overview
* For each mae group QC checks for DNA/RNA matching
* Analyze Individual Results
* An example analaysis that can be run using the Rds objects linked in the files subsection
* performed on the first mae sample

Local result files
##################
Additionally the ``mae`` module creates the following files:

* ``Output/processed_results/mae/{drop_group}/MAE_results_all_v29.tsv.gz``
* this file is the tsv results of all heterozygous variants regardless of significance
* ``Output/processed_results/mae/{drop_group}/MAE_results_v29.tsv``
* this is the file linked in the html document and described above
* ``Output/processed_results/mae/{drop_group}/MAE_results_v29_rare.tsv``
* this file is the subsetted tsv of ``MAE_results_v29.tsv`` with only the variants that pass the rare cutoffs
* if ``add_AF`` is set to true in ``config.yaml`` must meet minimum AF set by ``max_AF``
* inner-cohort frequency must meet ``maxVarFreqCohort`` cutoff
Loading