Spiker’s Documentation
Introduction to spike-in control
ChIP-sequencing (ChIP-Seq) is widely used to map transcription factor binding sites (TFBS) and histone modifications (methylation, acetylation, phosphorylation, and ubiquitylation) status to the genome. One important step of ChIP-seq data analysis is peak calling, in which the ChIPed sample is compared to the control sample to find peak regions where “DNA fragments from ChIPed samples” are significantly enriched.
Besides peak calling, ChIP-seq data can also be used for quantitative analyses, in which one group of ChIPed samples are compared to another group of ChIPed samples to identify differential TFBS, gained or lost histone modification sites, etc.
Both peak calling and quantitative analysis assume the same number of cells would yield the same amount of DNAs (or chromatin) under different conditions. Sometimes, this assumption does not hold 1. For example, when the histone methyltransferases (such as EZH2 for H3K27 2, SETD2 for H3K36 3, DOT1L for H3K79 4) are mutated or dysregulated. The per-cell DNA/chromatin yield in ChIP experiments will be significantly reduced. In these scenarios, conventional normalization and analytic methods will fail or compromise the power to identify peaks or detect epigenetic changes.
To accurately quantify the ChIP-seq signals, we need to set up an “internal control”–a small amount of exogenous chromatin (called spike-in chromatin) added to all the samples before doing the ChIP experiment. Any biological manipulations or technical variations introduced during the ChIP-seq experiment will also occur with the spike-in chromatin. After sequencing, we can normalize the signals from the experimental samples to this “internal control”.
The Drosophila melanogaster (fruit fly) genome is a good exogenous control for mammalian cells because 1) The Drosophila genome is well studied and has a high-quality sequence assembly. 2) The similarity between Drosophila and human (mouse) genomes is low, so that it’s easy to separate “human DNA sequences” from “Drosophila DNA sequences”. 3) Drosophila cells are readily available in large quantities. 4) The Drosophila cells have all of the key histone modification marks reported in humans.
References
- 1
Chen K, Hu Z, Xia Z, Zhao D, Li W, Tyler JK. The Overlooked Fact: Fundamental Need for Spike-In Control for Virtually All Genome-Wide Analyses. Mol Cell Biol. 2015 Dec 28;36(5):662-7. doi: 10.1128/MCB.00970-14. PMID: 26711261
- 2
Cao R, Wang L, Wang H, Xia L, Erdjument-Bromage H, Tempst P, Jones RS, Zhang Y. Role of histone H3 lysine 27 methylation in Polycomb-group silencing. Science. 2002 Nov 1;298(5595):1039-43. doi: 10.1126/science.1076997. Epub 2002 Sep 26. PMID: 12351676.
- 3
Pfister SX, Ahrabi S, Zalmas LP, Sarkar S, Aymard F, Bachrati CZ, Helleday T, Legube G, La Thangue NB, Porter AC, Humphrey TC. SETD2-dependent histone H3K36 trimethylation is required for homologous recombination repair and genome stability. Cell Rep. 2014 Jun 26;7(6):2006-18. doi: 10.1016/j.celrep.2014.05.026. Epub 2014 Jun 12. PMID: 24931610
- 4
Orlando DA, Chen MW, Brown VE, Solanki S, Choi YJ, Olson ER, Fritz CC, Bradner JE, Guenther MG. Quantitative ChIP-Seq normalization reveals global modulation of the epigenome. Cell Rep. 2014 Nov 6;9(3):1163-70. doi: 10.1016/j.celrep.2014.10.018. Epub 2014 Oct 30. PMID: 25437568.
Prerequisites
These programs must be installed and callable from the command line:
Python Dependencies
Note
These packages will be installed automatically if you use pip3.
Install Spiker
Use pip3 to install spiker from PyPI or github.
$ pip3 install spiker
or
$ pip3 install git+https://github.com/liguowang/spiker.git
Upgrade Spiker
$ pip3 install spiker --upgrade
Uninstall
$ pip3 uninstall spiker
Analysis workflow
Spiker is specifically designed to analyze ChIP-seq data with spike-in control.
Input and output
The input files can be single-end or paired-end FASTQ files or pre-aligned BAM files. It supports both narrow peak (such as H3K27ac) and broad peak analysis (such as H3K79me2 in this tutorial).
Input single-end fastq files
$ spiker.py --t1 H3K27ac.fastq.gz --c1 control.fastq.gz --bt2-index /data/GRCh38 --spikeIn --csf 1.23 --tsf 0.95 -o H3K27ac
$ spiker.py --broad --t1 H3K27ac.fastq.gz --c1 control.fastq.gz --bt2-index /data/GRCh38 --spikeIn --csf 1.23 --tsf 0.95 -o H3K27ac
Input paired-end fastq files
$ spiker.py --t1 H3K27ac_R1.fastq.gz --t2 H3K27ac_R2.fastq.gz --c1 control_R1.fastq.gz --c2 control_R2.fastq.gz --bt2-index /data/GRCh38 --spikeIn --csf 1.23 --tsf 0.95 -o H3K27ac
$ spiker.py --broad --t1 H3K27ac_R1.fastq.gz --t2 H3K27ac_R2.fastq.gz --c1 control_R1.fastq.gz --c2 control_R2.fastq.gz --bt2-index /data/GRCh38 --spikeIn --csf 1.23 --tsf 0.95 -o H3K27ac
Input BAM files
$ spiker.py -t H3K27ac.sorted.bam -c control.sorted.bam --spikeIn --csf 1.23 --tsf 0.95 -o H3K27ac
$ spiker.py --broad -t H3K27ac.sorted.bam -c control.sorted.bam --spikeIn --csf 1.23 --tsf 0.95 -o H3K27ac
Output files
Spiker.py options
- Options:
- --version
show program’s version number and exit
- -h, --help
show this help message and exit
- --t1=CHIP_R1
FASTQ file (read1) for ChIP sample. Can be regular plain text file or compressed file (.gz, .bz2). Mutually exclusive with ‘-t’.
- --t2=CHIP_R2
FASTQ file (reas2) for ChIP sample. Can be regular plain text file or compressed file (.gz, .bz2). Mutually exclusive with ‘-t’. Ignore this for single- end sequencing.
- -t CHIP_BAM, --treat=CHIP_BAM
BAM file of ChIP sample. The BAM file must be sorted and indexed. Mutually exclusive with ‘–t1’ and ‘– t2’.
- --c1=CTRL_R1
FASTQ file (read1) for Control sample. Can be regular plain text file or compressed file (.gz, .bz2). Mutually exclusive with ‘-c’.
- --c2=CTRL_R2
FASTQ file (reas2) for Control sample. Can be regular plain text file or compressed file (.gz, .bz2). Mutually exclusive with ‘-c’. Ignore this for single- end sequencing.
- -c CTRL_BAM, --control=CTRL_BAM
BAM file of Control sample. Mutually exclusive with ‘ –c1’ and ‘–c2’. The BAM file must be sorted and indexed.
- -o OUTFILE, --output=OUTFILE
Prefix of output files.
- --bt2-index=BT2_INDEX
The prefix (minus trailing .X.bt2) for bowtie2 index files. Ignore this option if BAM files were provided by ‘-t’ and ‘-c’.
- -n N_READS
Number of alignments from the BAM file used to tell the sequencing layout (PE or SE), and estiamte the fragment size ‘d’. default=1000000
- -g G_SIZE, --genome-size=G_SIZE
Effective genome size. It can be 1.0e+9 or 1000000000, or shortcuts:’hs’ for human (2.7e9), ‘mm’ for mouse (1.87e9), ‘ce’ for C. elegans (9e7) and ‘dm’ for fruitfly (1.2e8). default=hs
- -p N_THREADS, --proc=N_THREADS
Number of threads. default=8
- --mfold=M_FOLD
Select the regions within MFOLD range of high- confidence enrichment ratio against background to build model. Fold-enrichment in regions must be lower than upper limit, and higher than the lower limit. Use as “-m 10 30”. DEFAULT:5 50
- --spikeIn
Set this flag if ChIP and control samples contains exogenous reads as splike-in. Please note, you also need to specify –tsf and –csf.
- --tsf=TREAT_SF
Scaling factor for treatment. This will be applied to the pileup bedgraph file of treatment (*.treat.pileup.bdg).
- --csf=CONTROL_SF
Scaling factor for control. This will be applied to the pileup bedgraph file of maximum background (*.control.pileup.max.bdg).
- --q-peak=Q_CUTOFF
Qvalue cutoff for peaks. default=0.05
- --q-link=Q_LINK_CUT
Qvalue cutoff for linking regions. default=0.1
- --bw
If set, generate bigwig files for ChIP pileup and control pileup.
- --maxgap=MAX_GAP
maximum gap between significant points in a peak. default=100
- --broad
If set, call broad peaks.
- --frip
If set, calculate FRiP (the Fraction of Reads In called Peaks) score using the BAM and peak files.
- --cleanup
If set, clean up the intermediate files. When not set, intermediate files are kept so that rerun the workflwo will be much faster.
- --refine
If set, detect peak summit position.
- --verbose
If set, print detailed information for debugging.
split_bam.py options
- Options:
- --version
show program’s version number and exit
- -h, --help
show this help message and exit
- -i BAM_FILE
BAM file of the composite genome (such as human + fly)
- -o OUT_PREFIX, --output=OUT_PREFIX
Output prefix. The original BAM file will be split into four BAM files: ‘prefix_human.bam’, ‘prefix_exogenous.bam’, ‘prefix_both.bam’, ‘prefix_neither.bam’.
- -p CHR_PREFIX, --exo-prefix=CHR_PREFIX
Prefix added to the exogenous chromosome IDs. For example. ‘chr2L’ -> ‘dm6_chr2L’. default=dm6_
- -q MAP_QUAL, --mapq=MAP_QUAL
Mapping quality (phred scaled) threshold. Alignments with mapping quality score lower than this will be assigned to ‘prefix_neither.bam’. default=30
- --threads=N_THREAD
Number of threads to use for BAM sorting. default=1
Prepare FASTQ files
Usually, the FASTQ files are delivered to you from the sequencing core. In this tutorial, we will use the H3K79me2 ChIP-seq data published by Orlando et al (Cell Reports, 2014). In this study, Drosophila S2 cells were added to human Jurkat cells at the ratio of 1:2.
Sample (ChIP) |
SRR_accession |
Sample (WCE) |
SRR_accession |
Jurkat_K79_0%_R1 |
Jurkat_WCE_0%_R1 |
||
Jurkat_K79_25%_R1 |
Jurkat_WCE_25%_R1 |
||
Jurkat_K79_50%_R1 |
Jurkat_WCE_50%_R1 |
||
Jurkat_K79_75%_R1 |
Jurkat_WCE_75%_R1 |
||
Jurkat_K79_100%_R1 |
Jurkat_WCE_100%_R1 |
After download the SRA files to your hard drive, you will need the fastq-dump
command from the SRA Tookit to convert the SRA archive files into FASTQ format. We used this command to convert single-end sequencing data:
$ fastq-dump SRA_file1 SRA_file2 SRA_file3
Note
Alternatively, you can download FASTQ files directly from the ENA (Enropean Nucleotide Archive) by searching SRR accession numbers listed in the above table.
Build bowtie2 index files
To calculate how many reads in the FASTQ files are drived from the Drosophila S2 cells, we could map all reads to the composite reference genome (i.e., human + Drosophila). In this tutorial, we will use bowtie2, other short reads aligners such as BWA also work fine. To use bowtie2 to map reads to the composite reference genome, we need to create bowtie2 index files first.
Download the human and Drosophila reference genome sequences:
$ wget http://hgdownload.soe.ucsc.edu/goldenPath/hg38/bigZips/hg38.fa.gz
$ wget http://hgdownload.soe.ucsc.edu/goldenPath/dm6/bigZips/dm6.fa.gz
$ gunzip hg38.fa.gz
$ gunzip dm6.fa.gz
Rename chromosome IDs of the Drosophila genome:
$ sed 's/chr/dm6_chr/g' dm6.fa > dm6_renameID.fa
Concatenate the human and Drosophila genome files:
$ cat hg38.fa dm6_renameID.fa > hg38_dm6.fa
Run bowtie2-build
to build index files. “hg38_dm6” is the prefix of index files:
$ bowtie2-build hg38_dm6.fa hg38_dm6
Clean up:
$ rm hg38.fa dm6.fa dm6_renameID.fa
Note
We have Bowtie2 index files files for hg38 + dm6, hg19 + dm6, mm9 + dm6, mm10 + dm6, mm39 + dm6 available for download.
Map reads to the composite reference genome
Use bowtie2 to map all reads to the composite reference genome (i.e., hg38_dm6.fa). Sort and index the BAM files using Samtools. Below is an example to process one sample:
bowtie2 --threads 4 -x ./database/GRCh38_dm6 -U Jurkat_K79_00p_Rep1_SRR1536557.fastq.gz | samtools view -Sbh - > Jurkat_K79_00p_Rep1_SRR1536557.bam
samtools sort -@ 4 Jurkat_K79_00p_Rep1_SRR1536557.bam > Jurkat_K79_00p_Rep1_SRR1536557.sorted.bam
samtools index -@ 4 Jurkat_K79_00p_Rep1_SRR1536557.sorted.bam
Note
We have pre-aligned BAM files available from Test dataset for download.
Calculate scaling factors
To remove experimental bias and accurately quantify ChIP signal changes, the amount of exogenous Drosophila chromatin in different samples needs to be normalized to the same level. After sequencing, this is equivalent to normalize Drosophila reads to the same amount.
We provide split_bam.py
to split the BAM file into 4 sub-BAM files.
_both.bam : contains reads mapped to both human and Drosophila genomes
_exogenous.bam : contains reads only map to the Drosophila genomes
_human.bam : contains reads only map to the human genomes
_neither.bam : contains qcfailed, low quality, unmapped, dupilcate reads etc.
A report file describing the number of alignments in each sub-BAM is also generated.
For example:
$ split_bam.py --threads 8 -i Jurkat_K79_00p_Rep1_SRR1536557.sorted.bam -o Jurkat_K79_00p_Rep1
Read the BAM file: Jurkat_K79_00p_Rep1_SRR1536557.sorted.bam
Done
[bam_sort_core] merging from 0 files and 8 in-memory blocks...
[bam_sort_core] merging from 0 files and 8 in-memory blocks...
[bam_sort_core] merging from 0 files and 8 in-memory blocks..
$ cat Jurkat_K79_00p_Rep1.report.txt
Sample n_unmapped n_qcFail n_duplicate n_secondary n_low_mapq n_both n_sample n_exogenous
Jurkat_K79_00p_Rep1_SRR1536557.sorted.bam 719553 0 0 0 5355549 0 20741684 5207395
Mapping statistics and the derived scaling factors (SF) are summerized in the table below (the number of Drosophila reads in each sample was normalized to 1 million).
Sample |
Unmapped reads |
Low_mapq_reads |
Human_reads |
Fly_reads |
SF |
Jurkat_K79_00p_Rep1_SRR1536557 |
719,553 |
5,355,549 |
20,741,684 |
5,207,395 |
0.1920346 |
Jurkat_K79_25p_Rep1_SRR1536558 |
2,177,315 |
5,367,333 |
19,282,608 |
6,035,961 |
0.1656737 |
Jurkat_K79_50p_Rep1_SRR1536559 |
2,919,492 |
5,233,017 |
17,235,944 |
6,931,602 |
0.14426679 |
Jurkat_K79_75p_Rep1_SRR1536560 |
1,627,494 |
4,300,454 |
11,731,507 |
8,291,870 |
0.12060006 |
Jurkat_K79_100p_Rep1_SRR1536561 |
4,526,721 |
5,109,981 |
7,893,377 |
14,372,323 |
0.06957817 |
Jurkat_WCE_00p_Rep1.SRR1584489 |
2,344,210 |
3,914,206 |
11,126,768 |
844,395 |
1.18427987 |
Jurkat_WCE_25p_Rep1.SRR1584490 |
9,982,131 |
1,056,402 |
2,771,236 |
164,052 |
6.09562822 |
Jurkat_WCE_50p_Rep1.SRR1584491 |
4,398,297 |
1,750,494 |
4,431,034 |
267,211 |
3.74236091 |
Jurkat_WCE_75p_Rep1.SRR1584492 |
7,317,599 |
1,620,854 |
4,029,096 |
179,641 |
5.56665795 |
Jurkat_WCE_100p_Rep1.SRR1584493 |
7,609,117 |
2,336,349 |
5,197,374 |
344,665 |
2.901368 |
Note
You can also use K-mer based, alignment-free methods to calculate scaling factor. For example, you can use xenome to separate human and fly reads from your FASTQ files.
Run Spiker
Spiker is specifically designed to analyze ChIP-seq data with spike-in control. The input files can be single-end or paired-end FASTQ files or pre-aligned BAM files. It supports both narrow peak (such as H3K27ac) and broad peak analysis (such as H3K79me2 in this tutorial).
In below, we used “Jurkat_K79_00p_Rep1_SRR1536557_human.sorted.bam” (ChIP) and “Jurkat_WCE_00p_Rep1.SRR1584489_human.sorted.bam” (control) as inputs to Spiker:
$ spiker.py --broad --spikeIn --csf 1.18 --tsf 0.19 --bw -t Jurkat_K79_00p_Rep1_SRR1536557_human.sorted.bam -c Jurkat_WCE_00p_Rep1.SRR1584489_human.sorted.bam -o Jurkat_K79_00p_Rep1_SRR1536557
2021-02-18 12:56:20 [INFO] Running ChIP-seq workflow ...
2021-02-18 12:56:20 [INFO] Input BAM files. Skip Step_1 (reads mapping).
2021-02-18 12:56:20 [INFO] Step_2: Extract information from BAM files ...
2021-02-18 12:56:20 [INFO] Step_2.1: Check sequencing layout from BAM file ...
2021-02-18 12:56:22 [INFO] The layout of Jurkat_K79_00p_Rep1_SRR1536557_human.sorted.bam is SE
2021-02-18 12:56:23 [INFO] The layout of Jurkat_WCE_00p_Rep1.SRR1584489_human.sorted.bam is SE
2021-02-18 12:56:23 [INFO] Step_2.2: Extract information from ChIP BAM files ...
2021-02-18 12:56:25 [INFO] The total mapped reads in ChIP sample is: 20741684
2021-02-18 12:56:25 [INFO] Step_2.3: Extract information from control BAM files ...
2021-02-18 12:56:26 [INFO] The total mapped reads in control sample is: 11126768
2021-02-18 12:56:26 [INFO] Step_3: Deduplication ...
2021-02-18 12:56:26 [INFO] Step_3.1: Remove duplidate reads from ChIP BAM file ...
...
Output files
- *.gappedPeak
peak file (in gappedPeak) called by Spiker.
- *.control.pileup.max.bdg
bedGraph file of control pileup
- *.control.pileup.max.bigWig
bigWig file of control pileup
- *.treat.pileup.bdg
bedGraph file of ChIP sample pileup (raw)
- *.treat.pileup.SpikeIn_scaled.bdg
bedGraph file of ChIP sample pileup (Scaled to spike-in control)
- *.treat.pileup.SpikeIn_scaled.bigWig
bigWig file of ChIP sample pileup (Scaled to spike-in control)
Bowtie2 index files
We first download the Reference genome sequences for Human, Mouse, and Drosophila from UCSC. We then build the bowtie2 index files for human + Drosophila and mouse + Drosophila composite genomes (listed in the table below).
Index files for Human + Drosophila
Composite genome |
Download link |
Size |
md5sum |
Human (GRCh37/hg19) + Drosophila (dm6) |
4.9 GB |
962d0356703462f610cde06e46bde9e4 |
|
Human (GRCh38/hg38) + Drosophila (dm6) |
5.1 GB |
efb62dac65aafae0ca8d300525cae7c6 |
Index files for Mouse + Drosophila
Composite genome |
Download link |
Size |
md5sum |
Mouse (NCBI37/mm9) + Drosophila (dm6) |
4.3 GB |
885d11585ed5d407f9f37eafd8fff106 |
|
Mouse (GRCm38/mm10) + Drosophila (dm6) |
4.5 GB |
751753ff50bb2c228e213a8873e92943 |
|
Mouse (GRCm39/mm39) + Drosophila (dm6) |
4.5 GB |
e1cafa46619ad1a1bfd98e00a635e853 |
After download, use md5sum *.tar.gz
(Linux) or md5 *.tar.gz
(Mac OS X) to verify the file integrity and then use tar -zxvf *.tar.gz
to uncompress.
Note
Because the Drosophila genome also has the “chrX”, “chrY” and, “chrM”. In the composite genome, the chromosome IDs of Drosophila were modified by adding the prefix “dm6_”.
Test dataset
We used the H3K79me2 ChIP-seq data published by Orlando et al as the testing dataset. In this study, human Jurkat cells were treated with either DMSO or EPZ (Dot1L inhibitor), then collected individually and mixed according to the following compositions by cell number.
100% DMSO to 0% EPZ
75% DMSO to 25% EPZ.
50% DMSO to 50% EPZ.
25% DMSO to 75% EPZ.
0% DMSO to 100% EPZ.
They tested whether traditional ChIP-seq analysis methods would reveal the decrease in human per-cell H3K79me2 occupancy and, if not, whether the addition of the exogenous Drosophila chromatin would allow detection of H3K79me2 removal. All data has been deposited into GEO with accession GSE60104.
H3K79me2 ChIP-seq data
Sample |
SRR_accession |
BAM (hg38 only) |
bigWig files |
BAM (hg38 + dm6) |
Jurkat_K79_0%_R1 |
||||
Jurkat_K79_25%_R1 |
||||
Jurkat_K79_50%_R1 |
||||
Jurkat_K79_75%_R1 |
||||
Jurkat_K79_100%_R1 |
WCE (whole cell extract) data
Sample |
SRR_accession |
BAM (hg38 only) |
Jurkat_WCE_0%_R1 |
||
Jurkat_WCE_25%_R1 |
||
Jurkat_WCE_50%_R1 |
||
Jurkat_WCE_75%_R1 |
||
Jurkat_WCE_100%_R1 |
MD5sum
# K79 BAM files with reads only mapped to the human reference genome (GRCh38/hg38)
MD5 (Jurkat_K79_00p_Rep1_SRR1536557_human.sorted.bam) = a4b8ac56f6ce4e1f9c0da2279ec3ea36
MD5 (Jurkat_K79_25p_Rep1_SRR1536558_human.sorted.bam) = 56be607cb3ab886aa2fb033b4a8d37ab
MD5 (Jurkat_K79_50p_Rep1_SRR1536559_human.sorted.bam) = 653170d551ce395e40b044cfa36fbaef
MD5 (Jurkat_K79_75p_Rep1_SRR1536560_human.sorted.bam) = 23495e1422d9546ba496e69e2becd6f7
MD5 (Jurkat_K79_100p_Rep1_SRR1536561_human.sorted.bam) = 2ebc83a02982a2be8deaca7b84651e44
# K79 bigWig files generated by Spiker
MD5 (K79_00p_R1.treat.hg38.SpikeIn_scaled.bigWig) = f13d2c6e228c87cf1d8262352f7e983c
MD5 (K79_25p_R1.treat.hg38.SpikeIn_scaled.bigWig) = 0789024f52c35a3888254239dad6766a
MD5 (K79_50p_R1.treat.hg38.SpikeIn_scaled.bigWig) = 83321afec8522f21c20baee3e772d85c
MD5 (K79_75p_R1.treat.hg38.SpikeIn_scaled.bigWig) = bb64aafd851acb581742b581fa06cc5b
MD5 (K79_100p_R1.treat.hg38.SpikeIn_scaled.bigWig) = aa2a38350a0dc07978b76297ea913dc3
# K79 BAM files with reads mapped to the composite genome (hg38 + dm6)
MD5 (Jurkat_K79_00p_Rep1_SRR1536557.sorted.bam) = 729b5391769c763eb1c85e5b2ee66af9
MD5 (Jurkat_K79_25p_Rep1_SRR1536558.sorted.bam) = faffab3d3f9161304826c7f5bf84ee9e
MD5 (Jurkat_K79_50p_Rep1_SRR1536559.sorted.bam) = 0c72e603c844fa8a38ca9fe8c2496a89
MD5 (Jurkat_K79_75p_Rep1_SRR1536560.sorted.bam) = 9cac7b03ec65804ad3cb25143480348a
MD5 (Jurkat_K79_100p_Rep1_SRR1536561.sorted.bam) = 05107197f676e8b898bee99ed001a61a
# WCE BAM files with reads only mapped to the human reference genome (GRCh38/hg38)
MD5 (Jurkat_WCE_00p_Rep1.SRR1584489_human.sorted.bam) = 561430e24b5edab177bfc4e832c5d8c0
MD5 (Jurkat_WCE_100p_Rep1.SRR1584493_human.sorted.bam) = 8a8546927383afeda6c0e20f82807024
MD5 (Jurkat_WCE_25p_Rep1.SRR1584490_human.sorted.bam) = 4396f3a31c718029d620dd770825df1e
MD5 (Jurkat_WCE_50p_Rep1.SRR1584491_human.sorted.bam) = 96c5ae3cd9ad129167d2143fcb66606b
MD5 (Jurkat_WCE_75p_Rep1.SRR1584492_human.sorted.bam) = 09b7ec2ecec4ccb7cce8392f88a17125
LICENSE
Spiker is distributed under GNU General Public License (GPLv3)
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, If not, see <https://www.gnu.org/licenses/>.
Reference
Wu D, Wang L, Huang H. Protocol to apply spike-in ChIP-seq to capture massive histone acetylation in human cells. STAR Protoc. 2021 Jul 17;2(3):100681. doi: 10.1016/j.xpro.2021.100681. PMID: 34337446; PMCID: PMC8313745.