那么現(xiàn)在正式的開始第61講: 其實這次的call variation的軟件,不僅僅是找到SNV,也順便找到了indel,只是可能不太準確。一般業(yè)界的公認標準是 GATK的best practice,不過那個我已經(jīng)做了,現(xiàn)在來一點新的,我正好看到了這個scalpel軟件。 當然,為什么使用它,完全是隨心所欲,也可以選擇Pindel等其它軟件。我在這里只是為了秀一個軟件的用法,生信工程師該如何持續(xù)學(xué)習(xí)。 他提供了3種情況的找INDELs變異,我目前需要的就是對我的全基因組測序數(shù)據(jù)來找,所以用single模式。
為了節(jié)省對計算資源的消耗,作者建議我單獨對每條染色體分別處理。 軟件安裝是: ## Download and install Scalpel
cd ~/biosoft
mkdir Scalpel && cd Scalpel
wget [url]https://downloads./project/scalpel/scalpel-0.5.3.tar.gz[/url]
tar zxvf scalpel-0.5.3.tar.gz
cd scalpel-0.5.3
make
~/biosoft/Scalpel/scalpel-0.5.3/scalpel-discovery --help
~/biosoft/Scalpel/scalpel-0.5.3/scalpel-export --help
它需要自己指定--bed參數(shù)來選擇染色體運行,而且不是給一個chr1就可以了,需要指定染色體及其起始終止坐標:single region in format chr:start-end (example: 1:31656613-31656883),所以就比較考驗shell編程技巧啦! 制作 ~/reference/genome/hg19/hg19.chr.bed 這個文件,我就不多說了,前面我們已經(jīng)講過了! 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 | chr 10 1 135534747
chr 11 1 135006516
chr 12 1 133851895
chr 13 1 115169878
chr 14 1 107349540
chr 15 1 102531392
chr 16 1 90354753
chr 17 1 81195210
chr 18 1 78077248
chr 19 1 59128983
chr 1 1 249250621
chr 20 1 63025520
chr 21 1 48129895
chr 22 1 51304566
chr 2 1 243199373
chr 3 1 198022430
chr 4 1 191154276
chr 5 1 180915260
chr 6 1 171115067
chr 7 1 159138663
chr 8 1 146364022
chr 9 1 141213431
|
區(qū)分染色體分別運行scalpel軟件代碼如下: cat ~/reference/genome/hg19/hg19.chr.bed |while read id
do
arr=($id)
# arr=($a) will split the $a to $arr , ${arr[0]} ${arr[1]} ~~~, but ${arr[@]} is the whole array .
# OLD_IFS="$IFS"
# IFS=","
# arr=($a)
# IFS="$OLD_IFS"
#arr=($a)用于將字符串$a分割到數(shù)組$arr ${arr[0]} ${arr[1]} ... 分別存儲分割后的數(shù)組第1 2 ... 項 ,${arr[@]}存儲整個數(shù)組。
#變量$IFS存儲著分隔符,這里我們將其設(shè)為逗號 "," OLD_IFS用于備份默認的分隔符,使用完后將之恢復(fù)默認。
echo ${arr[0]}:${arr[1]}-${arr[2]}
date
start=`date +%s`
~/biosoft/Scalpel/scalpel-0.5.3/scalpel-discovery --single \
--bam ~/data/project/myGenome/fastq/bamFiles/jmzeng.filter.rmdup.bam \
--ref ~/reference/genome/hg19/hg19.fa \
--bed ${arr[0]}:${arr[1]}-${arr[2]} \
--window 600 --numprocs 5 --dir ${arr[0]}
end=`date +%s`
runtime=$((end-start))
echo "Runtime for ${arr[0]}:${arr[1]}-${arr[2]} was $runtime"
done
最后得到的是每一條染色體一個vcf文件記錄著INDEL情況,暫時我還沒進行下一步處理。 這里我其實主要是想講如何用shell進行并行,查看原文可以看到我們的題目及視頻講解,關(guān)于這個軟件的并行使用! 順便預(yù)告一下,我在wegene測得的芯片數(shù)據(jù)已經(jīng)完成了全流程,下載是wegene專題。 還有,我們生信菜鳥團熱心群友指出了我前面用常染色體做祖源分析的不足之處,希望我可以繼續(xù)用Y染色體和線粒體DNA來做下去,給了我?guī)讉€網(wǎng)址,我估計要學(xué)習(xí)兩個月左右才能完全搞明白,畢竟是孤家寡人兼職學(xué)習(xí),有點累,有興趣的可以學(xué)習(xí)下面的內(nèi)容,跟我交流,我的email是jmzeng1314@163.com https:///tree/index.html https://www./tree/ http://www./gbrowse2/gff/ http://www./tree/index.htm https://dna./mthap/ 文:Jimmy 圖文編輯:吃瓜群眾
|