Explore Workflows
View already parsed workflows here or click here to add your own
Graph | Name | Retrieved From | View |
---|---|---|---|
|
Trim Galore ChIP-Seq pipeline paired-end
This ChIP-Seq pipeline is based on the original [BioWardrobe's](https://biowardrobe.com) [PubMed ID:26248465](https://www.ncbi.nlm.nih.gov/pubmed/26248465) **ChIP-Seq** basic analysis workflow for a **paired-end** experiment with Trim Galore. ### Data Analysis SciDAP starts from the .fastq files which most DNA cores and commercial NGS companies return. Starting from raw data allows us to ensure that all experiments have been processed in the same way and simplifies the deposition of data to GEO upon publication. The data can be uploaded from users computer, downloaded directly from an ftp server of the core facility by providing a URL or from GEO by providing SRA accession number. Our current pipelines include the following steps: 1. Trimming the adapters with TrimGalore. This step is particularly important when the reads are long and the fragments are short-resulting in sequencing adapters at the end of read. If adapter is not removed the read will not map. TrimGalore can recognize standard adapters, such as Illumina or Nexterra/Tn5 adapters. 2. QC 3. (Optional) trimming adapters on 5' or 3' end by the specified number of bases. 4. Mapping reads with BowTie. Only uniquely mapped reads with less than 3 mismatches are used in the downstream analysis. Results are saved as a .bam file. 5. (Optional) Removal of duplicates (reads/pairs of reads mapping to exactly same location). This step is used to remove reads overamplified in PCR. Unfortunately, it may also remove \"good\" reads. We usually do not remove duplicates unless the library is heavily duplicated. Please note that MACS2 will remove 'excessive' duplicates during peak calling ina smart way (those not supported by other nearby reads). 6. Peakcalling by MACS2. (Optionally), it is possible to specify read extension length for MACS2 to use if the length determined automatically is wrong. 7. Generation of BigWig coverage files for display on the browser. The coverage shows the number of fragments at each base in the genome normalized to the number of millions of mapped reads. In the case of PE sequencing the fragments are real, but in the case of single reads the fragments are estimated by extending reads to the average fragment length found by MACS2 or specified by the user in 6. ### Details _Trim Galore_ is a wrapper around [Cutadapt](https://github.com/marcelm/cutadapt) and [FastQC](http://www.bioinformatics.babraham.ac.uk/projects/fastqc/) to consistently apply adapter and quality trimming to FastQ files, with extra functionality for RRBS data. A [FASTQ](http://maq.sourceforge.net/fastq.shtml) input file has to be provided. In outputs it returns coordinate sorted BAM file alongside with index BAI file, quality statistics for both the input FASTQ files, reads coverage in a form of BigWig file, peaks calling data in a form of narrowPeak or broadPeak files, islands with the assigned nearest genes and region type, data for average tag density plot (on the base of BAM file). Workflow starts with running fastx_quality_stats (steps fastx_quality_stats_upstream and fastx_quality_stats_downstream) from FASTX-Toolkit to calculate quality statistics for both upstream and downstream input FASTQ files. At the same time Bowtie is used to align reads from input FASTQ files to reference genome (Step bowtie_aligner). The output of this step is unsorted SAM file which is being sorted and indexed by samtools sort and samtools index (Step samtools_sort_index). Depending on workflow’s input parameters indexed and sorted BAM file could be processed by samtools rmdup (Step samtools_rmdup) to remove all possible read duplicates. In a case when removing duplicates is not necessary the step returns original input BAM and BAI files without any processing. If the duplicates were removed the following step (Step samtools_sort_index_after_rmdup) reruns samtools sort and samtools index with BAM and BAI files, if not - the step returns original unchanged input files. Right after that macs2 callpeak performs peak calling (Step macs2_callpeak). On the base of returned outputs the next step (Step macs2_island_count) calculates the number of islands and estimated fragment size. If the last one is less that 80 (hardcoded in a workflow) macs2 callpeak is rerun again with forced fixed fragment size value (Step macs2_callpeak_forced). If at the very beginning it was set in workflow input parameters to force run peak calling with fixed fragment size, this step is skipped and the original peak calling results are saved. In the next step workflow again calculates the number of islands and estimated fragment size (Step macs2_island_count_forced) for the data obtained from macs2_callpeak_forced step. If the last one was skipped the results from macs2_island_count_forced step are equal to the ones obtained from macs2_island_count step. Next step (Step macs2_stat) is used to define which of the islands and estimated fragment size should be used in workflow output: either from macs2_island_count step or from macs2_island_count_forced step. If input trigger of this step is set to True it means that macs2_callpeak_forced step was run and it returned different from macs2_callpeak step results, so macs2_stat step should return [fragments_new, fragments_old, islands_new], if trigger is False the step returns [fragments_old, fragments_old, islands_old], where sufix \"old\" defines results obtained from macs2_island_count step and sufix \"new\" - from macs2_island_count_forced step. The following two steps (Step bamtools_stats and bam_to_bigwig) are used to calculate coverage on the base of input BAM file and save it in BigWig format. For that purpose bamtools stats returns the number of mapped reads number which is then used as scaling factor by bedtools genomecov when it performs coverage calculation and saves it in BED format. The last one is then being sorted and converted to BigWig format by bedGraphToBigWig tool from UCSC utilities. Step get_stat is used to return a text file with statistics in a form of [TOTAL, ALIGNED, SUPRESSED, USED] reads count. Step island_intersect assigns genes and regions to the islands obtained from macs2_callpeak_forced. Step average_tag_density is used to calculate data for average tag density plot on the base of BAM file. |
![]() Path: workflows/trim-chipseq-pe.cwl Branch/Commit ID: e99e80a2c19682d59947bde04a892d7b6d90091c |
|
|
CUT&RUN/TAG SEACR pipeline paired-end
A basic analysis workflow for paired-read CUT&RUN and CUT&TAG sequencing experiments. These sequencing library prep methods are ultra-sensitive chromatin mapping technologies compared to the ChIP-Seq methodology. Its primary benefits include 1) length filtering, 2) a higher signal-to-noise ratio, and 3) built-in normalization for between sample comparisons. This workflow utilizes the tool [SEACR (Sparse Enrichment Analysis of CUT&RUN data)](https://github.com/FredHutch/SEACR) which calls enriched regions in the target sequence data by identifying the top 1% of regions by area under the curve (of the alignment pileup). This workflow is loosely based on the [CUT-RUNTools-2.0 pipeline](https://github.com/fl-yu/CUT-RUNTools-2.0) pipeline, and the ChIP-Seq pipeline from [BioWardrobe](https://biowardrobe.com) [PubMed ID:26248465](https://www.ncbi.nlm.nih.gov/pubmed/26248465) was used as a CWL template. ### __Inputs__ *General Info (required\*):* - Experiment short name/Alias* - a unique name for the sample (e.g. what was used on tubes while processing it) - Cells* - sample cell type or organism name - Conditions* - experimental condition name - Catalog # - catalog number for cells from vender/supplier - Primary [genome index](https://scidap.com/tutorials/basic/genome-indices) for peak calling* - preprocessed genome index of sample organism for primary alignment and peak calling - Secondary [genome index](https://scidap.com/tutorials/basic/genome-indices) for spike-in normalization* - preprocessed genome index of spike-in organism for secondary alignment (of unaligned reads from primary alignment) and spike-in normalization, default should be E. coli K-12 - FASTQ file for R1* - read 1 file of a pair-end library - FASTQ file for R2* - read 2 file of a pair-end library *Advanced:* - Number of bases to clip from the 3p end - used by bowtie aligner to trim <int> bases from 3' (right) end of reads - Number of bases to clip from the 5p end - used by bowtie aligner to trim <int> bases from 5' (left) end of reads - Call samtools rmdup to remove duplicates from sorted BAM file? - toggle on/off to remove duplicate reads from analysis - Fragment Length Filter will retain fragments between set base pair (bp) ranges for peak analysis - drop down menu - `Default_Range` retains fragments <1000 bp - `Histone_Binding_Library` retains fragments between 130-300 bp - `Transcription_Factor_Binding_Library` retains fragments <130 bp - Max distance (bp) from gene TSS (in both directions) overlapping which the peak will be assigned to the promoter region - default set to `1000` - Max distance (bp) from the promoter (only in upstream directions) overlapping which the peak will be assigned to the upstream region - default set to `20000` - Number of threads for steps that support multithreading - default set to `2` ### __Outputs__ Intermediate and final downloadable outputs include: - IGV with gene, BigWig (raw and normalized), and stringent peak tracks - quality statistics and visualizations for both R1/R2 input FASTQ files - coordinate sorted BAM file with associated BAI file for primary alignment - read pileup/coverage in BigWig format (raw and normalized) - cleaned bed files (containing fragment coordinates), and spike-in normalized SEACR peak-called BED files from both \"stringent\" and \"relaxed\" mode. - stringent peak call bed file with nearest gene annotations per peak ### __Data Analysis Steps__ 1. Trimming the adapters with TrimGalore. - This step is particularly important when the reads are long and the fragments are short - resulting in sequencing adapters at the ends of reads. If adapter is not removed the read will not map. TrimGalore can recognize standard adapters, such as Illumina or Nextera/Tn5 adapters. 2. Generate quality control statistics of trimmed, unmapped sequence data 3. (Optional) Clipping of 5' and/or 3' end by the specified number of bases. 4. Mapping reads to primary genome index with Bowtie. - Only uniquely mapped reads with less than 3 mismatches are used in the downstream analysis. Results are then sorted and indexed. Final outputs are in bam/bai format, which are also used to extrapolate effects of additional sequencing based on library complexity. 5. (Optional) Removal of duplicates (reads/pairs of reads mapping to exactly the same location). - This step is used to remove reads overamplified during amplification of the library. Unfortunately, it may also remove \"good\" reads. We usually do not remove duplicates unless the library is heavily duplicated. 6. Mapping unaligned reads from primary alignment to secondary genome index with Bowtie. - This step is used to obtain the number of reads for normalization, used to scale the pileups from the primary alignment. After normalization, sample pileups/peak may then be appropriately compared to one another assuming an equal use of spike-in material during library preparation. Note the default genome index for this step should be *E. coli* K-12 if no spike-in material was called out in the library protocol. Refer to [Step 16](https://www.protocols.io/view/cut-amp-tag-data-processing-and-analysis-tutorial-e6nvw93x7gmk/v1?step=16#step-4A3D8C70DC3011EABA5FF3676F0827C5) of the \"CUT&Tag Data Processing and Analysis Tutorial\" by Zheng Y et al (2020). Protocol.io. 7. Formatting alignment file to account for fragments based on paired-end BAM. - Generates a filtered and normalized bed file to be used as input for SEACR peak calling. 8. Call enriched regions using SEACR. - This step uses both stringent and relaxed peak calling modes with a FDR (false discovery rate) of 0.01, and no normalization to a control sample. The output of SEACR is the [called peaks BED format file](https://github.com/FredHutch/SEACR#description-of-output-fields). 9. Generation and formatting of output files. - This step collects read, alignment, and peak statistics, as well asgenerates BigWig coverage/pileup files for display on the browser using IGV. The coverage shows the number of fragments that cover each base in the genome both normalized and unnormalized to the calculated spike-in scaling factor. ### __References__ - Meers MP, Tenenbaum D, Henikoff S. (2019). Peak calling by Sparse Enrichment Analysis for CUT&RUN chromatin profiling. Epigenetics and Chromatin 12(1):42. - Langmead B, Trapnell C, Pop M, Salzberg SL. Ultrafast and memory-efficient alignment of short DNA sequences to the human genome. Genome Biol 10:R25. |
![]() Path: workflows/cutandrun-seacr-pe.cwl Branch/Commit ID: 93b844a80f4008cc973ea9b5efedaff32a343895 |
|
|
Raw sequence data to BQSR
|
![]() Path: definitions/subworkflows/sequence_to_bqsr.cwl Branch/Commit ID: e59c77629936fad069007ba642cad49fef7ad29f |
|
|
Detect DoCM variants
|
![]() Path: definitions/subworkflows/docm_germline.cwl Branch/Commit ID: 9c0b1497c467393e1a54735575043dced73e95c4 |
|
|
scatter-wf4.cwl#main
|
![]() Path: tests/wf/scatter-wf4.cwl Branch/Commit ID: 49cd284a8fc7884de763573075d3e1d6a4c1ffdd Packed ID: main |
|
|
Subworkflow to allow calling cnvkit with cram instead of bam files
|
![]() Path: definitions/subworkflows/cram_to_cnvkit.cwl Branch/Commit ID: 51724b44c96e5fd849ae55b752865b80bc47d66c |
|
|
Motif Finding with HOMER with target and background regions from peaks
Motif Finding with HOMER with target and background regions from peaks --------------------------------------------------- HOMER contains a novel motif discovery algorithm that was designed for regulatory element analysis in genomics applications (DNA only, no protein). It is a differential motif discovery algorithm, which means that it takes two sets of sequences and tries to identify the regulatory elements that are specifically enriched in on set relative to the other. It uses ZOOPS scoring (zero or one occurrence per sequence) coupled with the hypergeometric enrichment calculations (or binomial) to determine motif enrichment. HOMER also tries its best to account for sequenced bias in the dataset. It was designed with ChIP-Seq and promoter analysis in mind, but can be applied to pretty much any nucleic acids motif finding problem. For more information please refer to: ------------------------------------- [Official documentation](http://homer.ucsd.edu/homer/motif/) |
![]() Path: workflows/homer-motif-analysis-peak.cwl Branch/Commit ID: 7ced5a5259dbd8b3fc64456beaeffd44f4a24081 |
|
|
Unaligned to aligned BAM
|
![]() Path: definitions/subworkflows/align.cwl Branch/Commit ID: 51724b44c96e5fd849ae55b752865b80bc47d66c |
|
|
timelimit4-wf.cwl
|
![]() Path: tests/timelimit4-wf.cwl Branch/Commit ID: ea9f8634e41824ac3f81c3dde698d5f0eef54f1b |
|
|
count-lines3-wf.cwl
|
![]() Path: cwltool/schemas/v1.0/v1.0/count-lines3-wf.cwl Branch/Commit ID: 7c7615c44b80f8e76e659433f8c7875603ae0b25 |