序言:
S3norm使用單調(diào)非線性變換對數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化,模擬標(biāo)準(zhǔn)化數(shù)據(jù)集之間的測序深度和信號背景的數(shù)值始花,可以更好的反應(yīng)表觀遺傳數(shù)據(jù)之間的生物學(xué)差異消约。
S3norm發(fā)表的文章 https://academic.oup.com/nar/article/48/8/e43/5747479
1 下載
1.1 創(chuàng)建環(huán)境
conda create -n S3norm python=2.7
注意,這里使用的python版本仍然是2.7
conda activate S3norm
1.2 Clone the github repository
git clone https://github.com/guanjue/S3norm.git
1.3 下載依賴
pip install numpy scipy
2 準(zhǔn)備輸入文件
2.1 將已排序的無重復(fù)的bam文件轉(zhuǎn)為bedgraph
bamCoverage --bam input.bam -o ./out.bed -of bedgraph -bs 10 -p 8 --minMappingQuality 30 -e 150
2.2 對得到的bed文件進(jìn)行排序
sort -k1,1 -k2,2n ./out.bed > ./bed_sorted
2.3 對多個樣本不同區(qū)間進(jìn)行合并(該命令詳細(xì)解釋氢伟,http://www.reibang.com/p/f8bbd51b5199)
bedtools unionbedg -i 1-ATAC_0G.bed_sorted 2-ATAC_50G.bed_sorted 3-ATAC_80G.bed_sorted > ATAC_3_samples
2.4 將合并區(qū)域的文件拆分
cut -f 1,2,3,4 ATAC_3_samples > 1-ATAC_0G.input
cut -f 1,2,3,5 ATAC_3_samples > 2-ATAC_50G.input
cut -f 1,2,3,6 ATAC_3_samples > 3-ATAC_80G.input
2.5 生成標(biāo)準(zhǔn)文件(根據(jù)個人情況選擇不同的標(biāo)準(zhǔn)文件)
awk '{print $1"\t"$2"\t"$3"\t""1"}' ATAC_3_samples > control_s3norm_input
2.6 生成標(biāo)準(zhǔn)化文件的列表榜轿,本文中的列表(命名為file_list.txt)應(yīng)該如下
1-ATAC_0G.input control_s3norm_input
2-ATAC_50G.input control_s3norm_input
3-ATAC_80G.input control_s3norm_input
take a look input files
head *input
head 1-ATAC_0G.input
chr1 7000 7200 0
chr1 18800 19000 0
chr1 62400 62600 5.02
chr1 63800 64000 188.21
chr1 95600 95800 16.41
chr1 136000 136200 0
chr1 156000 156200 0
chr1 158800 159000 0
chr1 206400 206600 51.87
chr1 217000 217200 0
head 2-ATAC_50G.input
chr1 7000 7200 0
chr1 18800 19000 0
chr1 62400 62600 0
chr1 63800 64000 2.66
chr1 95600 95800 0
chr1 136000 136200 50.26
chr1 156000 156200 0
chr1 158800 159000 0
chr1 206400 206600 0
chr1 217000 217200 0
head 3-ATAC_80G.input
chr1 7000 7200 0
chr1 18800 19000 0
chr1 62400 62600 0
chr1 63800 64000 0
chr1 95600 95800 0
chr1 136000 136200 0
chr1 156000 156200 0
chr1 158800 159000 0
chr1 206400 206600 0
chr1 217000 217200 0
head control_s3norm_input
chr1 7000 7200 1
chr1 18800 19000 1
chr1 62400 62600 1
chr1 63800 64000 1
chr1 95600 95800 1
chr1 136000 136200 1
chr1 156000 156200 1
chr1 158800 159000 1
chr1 206400 206600 1
chr1 217000 217200 1
- 運行S3norm
3.1 在輸入文件所在路徑下寫入運行腳本
### S3norm code所在路徑
script_directory='/where_user_clone_the_S3norm_GitHub/S3norm/'
### 輸入文件所在路徑
working_directory='./example_file/'
### 執(zhí)行 S3norm
time python $script_directory'/src/s3norm_pipeline.py' -s $script_directory'/src/' -t ./file_list.txt
3.2 查看輸出文件
三種類型的 S3norm 輸出文件
(1) S3norm標(biāo)準(zhǔn)化后的read counts (normalized read counts). (存儲于 'S3norm_rc_bedgraph/')
(2) 基于負(fù)二項分布 -log10 p-value 標(biāo)準(zhǔn)化后的read counts. (存儲于 'NBP_bedgraph/')
原文: The negative log10 p-value of S3norm normalized read counts based on a negative binomial background model.
(3) 基于負(fù)二項分布對 -log10 p-value 進(jìn)行標(biāo)準(zhǔn)化. (Saved in 'S3norm_NBP_bedgraph/')
原文: The S3norm normalized negative log10 p-value based on a negative binomial background model.
- 對標(biāo)準(zhǔn)化后的read counts進(jìn)行可視化處理
4.1 對S3norm_rc_bedgraph/下的文件進(jìn)行排序
sort -k1,1 -k2,2n 1-ATAC_0G.bedgraph.s3norm.bedgraph > 1-ATAC_0G.bedgraph.s3norm.bedgraph_sorted
4.2 bed文件轉(zhuǎn)為bigwig文件
需要提前下載bedGraphToBigWig軟件以及基因組大小文件
~/tools/bedgraphtobigwig/bin/bedGraphToBigWig 1-ATAC_0G.bedgraph.s3norm.bedgraph_sorted ~/genome/tair.sizes.genome 1-ATAC_0G.bigwig
后續(xù)
S3norm的輸出文件還有多種用途,這里只是針對標(biāo)準(zhǔn)化后的可視化進(jìn)行了展示.
歡迎大家交流指正.