Samtools安裝及常用命令詳解

      網(wǎng)友投稿 1073 2025-04-01

      Samtools是一個用于操作sam和bam文件的工具合集。包含有許多命令。以下是常用命令的介紹

      下載安裝包:

      http://www.htslib.org/download/

      安裝依賴:

      yum install bzip2-devel ncurses-libs ncurses-devel xz-devel zlib-devel

      編譯安裝Samtools:

      tar xvf samtools-1.9.tar.bz2

      cd samtools-1.9

      ./configure --prefix=/opt/samtools1.9

      make

      make install

      配置環(huán)境變量:

      gedit ~/.bashrc

      #Samtools1.9

      export PATH=/opt/samtools1.9/bin:$PATH

      source ~/.bashrc

      運行

      samtools

      samtools常用命令詳解

      1. view

      view命令的主要功能是:將sam文件轉(zhuǎn)換成bam文件;然后對bam文件進行各種操作,比如數(shù)據(jù)的排序(不屬于本命令的功能)和提取(這些操作是對bam文件進行的,因而當(dāng)輸入為sam文件的時候,不能進行該操作);最后將排序或提取得到的數(shù)據(jù)輸出為bam或sam(默認(rèn)的)格式。

      bam文件優(yōu)點:bam文件為二進制文件,占用的磁盤空間比sam文本文件小;利用bam二進制文件的運算速度快。

      view命令中,對sam文件頭部的輸入(-t或-T)和輸出(-h)是單獨的一些參數(shù)來控制的。

      Usage: samtools view [options] | [region1 [...]]

      默認(rèn)情況下不加 region,則是輸出所有的 region.

      Options: -b output BAM

      默認(rèn)下輸出是 SAM 格式文件,該參數(shù)設(shè)置輸出 BAM 格式

      -h print header for the SAM output

      默認(rèn)下輸出的 sam 格式文件不帶 header,該參數(shù)設(shè)定輸出sam文件時帶 header 信息

      -H print header only (no alignments)

      -S input is SAM

      默認(rèn)下輸入是 BAM 文件,若是輸入是 SAM 文件,則最好加該參數(shù),否則有時候會報錯。

      -u uncompressed BAM output (force -b)

      該參數(shù)的使用需要有-b參數(shù),能節(jié)約時間,但是需要更多磁盤空間

      -c Instead of printing the alignments, only count them and print the

      total number. All filter options, such as ‘-f’, ‘-F’ and ‘-q’ ,

      are taken into account.

      -1 fast compression (force -b)

      -x output FLAG in HEX (samtools-C specific)

      -X output FLAG in string (samtools-C specific)

      -c print only the count of matching records

      -L FILE output alignments overlapping the input BED FILE [null]

      -t FILE list of reference names and lengths (force -S) [null]

      Samtools安裝及常用命令詳解

      使用一個list文件來作為header的輸入

      -T FILE reference sequence file (force -S) [null]

      使用序列fasta文件作為header的輸入

      -o FILE output file name [stdout]

      -R FILE list of read groups to be outputted [null]

      -f INT required flag, 0 for unset [0]

      -F INT filtering flag, 0 for unset [0]

      Skip alignments with bits present in INT [0]

      數(shù)字4代表該序列沒有比對到參考序列上

      數(shù)字8代表該序列的mate序列沒有比對到參考序列上

      -q INT minimum mapping quality [0]

      -l STR only output reads in library STR [null]

      -r STR only output reads in read group STR [null]

      -s FLOAT fraction of templates to subsample; integer part as seed [-1]

      -? longer help

      例子:

      將sam文件轉(zhuǎn)換成bam文件

      $ samtools view -bS abc.sam > abc.bam

      $ samtools view -b -S abc.sam -o abc.bam

      提取比對到參考序列上的比對結(jié)果

      $ samtools view -bF 4 abc.bam > abc.F.bam

      提取paired reads中兩條reads都比對到參考序列上的比對結(jié)果,只需要把兩個4+8的值12作為過濾參數(shù)即可

      $ samtools view -bF 12 abc.bam > abc.F12.bam

      提取沒有比對到參考序列上的比對結(jié)果

      $ samtools view -bf 4 abc.bam > abc.f.bam

      提取bam文件中比對到caffold1上的比對結(jié)果,并保存到sam文件格式

      $ samtools view abc.bam scaffold1 > scaffold1.sam

      提取scaffold1上能比對到30k到100k區(qū)域的比對結(jié)果

      $ samtools view abc.bam scaffold1:30000-100000 $gt; scaffold1_30k-100k.sam

      根據(jù)fasta文件,將 header 加入到 sam 或 bam 文件中

      $ samtools view -T genome.fasta -h scaffold1.sam > scaffold1.h.sam

      2. sort

      sort對bam文件進行排序。

      Usage: samtools sort [-n] [-m ]

      -m 參數(shù)默認(rèn)下是 500,000,000 即500M(不支持K,M,G等縮寫)。對于處理大數(shù)據(jù)時,如果內(nèi)存夠用,則設(shè)置大點的值,以節(jié)約時間。

      -n 設(shè)定排序方式按short reads的ID排序。默認(rèn)下是按序列在fasta文件中的順序(即header)和序列從左往右的位點排序。

      3.merge

      將2個或2個以上的已經(jīng)sort了的bam文件融合成一個bam文件。融合后的文件不需要則是已經(jīng)sort過了的。

      Usage: samtools merge [-nr] [-h inh.sam] [...]

      Options: -n sort by read names

      -r attach RG tag (inferred from file names)

      -u uncompressed BAM output

      -f overwrite the output BAM if exist

      -1 compress level 1

      -R STR merge file in the specified region STR [all]

      -h FILE copy the header in FILE to [in1.bam]

      Note: Samtools' merge does not reconstruct the @RG dictionary in the header. Users

      must provide the correct header with -h, or uses Picard which properly maintains

      the header dictionary in merging.

      4.index

      必須對bam文件進行默認(rèn)情況下的排序后,才能進行index。否則會報錯。

      建立索引后將產(chǎn)生后綴為.bai的文件,用于快速的隨機處理。很多情況下需要有bai文件的存在,特別是顯示序列比對情況下。比如samtool的tview命令就需要;gbrowse2顯示reads的比對圖形的時候也需要。

      例子:

      以下兩種命令結(jié)果一樣

      $ samtools index abc.sort.bam

      $ samtools index abc.sort.bam abc.sort.bam.bai

      5. faidx

      對fasta文件建立索引,生成的索引文件以.fai后綴結(jié)尾。該命令也能依據(jù)索引文件快速提取fasta文件中的某一條(子)序列

      Usage: samtools faidx [ [...]]

      對基因組文件建立索引

      $ samtools faidx genome.fasta

      生成了索引文件genome.fasta.fai,是一個文本文件,分成了5列。第一列是子序列的名稱;

      第二列是子序列的長度;個人認(rèn)為“第三列是序列所在的位置”,因為該數(shù)字從上往下逐漸變大,

      最后的數(shù)字是genome.fasta文件的大小;第4和5列不知是啥意思。于是通過此文件,可以定

      位子序列在fasta文件在磁盤上的存放位置,直接快速調(diào)出子序列。

      由于有索引文件,可以使用以下命令很快從基因組中提取到fasta格式的子序列

      $ samtools faidx genome.fasta scffold_10 > scaffold_10.fasta

      6. tview

      tview能直觀的顯示出reads比對基因組的情況,和基因組瀏覽器有點類似。

      Usage: samtools tview [ref.fasta]

      當(dāng)給出參考基因組的時候,會在第一排顯示參考基因組的序列,否則,第一排全用N表示。

      按下 g ,則提示輸入要到達基因組的某一個位點。例子“scaffold_10:1000"表示到達第

      10號scaffold的第1000個堿基位點處。

      使用H(左)J(上)K(下)L(右)移動顯示界面。大寫字母移動快,小寫字母移動慢。

      使用空格建向左快速移動(和 L 類似),使用Backspace鍵向左快速移動(和 H 類似)。

      Ctrl+H 向左移動1kb堿基距離; Ctrl+L 向右移動1kb堿基距離

      可以用顏色標(biāo)注比對質(zhì)量,堿基質(zhì)量,核苷酸等。30~40的堿基質(zhì)量或比對質(zhì)量使用白色表示;

      20~30黃色;10~20綠色;0~10藍色。

      使用點號'.'切換顯示堿基和點號;使用r切換顯示read name等

      還有很多其它的使用說明,具體按 ? 鍵來查看。

      7. 將bam文件轉(zhuǎn)換為fastq文件

      有時候,我們需要提取出比對到一段參考序列的reads,進行小范圍的分析,以利于debug等。這時需要將bam或sam文件轉(zhuǎn)換為fastq格式。

      8. 使用bcftools

      bcftools和samtools類似,用于處理vcf(variant call format)文件和bcf(binary call format)文件。前者為文本文件,后者為其二進制文件。

      bcftools使用簡單,最主要的命令是view命令,其次還有index和cat等命令。index和cat命令和samtools中類似。此處主講使用view命令來進行SNP和Indel calling。該命令的使用方法和例子為:

      $ bcftools view [-AbFGNQSucgv] [-D seqDict] [-l listLoci] [-s listSample]

      [-i gapSNPratio] [-t mutRate] [-p varThres] [-P prior]

      [-1 nGroup1] [-d minFrac] [-U nPerm] [-X permThres]

      [-T trioType] in.bcf [region]

      $ bcftools view -cvNg abc.bcf > snp_indel.vcf

      參考:

      http://www.chenlianfu.com/?p=1399

      http://www.bio-info-trainee.com/518.html

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:統(tǒng)計報表模板(1分鐘之前已更新)
      下一篇:wps文字如何不顯示裁剪標(biāo)記?
      相關(guān)文章
      亚洲AV无码乱码在线观看富二代| 亚洲日本久久一区二区va| 亚洲婷婷综合色高清在线| 国产综合精品久久亚洲| 日韩国产欧美亚洲v片| 亚洲国产模特在线播放| 亚洲国产成人精品不卡青青草原| 成人亚洲性情网站WWW在线观看| 精品无码专区亚洲| 苍井空亚洲精品AA片在线播放| 亚洲中文字幕一区精品自拍| 亚洲美免无码中文字幕在线| 亚洲欧洲尹人香蕉综合| 久久久亚洲欧洲日产国码是AV| 久久亚洲日韩看片无码| 中文字幕亚洲综合久久| 911精品国产亚洲日本美国韩国| 亚洲第一香蕉视频| 亚洲色图校园春色| 亚洲国产午夜精品理论片| 亚洲另类视频在线观看| 亚洲中文字幕无码一去台湾| 亚洲av午夜精品无码专区| 亚洲AV无码成人专区| 亚洲fuli在线观看| 亚洲色大成网站www永久男同| 亚洲精品无码日韩国产不卡av| 亚洲成a人片在线不卡一二三区| 久久精品国产亚洲av瑜伽| jizzjizz亚洲| 中文字幕亚洲第一| 久久国产亚洲精品麻豆| 亚洲男人天堂av| 亚洲午夜精品一区二区公牛电影院| 亚洲一区二区三区不卡在线播放| 精品亚洲456在线播放| 午夜亚洲国产理论片二级港台二级| 国产综合成人亚洲区| 在线a亚洲v天堂网2019无码| 一本久到久久亚洲综合| 亚洲免费在线观看|