Package: eclip-peak
eCLIP-PeakPipeline for using IDR to identify a set of reproducible peaks given eClIP dataset with two or three replicates.InstallationFor Van Nostrand LabThe pipeline has already been installed. Activate its environment
by issue the following command:source /storage/vannostrand/software/eclip/venv/environment.sh.For all others:Install Python (3.6+)Install peak (pip install eclip-peak)InstallIDR(2.0.3+)Install Perl (5.10.1+) with the following packages:Statistics::Basic (cpanm install Statistics::Basic)Statistics::Distributions (cpanm install Statistics::Distributions)install Statistics::R (cpanm install Statistics::R)UsageFor Van Nostrand LabAfter activate peak's environment callpeak -hto see the detailed usage.For all others:After successfully installed Python, peak, Perl (with required packages),
callpeak -hinside your terminal to see the following detailed usage:$peak-h
usage:peak[-h][--ip_bamsIP_BAMS[IP_BAMS...]][--input_bamsINPUT_BAMS[INPUT_BAMS...]][--peak_bedsPEAK_BEDS[PEAK_BEDS...]][--read_typeREAD_TYPE][--outdirOUTDIR][--speciesSPECIES][--l2fcL2FC][--l10pL10P][--idrIDR][--dry_run][--cores][--debug]PipelineforusingIDRtoidentifyasetofreproduciblepeaksgiveneClIPdatasetwithtwoorthreereplicates.

optionalarguments:-h,--helpshowthishelpmessageandexit--ip_bamsIP_BAMS[IP_BAMS...]SpaceseparatedIPbamfiles(atleast2files).--input_bamsINPUT_BAMS[INPUT_BAMS...]SpaceseparatedINPUTbamfiles(atleast2files).--peak_bedsPEAK_BEDS[PEAK_BEDS...]Spaceseparatedpeakbedfiles(atleast2files).--idsIDS[IDS...]OptionalspaceseparatedshortIDs(e.g.,S1,S2,S3)fordatasets.--read_typeREAD_TYPEReadtypeofeCLIPexperiment,eitherSEorPE.--outdirOUTDIRPathtooutputdirectory.--speciesSPECIESShortcodeforspecies,e.g.,hg19,mm10.--l2fcL2FCOnlyconsiderpeaksatorabovethisl2fccutoff,default:3.--l10pL10POnlyconsiderpeaksatorabovethisl10pcutoff,default:3.--idrIDROnlyconsiderpeaksatorabovethisidrscorecutoff,default:0.01.--coresCORESMaximumnumberofCPUcoresforparallelprocessing,default:1.--dry_runPrintoutstepsandinputs/outputsofeachstepwithoutactuallyrunningthepipeline.--debugInvokedebugmode(onlyfordeveloppurpose).Outline of workflowNormalize CLIP IP BAM over INPUT for each replicatePeak compression/merging on input-normalized peaks for each replicateEntropy calculation on IP and INPUT read probabilities within each peak for each replicateRun IDR on peaks ranked by entropyNormalize IP BAM over INPUT using new IDR peak regionsIdentify reproducible peaks within IDR regionsExampleseCLIP with 2 replicatesAssuming we have eCLIP pipeline run successfully and have the following files generated
for specieshg19:replicate 1:
    IP BAM: ip1.bam
    INPUT BAM: input1.bam
    Peak BED: clip1.peak.clusters.bed
replicate 2:
    IP BAM: ip2.bam
    INPUT BAM: input2.bam
    Peak BED: clip2.peak.clusters.bedThe pipeline then can be called like this to identify reproducible peaks:peak\--ip_bamsip1.bamip2.bam\--input_bamsinput1.baminput2.bam\--peak_bedsclip1.peak.clusters.bedclip2.peak.clusters.bed\--specieshg19eCLIP with 3 replicatesAssuming we have eCLIP pipeline run successfully and have the following files generated
for specieshg19:replicate 1:
    IP BAM: ip1.bam
    INPUT BAM: input1.bam
    Peak BED: clip1.peak.clusters.bed
replicate 2:
    IP BAM: ip2.bam
    INPUT BAM: input2.bam
    Peak BED: clip2.peak.clusters.bed
replicate 3:
    IP BAM: ip3.bam
    INPUT BAM: input3.bam
    Peak BED: clip3.peak.clusters.bedThe pipeline then can be called like this to identify reproducible peaks:peak\--ip_bamsip1.bamip2.bamip3.bam\--input_bamsinput1.baminput2.baminput3.bam\--peak_bedsclip1.peak.clusters.bedclip2.peak.clusters.bedclip3.peak.clusters.bed\--specieshg19Note:The indentation of the command does not matter, you can write it on the same line.The order of bam and peak files followed by--ip_bams,input_bams, andpeak_bedsDOES matter, make sure you pass them in a consistent order for these three parameters.There are 3 cutoffs can be set for fine tune the peak filtering, see Usage part for
more details.If the pipeline failed, check the log to identify the error and make necessary changes,
re-run the pipeline will skip successfully processed parts only continue to processed
failed and unprocessed parts.OutputThe peak pipeline will output 5 different types of files into the current work directory
or into a user specified output directory (via--outdir):*.bed: either a 6 columns or 9 columns bed file saves information for peaks.*.tsv: TSV separated text file saves more information in addition to the BED file.*.txt: text file saves the mapped reads count*.out: TAB separated text file generated by IDR.*.png: plot generated by IDR.All filenames of output files are self-explained, only the basename of peak bed files (
after the removal of .peak.clusters.bed) was used to mark the name of each replicate.The reproducible peaks can be found in
*.reproducible.peaks.bed and additional information can be found in *.reproducible.peaks.custom.tsv.
While the former file is 6-column bed file, the later one is a TSV separated text file with the
following columns in order:IDR region (entire IDR identified reproducible region)Peak (reproducible peak region)Geomean of the l2fcColumns of log2 fold change (2 or 3 columns for 2 or 3 replicates experiment, respectively)Columns of -log10 p-value (2 or 3 columns for 2 or 3 replicates experiment, respectively)