From b39fcb4ccb0393c69eae5b9398a004bd41fe0aed Mon Sep 17 00:00:00 2001
From: Holly Ruess <s185797@biohpcwsc012.biohpc.swmed.edu>
Date: Fri, 25 Jan 2019 15:26:08 -0600
Subject: [PATCH] added manual

---
 README.md            | 137 +++++++++++++++++++++++++++++++++++++++++++
 docs/CHIPseq.sh      |  15 +++++
 docs/flowchart.pdf   | Bin 0 -> 25444 bytes
 docs/references.txt  |  49 ++++++++++++++++
 docs/xcor_header.txt |  17 ++++++
 5 files changed, 218 insertions(+)
 create mode 100644 docs/CHIPseq.sh
 create mode 100644 docs/flowchart.pdf
 create mode 100644 docs/references.txt
 create mode 100644 docs/xcor_header.txt

diff --git a/README.md b/README.md
index 0cbc9d4..3ceb173 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,7 @@
+# **CHIPseq Manual**
+## Version 1.0.0
+## January 2, 2019
+
 # BICF ChIP-seq Pipeline
 
 [![Build Status](https://git.biohpc.swmed.edu/BICF/Astrocyte/chipseq_analysis/badges/master/build.svg)](https://git.biohpc.swmed.edu/BICF/Astrocyte/chipseq_analysis/commits/master)
@@ -15,3 +19,136 @@ The pipeline uses [Nextflow](https://www.nextflow.io), a bioinformatics workflow
 This pipeline is primarily used with a SLURM cluster on the [BioHPC Cluster](https://biohpc.swmed.edu/). However, the pipeline should be able to run on any system that Nextflow supports.
 
 Additionally, the pipeline is designed to work with [Astrocyte Workflow System](https://astrocyte-test.biohpc.swmed.edu/static/docs/index.html) using a simple web interface.
+
+Current version of the software and issue reports are at
+https://git.biohpc.swmed.edu/BICF/Astrocyte/chipseq_analysis
+
+To download the current version of the software
+```bash
+$ git clone git@git.biohpc.swmed.edu:BICF/Astrocyte/chipseq_analysis.git
+```
+
+## Input files
+##### 1) Fastq Files
+  + You will need the full path to the files for the Bash Scipt
+
+##### 2) Design File
+  + The Design file is a tab-delimited file with 8 columns for Single-End and 9 columns for Paired-End.  Letter, numbers, and underlines can be used in the names. However, the names can only begin with a letter. Columns must be as follows:
+      1. sample_id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a short, unique, and concise name used to label output files; will be used as a control_id if it is the control sample
+      2. experiment_id&nbsp;&nbsp;&nbsp;&nbsp;biosample_treatment_factor
+      3. biosample&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;symbol for tissue type or cell line
+      4. factor&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;symbol for antibody target
+      5. treatment&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;symbol of treatment applied
+      6. replicate&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a number, usually from 1-3 (i.e. 1)
+      7. control_id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sample_id name that is the control for this sample
+      8. fastq_read1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name of fastq file 1 for SE or PC data
+      9. fastq_read2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name of fastq file 2 for PE data
+
+
+  + See [HERE](https://git.biohpc.swmed.edu/BICF/Astrocyte/chipseq_analysis/blob/master/test_data/design_ENCSR729LGA_PE.txt) for an example design file, paired-end
+  + See [HERE](https://git.biohpc.swmed.edu/BICF/Astrocyte/chipseq_analysis/blob/master/test_data/design_ENCSR238SGC_SE.txt) for an example design file, single-end
+
+##### 3) Bash Script
+  + You will need to create a bash script to run the CHIPseq pipeline on [BioHPC](https://portal.biohpc.swmed.edu/content/)
+  + This pipeline has been optimized for the correct partition
+  + See [HERE](https://git.biohpc.swmed.edu/bchen4/chipseq_analysis/raw/master/docs/CHIPseq.sh) for an example bash script
+  + The parameters that must be specified are:
+      - --reads '/path/to/files/name.fastq.gz' 
+      - --designFile '/path/to/file/design.txt', 
+      - --genome 'GRCm38', 'GRCh38', or 'GRCh37' (if you need to use another genome contact the [BICF](mailto:BICF@UTSouthwestern.edu))
+      - --pairedEnd 'true' or 'false' (where 'true' is PE and 'false' is SE; default 'false')
+      - --outDir (optional) path and folder name of the output data, example: /home2/s000000/Desktop/Chipseq_output
+
+## Pipeline
+  + There are 11 steps to the pipeline
+    1. Check input files
+    2. Trim raw reads with trim galore
+    3. Aligned trimmed reads with bwa, and sorts/converts to bam with samtools
+    4. Mark duplicates with sambamba, and filter reads with samtools
+    5. Quality metrics with deep tools
+    6. Calculate cross-correlation using phantompeaktools
+    7. Call peaks with MACS
+    8. Calculate consensus peaks
+    9. Annotate Peaks
+    10. Calculate Differential Binding Activity
+    11. Motif Search Peaks
+
+See [FLOWCHART](https://git.biohpc.swmed.ed/bchen4/chipseq_analysis/raw/master/docs/flowchar.pdf)
+
+## Output Files
+Folder | File | Description
+--- | --- | ---
+design | N/A | Inputs used for analysis; can ignore
+trimReads | *_trimming_report.txt | report detailing how many reads were trimmed
+trimReads | *_trimmed.fq.gz | trimmed fastq files used for analysis
+alignReads | *.srt.bam.flagstat.qc | QC metrics from the mapping process
+alignReads | *.srt.bam | sorted bam file
+filterReads | *.dup.qc | QC metrics of find duplicate reads (sambamba)
+filterReads | *.filt.nodup.bam | filtered bam file with duplicate reads removed
+filterReads | *.filt.nodup.bam.bai | indexed filtered bam file
+filterReads | *.filt.nodup.flagstat.qc | QC metrics of filtered bam file (mapping stats, samtools)
+filterReads | *.filt.nodup.pbc.qc | QC metrics of library complexity
+convertReads | *.filt.nodup.bedse.gz | bed alignment in BEDPE format
+convertReads | *.filt.nodup.tagAlign.gz | bed alignent in BEDPE format, same as bedse unless samples are paired-end
+experimentQC | coverage.pdf | plot to assess the sequencing depth of a given sample
+experimentQC | *_fingerprint.pdf | plot to determine if the antibody-treatment enriched sufficiently
+experimentQC | heatmeap_SpearmanCorr.pdf | plot of Spearman correlation between samples
+experimentQC | heatmeap_PearsonCorr.pdf | plot of Pearson correlation between samples
+experimentQC | sample_mbs.npz | array of multiple BAM summaries
+crossReads | *.filt.nodup.tagAlign.15.tagAlign.gz.cc.plot.pdf | plot of cross-correlation to assess signal-to-noise ratios
+crossReads | *.filt.nodup.tagAlign.15.tagAlign.gz.cc.qc | cross-correlation metrics. File [HEADER](https://git.biohpc.swmed.ed/bchen4/chipseq_analysis/raw/master/docs/xcor_header.txt)
+callPeaksMACS | *.fc_signal.bw | bigwig data file; raw fold enrichment of sample/control
+callPeaksMACS | *.pvalue_signal.bw | bigwig data file; sample/control signal adjusted for pvalue significance
+callPeaksMACS | *_peaks.narrowPeak | peaks file; see [HERE](https://genome.ucsc.edu/FAQ/FAQformat.html#format12) for ENCODE narrowPeak header format
+consensusPeaks | design_annotatePeaks.tsv | design file; can ignore
+consensusPeaks | design_diffPeaks.csv | design file; can ignore
+consensusPeaks | *.rejected.narrowPeak | peaks not supported by multiple testing (replicates and pseudo-replicates)
+consensusPeaks | *.replicated.narrowPeak | peaks supported by multiple testing (replicates and pseudo-replicates)
+consensusPeaks | unique_experiments.csv | design file; can ignore
+peakAnnotation | *.chipseeker_annotation.csv | annotated narrowPeaks file
+peakAnnotation | *.chipseeker_pie.pdf | pie graph of where narrow annotated peaks occur
+peakAnnotation | *.chipseeker_upsetplot.pdf | upsetplot showing the count of overlaps of the genes with different annotated location
+motifSearch | *_memechip/index.html | interactive HTML link of MEME output
+motifSearch | sorted-*.replicated.narrowPeak | Top 600 peaks sorted by p-value; input for motifSearch
+motifSearch | *_memechip/combined.meme | MEME identified motifs
+diffPeaks | heatmap.pdf | Use only for replicated samples; heatmap of relationship of peak location and peak intensity
+diffPeaks | normcount_peaksets.txt | Use only for replicated samples; peak set values of each sample
+diffPeaks | pca.pdf | Use only for replicated samples; PCA of peak location and peak intensity
+diffPeaks | *_diffbind.bed | Use only for replicated samples; bed file of peak locations between replicates
+diffPeaks | *_diffbind.csv | Use only for replicated samples; CSV file of peaks between replicates
+
+## Common Quality Control Metrics
+  + These are the list of files that should be reviewed before continuing on with the CHIPseq experiment. If your experiment fails any of these metrics, you should pause and re-evaluate whether the data should remain in the study.
+    1. filterReads/*.filt.nodup.pbc.qc: follow the ChiP-seq standards [HERE](https://www.encodeproject.org/chip-seq/); NRF>0.9, PBC1>0.9, and PBC2>10
+    2. experimentQC/*_fingerprint.pdf: make sure the plots information is correct for your antibody/input. See [HERE](https://deeptools.readthedocs.io/en/develop/content/tools/plotFingerprint.html) for more details.
+    3. crossReads/*.filt.nodup.tagAlign.15.tagAlign.gz.cc.plot.pdf: make sure your sample data has the correct signal intensity and location.  See [HERE](https://hbctraining.github.io/Intro-to-ChIPseq/lessons/06_QC_cross_correlation.html) for more details.
+    4. crossReads/*.filt.nodup.tagAlign.15.tagAlign.gz.cc.qc: Column 9 (NSC) should be > 1.1 for experiment and < 1.1 for input. Column 10 (RSC) should be > 0.8 for experiment and < 0.8 for input. See [HERE](https://hbctraining.github.io/Intro-to-ChIPseq/lessons/06_QC_cross_correlation.html) for more details.
+
+
+## Common Errors
+If you find an error, please let the [BICF](mailto:BICF@UTSouthwestern.edu) know and we will add it here.
+
+## Programs and Versions
+  + python/3.6.1-2-anaconda [website](https://www.anaconda.com/download/#linux) [citation](https://git.biohpc.swmed.edu/bchen4/chipseq_analysis/raw/master/docs/references.txt)
+  + trimgalore/0.4.1 [website](https://github.com/FelixKrueger/TrimGalore) [citation](https://git.biohpc.swmed.edu/bchen4/chipseq_analysis/raw/master/docs/references.txt)
+  + cutadapt/1.9.1 [website](https://cutadapt.readthedocs.io/en/stable/index.html) [citation](https://git.biohpc.swmed.edu/bchen4/chipseq_analysis/raw/master/docs/references.txt)
+  + bwa/intel/0.7.12 [website](http://bio-bwa.sourceforge.net/) [citation](https://git.biohpc.swmed.edu/bchen4/chipseq_analysis/raw/master/docs/references.txt)
+  + samtools/1.6 [website](http://samtools.sourceforge.net/) [citation](https://git.biohpc.swmed.edu/bchen4/chipseq_analysis/raw/master/docs/references.txt)
+  + sambamba/0.6.6 [website](http://lomereiter.github.io/sambamba/) [citation](https://git.biohpc.swmed.edu/bchen4/chipseq_analysis/raw/master/docs/references.txt)
+  + bedtools/2.26.0 [website](https://bedtools.readthedocs.io/en/latest/) [citation](https://git.biohpc.swmed.edu/bchen4/chipseq_analysis/raw/master/docs/references.txt)
+  + deeptools/2.5.0.1 [website](https://deeptools.readthedocs.io/en/develop/) [citation](https://git.biohpc.swmed.edu/bchen4/chipseq_analysis/raw/master/docs/references.txt)
+  + phantompeakqualtools/1.2 [website](https://github.com/kundajelab/phantompeakqualtools) [citation](https://git.biohpc.swmed.edu/bchen4/chipseq_analysis/raw/master/docs/references.txt)
+  + macs/2.1.0-20151222 [website](http://liulab.dfci.harvard.edu/MACS/) [citation](https://git.biohpc.swmed.edu/bchen4/chipseq_analysis/raw/master/docs/references.txt)
+  + UCSC_userApps/v317 [website](https://genome.ucsc.edu/util.html) [citation](https://git.biohpc.swmed.edu/bchen4/chipseq_analysis/raw/master/docs/references.txt)
+  + R/3.3.2-gccmkl [website](https://www.r-project.org/) [citation](https://git.biohpc.swmed.edu/bchen4/chipseq_analysis/raw/master/docs/references.txt)
+  + meme/4.11.1-gcc-openmpi [website](http://meme-suite.org/doc/install.html?man_type=web) [citation](https://git.biohpc.swmed.edu/bchen4/chipseq_analysis/raw/master/docs/references.txt)
+  + ChIPseeker [website](https://bioconductor.org/packages/release/bioc/html/ChIPseeker.html) [citation](https://git.biohpc.swmed.edu/bchen4/chipseq_analysis/raw/master/docs/references.txt)
+  + DiffBind [website](https://bioconductor.org/packages/release/bioc/html/DiffBind.html) [citation](https://git.biohpc.swmed.edu/bchen4/chipseq_analysis/raw/master/docs/references.txt)
+
+
+## Credits
+This example worklow is derived from original scripts kindly contributed by the Bioinformatic Core Facility ([BICF](https://www.utsouthwestern.edu/labs/bioinformatics/)), in the [Department of Bioinformatics](https://www.utsouthwestern.edu/departments/bioinformatics/).
+
+## Citation
+Please cite individual programs and versions used [HERE](https://git.biohpc.swmed.edu/bchen4/chipseq_analysis/raw/master/docs/references.txt). Also, please look out for our pipeline to be published in the future [HERE](https://zenodo.org/).
+
diff --git a/docs/CHIPseq.sh b/docs/CHIPseq.sh
new file mode 100644
index 0000000..68aa87c
--- /dev/null
+++ b/docs/CHIPseq.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+#SBATCH --job-name=CHIPseq
+#SBATCH --partition=super
+#SBATCH --output=CHIPseq.%j.out
+#SBATCH --error=CHIPseq.%j.err
+
+module load nextflow/0.31.0
+module add  python/3.6.1-2-anaconda
+
+nextflow run workflow/main.nf \
+--reads '/path/to/*fastq.gz' \
+--designFile '/path/to/design.txt' \
+--genome 'GRCm38' \
+--pairedEnd 'true'
diff --git a/docs/flowchart.pdf b/docs/flowchart.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..845c5fc6048d3b5eabea384a32cf1c75bb8c7024
GIT binary patch
literal 25444
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%0A%o
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

literal 0
HcmV?d00001

diff --git a/docs/references.txt b/docs/references.txt
new file mode 100644
index 0000000..363085d
--- /dev/null
+++ b/docs/references.txt
@@ -0,0 +1,49 @@
+python/3.6.1-2-anaconda:
+Anaconda (Anaconda Software Distribution, https://anaconda.com)
+
+trimgalore/0.4.1:
+trimgalore/0.4.1 (https://github.com/FelixKrueger/TrimGalore)
+
+cutadapt/1.9.1:
+Marcel, M. 2011. Cutadapt removes adapter sequences from high-throughput sequencing reads. EMBnet.journal 17(1):10-12. DOI: http://dx.doi.org/10.14806/ej.17.1.200
+
+bwa/intel/0.7.12:
+Li H., and R. Durbin. 2009. Fast and accurate short read alignment with Burrows-Wheeler Transform. Bioinformatics 25: 1754-60. 
+
+samtools/1.6:
+Li H., B. Handsaker, A. Wysoker, T. Fennell, J. Ruan, N. Homer, G. Marth, G. Abecasis, R. Durbin, and 1000 Genome Project Data Processing Subgroup. 2009. The Sequence alignment/map (SAM) format and SAMtools. Bioinformatics 25: 2078-9.
+
+sambamba/0.6.6:
+Tarasov, A., A. J. Vilella, E. Cuppen, I. J. Nijman, and P. Prins. 2015 Sambamba: fast processing of NGS alignment formats. Bioinformatics 31(12): 2032-2034. doi:10.1093/bioinformatics/btv098.
+
+bedtools/2.26.0:
+Quinlan, A. R., and I. M. Hall. 2010. BEDTools: a flexible suite of utilities for comparing genomic feautures. Bioinformatics 26(6): 841-842. doi:10.1093/bioinformatics/btq033
+
+deeptools/2.5.0.1:
+Ramírez, F., D. P. Ryan, B. Grüning, V. Bhardwaj, F. Kilpert, A. S. Richter, S. Heyne, F. Dündar, and T. Manke. 2016. deepTools2: a next generation web server for deep-sequencing data analysis. Nucleic Acids Research 44: W160-165. doi: 10.1093/nar/gkw257.
+
+phantompeakqualtools/1.2:
+Landt S. G., G. K. Marinov, A. Kundaje, et al. 2012. ChIP-seq guidelines and practices of the ENCODE and modENCODE consortia. Genome Res 9: 1813-31. doi: 10.1101/gr.136184.111.
+Kharchenko P. K., M. Y. Tolstorukov, and P. J. Park. 2008. Design and analysis of ChIP-seq experiments for DNA-binding proteins. Nat Biotechnol 26(12): 1351-1359.
+
+macs/2.1.0-20151222:
+Zhang Y., T. Liu, C. A. Meyer, J. Eeckhoute, D. S. Johnson, B. E. Bernstein, C. Nusbaum, R. M. Myers, M. Brown, W. Li, and X. S. Liu. 2008. Model-based Analysis of ChIP-Seq (MACS). Genome Biol 9: R137.
+
+UCSC_userApps/v317
+Kent W. J., A. S. Zweig, G. Barber, A. S. Hinrichs, and D. Karolchik. BigWig and BigBed: enabling browsing of large distributed data sets. Bioinformatics 26(17): 2204-2207.
+
+R/3.3.2-gccmkl:
+R Core Team 2014. R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria. URL http://www.R-project.org/.
+
+meme/4.11.1-gcc-openmpi:
+Bailey T. L., M. Bodén, F. A. Buske, M. Frith, C. E. Grant, L. Clementi, J. Ren, W. W. Li, and W. S. Noble. 2009. MEME SUITE: tools for motif discovery and searching. Nucleic Acids Research 37: W202-W208.
+Machanick P., and T. L. Bailey. 2011. MEME-ChIP: motif analysis of large DNA datasets. Bioinformatics 27(12): 1696-1697.
+
+R ChIPseeker:
+Yu G., L. Wang, and Q. He. 2015. ChIPseeker: an R/Bioconductor package for ChIP peak annotation, comparison and visualization. Bioinformatics 31(14): 2382-2383. doi: 10.1093/bioinformatics/btv145.
+
+R DiffBind:
+Stark R., and G. Brown. 2011. DiffBind: differential binding analysis of ChIP-Seq peak data. http://bioconductor.org/packages/release/bioc/vignettes/DiffBind/inst/doc/DiffBind.pdf.
+
+Ross-Innes C. S., R. Stark, A. E. Teschendorff, K. A. Holmes, H. R. Ali, M. J. Dunning,  G. D. Brown, O. Gojis, I. O. Ellis, A. R. Green, S. Ali, S. Chin, C. Palmieri, C. Caldas, and J. S. Carroll. 2012. Differential oestrogen receptor binding is associated with clinical outcome in breast cancer. Nature 481: 389-393. http://www.nature.com/nature/journal/v481/n7381/full/nature10730.html.
+
diff --git a/docs/xcor_header.txt b/docs/xcor_header.txt
new file mode 100644
index 0000000..c4c712b
--- /dev/null
+++ b/docs/xcor_header.txt
@@ -0,0 +1,17 @@
+See https://github.com/crazyhottommy/phantompeakqualtools for more details
+
+COL1: Filename: tagAlign/BAM filename
+COL2: numReads: effective sequencing depth i.e. total number of mapped reads in input file
+COL3: estFragLen: comma separated strand cross-correlation peak(s) in decreasing order of correlation.
+	  The top 3 local maxima locations that are within 90% of the maximum cross-correlation value are output.
+	  In almost all cases, the top (first) value in the list represents the predominant fragment length.
+	  If you want to keep only the top value simply run
+	  sed -r 's/,[^\t]+//g' <outFile> > <newOutFile>
+COL4: corr_estFragLen: comma separated strand cross-correlation value(s) in decreasing order (col2 follows the same order)
+COL5: phantomPeak: Read length/phantom peak strand shift
+COL6: corr_phantomPeak: Correlation value at phantom peak
+COL7: argmin_corr: strand shift at which cross-correlation is lowest
+COL8: min_corr: minimum value of cross-correlation
+COL9: Normalized strand cross-correlation coefficient (NSC) = COL4 / COL8
+COL10: Relative strand cross-correlation coefficient (RSC) = (COL4 - COL8) / (COL6 - COL8)
+COL11: QualityTag: Quality tag based on thresholded RSC (codes: -2:veryLow,-1:Low,0:Medium,1:High,2:veryHigh)
-- 
GitLab