生物結構變異分析軟件meerkat 0.189使用筆記(一)


  一、准備工作

    meerkat 0.189版本和以前的版本相比,支持bwa mem 輸出的bam文件,還支持全外顯子數據count SV。

     meerkat原理:參見http://compbio.med.harvard.edu/Meerkat/

    1.1 需要准備的軟件

        1. unix/Linux系統(自帶)

        2. CMake(自帶)

        3. PERL 5.8.1及以上(自帶)

        4. BioPERL 1.5.0及以上(自行安裝)

        5. R 2.3.1及以上(自帶)

        6. samtools 0.1.5到0.1.19(不支持新版本samtools)

        7. BWA 0.6.2.(已經可以支持新版本的BWA,但是 split read alignment 的時候必須用0.6.2版本)

        8. NCBI blast 2.2.24及以上(自行安裝)

        9. Primer32.2.0及以上(自行安裝)

 

    1.2 需要准備的文件

        1.參考基因組fasta文件(單獨放在文件夾),運行perl腳本,用BioPerl的Bio:DB::Fasta進行處理

 

#!/bin/perl 
 use Bio::DB::Fasta;

  # Create database from a directory of Fasta files
  my $db  = Bio::DB::Fasta->new('/home/ywliao/utilities/UCSC/hg19_FA');
  my @ids = $db->get_all_primary_ids;
                                                                                                                                                                             

        2.bwa index 對基因組文件建立的index(實驗室已有)

        3. samtools faidx 對基因組文件建立的index

samtools faidx hg19ref_order.fa 

        4.UCSC下載的參考基因注釋文件,knowGene.txt 用sort refGene.txt -k 3,3 -k 5,5n > refGene_sorted.txt命令進行sort

 sort knownGene.txt -k 3,3 -k 5,5n > hg19_knowGene_sorted.txt 

        5.UCSC下載Repeat annotation。(基因注釋文件也可以在這里輸出)

    

 

 1.3 照着manual 安裝。

    下載meerkat壓縮包,解壓。進入meerkat文件夾。

    1.build mybamtools,  生成lib文件夾,文件夾包含着需要鏈接的動態庫

cd ./src/
tar xjvf mybamtools.tbz
cd mybamtools
mkdir build
cd build
cmake ..
make

    2.build bamreader

tar xjvf bamreader.tbz
cd bamreader
# Edit Makefile and set BTROOT to the path to which mybamtools was extracted.
#vi Makefile
#BTROOT = /home/ywliao/bin/Meerkat/src/mybamtoolsmake mv ./bamreader ../../bin

 

      結果報錯如下,

       

    作如下調試   

make clean (清除剛才的安裝)
#修改makefile
#from: ... -lbamtools -lbamtools-utils     
#to: ... -lbamtools -lbamtools-utils -lz
make

     編譯成功,但是運行./bamreader 繼續報錯

   

   解決方法如下

export LD_LIBRARY_PATH=/home/ywliao/bin/Meerkat/src/mybamtools/lib

  將mybamtools/lib路徑加入LD_LIBRARY_PATH變量即可。

       3.build dre

tar xjvf dre.tbz
cd dre
#Edit Makefile and set BTROOT to the path to which mybamtools was extracted.
#vi Makefile
#BTROOT = /home/ywliao/bin/Meerkat/src/mybamtools/
make mv ./dre ../../bin/

        4.build sclus

tar xjvf sclus.tbz
cd sclus
make
mv ./sclus ../../bin/

 

二、預處理

    manual明確指出不建議用默認參數

    perl ./scripts/pre_process.pl [options]

    -b  FILE    已經sort和index的bam文件

    -k  INT    過濾掉的最小的覆蓋度(過濾覆蓋過多reads的位置,默認500;過濾mapped到着絲粒的reads,通過它顯示出的覆蓋次數,在腫瘤樣品中應該觀察拷貝數,應設置一個更高的數值,比如1500,以至於不忽略這些事件

    -r  INT    被用於計算分布的插入長度的幅度(默認1000),會生成一個pdf的分布圖,顯示插入片段長度的分布,0關掉這個函數

    -n  INT    每個read group被用於計算插入片段大小分布的reads數,0 使用全部reads,默認1000

    -l  INT    提取配對的softclip reads,或者其他配對的,但是有某一個mapped不上或者都mapped不上的reads,默認1。對於插入片段很小的,在sv斷點上就會有reads覆蓋,這樣得到的reads就會部分比對或者比對不上。運行的時候,對於一個末端mapped上,另一個read末端部分比對上的reads對,會把部分比對read的unmapped部分提取出來和mapped的read組成人為的read對;對於一個末端比對上,一個末端unmapped的reads對,那么unmapped read 的起始和末端的序列分別提取和mapped的read組成兩對人為的read對;-c 參數就是控制提取的部分的大小,這樣人為的reads對重新mapping 到參考基因組。如果插入片段小但是read的長度長,那么就會很大的增加敏感性。對於短長度的read,應設置為0。對於bwa mem 出來的基因組,不需要重新mapping,所以可以關掉這一參數,在meerkat.pl中也一樣。

    -q  INT    削減reads數,等同於bwa 的-q參數,默認15

    -c  INT    設置開始和末端剪下softclip 或者unmapped 的read的bp數,這些剪下的reads 用來比對參考基因組,尋找更小事件。應輕微小於1/2的read長度,默認參數適合長讀長的人類基因組。

    -s  INT    設置開始和末端剪下softclip 或者unmapped 的read的bp數,這些剪下的reads 用來split reads mapping,必須和下一步meerkat的-s參數設置一樣。在不犧牲mapping能力的情況下,值可以設的小一點。應該設置1/5到1/3的read長度。

    -u  INT    處理uu reads 對(雙unmapped reads對,分成4對。默認0。如果測序質量夠好,並且基因組沒有什么重復的話,對於識別小事件非常有用,人類基因組建議關閉函數。

    -f  INT     clip 比對時允許輸出到XA標簽的備擇比對數量,默認100

    -N  INT    clip和split reads必須Ns閾值,默認是5

    -t  INT    bwa align用到的線程數

    -R  STR    包含黑名單reads的文件,一個group id 一行,如果對於一個group的單一比對reads少於30%,推薦不出這個group,如果group的

    -I  STR    bwa_index路徑,bwa index 生成的參考基因index路徑,不是文件,用於bwa align,如果l(L發音)參數設為1的話應設置

    -A  STR   參考基因的fasta.fai文件,用於bwa align(查看代碼發現就是上文提到的samtools建立的參考基因的fai文件)

    -S  STR    samtools路徑,如果不存在於環境變量的話

    -W  STR    bwa途徑,如果不存在於環境變量的話

    -P  STR    指定運行步驟,[ all | is | cl ],默認全部

                      is:提取unmapped,softclip reads,計算插入片段分布

                      cl: map soft clip 配對reads 到參考基因組,如果使用多線程的話,應分步,cl1運行多線程,cl2運行單線程

     -h  help

      manual中給出的例子。

    1. 50bp的reads,<10x TCGA 基因組

          建議使用-s 18 -l 0 -q 0

          估計50bp片段過小,所以-s 選項 以1/3 read 長度,短長度reads,-l設置為0,估計測序深度不深,所以 並不trimming reads,所以-q 設置為0

    2. 101bp reads, 20-30x and 60-80x TCGA 基因組

           建議使用-s 20 -k 1500 -q 15

           如果是bwa mem出來的文件,建議使用-s 20 -k 1500 -q 15 -l 0

           75-101bp的reads,-s 選項應該設置為1/5 read 長度,20,因為人類癌症基因,所以-k選項設為1500,測序深度夠深,所以可以設置過濾的basequality為15。bwa mem mapping的數數據-l設置為0

     3.  TCGA WES 數據

           建議使用-s 20 -k 10000 -q 5

           -k 10000表示10000的copy number的reads也會留下,-q 5,就是過濾的basequality為5

     這次我們實驗室分析的數據,150bp 讀長,測序深度8x,bwa mem 腫瘤數據,我選擇參數為-s 30 -k 1500 -q 0 -l 0

    

perl /home/ywliao/bin/Meerkat/scripts/pre_process.pl -b $inputfile -k 1500 -t 20 -l 0 -q 0 -P is -A $hg19_fai -W $bwa_dir -s 30 -S $samtools_dir

perl /home/ywliao/bin/Meerkat/scripts/pre_process.pl -b $inputfile -k 1500 -t 20 -l 0 -q 0 -P cl1 -A $hg19_fai -W $bwa_dir -s 30 -S $samtools_dir

perl /home/ywliao/bin/Meerkat/scripts/pre_process.pl -b $inputfile -k 1500 -t 20 -l 0 -q 0 -P cl2 -A $hg19_fai -W $bwa_dir -s 30 -S $samtools_dir

 

 

 

 

 

 

 

 

 

 

 

參考資料

meerkat manual :http://gensoft.pasteur.fr/docs/Meerkat/0.189/Manual_0.189.pdf

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM