『壹』 MAtlab中view函數具體怎麼用
MATLAB提供了設置視點的函數view。
『貳』 samtools使用大全
samtools是一個用於操作sam和bam文件(通常是短序列比對工具如bwa,bowtie2,hisat2,tophat2等等產生的,具體格式可以在消息框輸入「SAM」查看)的工具合集,包含有許多命令。以下是常用命令的介紹。
1.View
view命令的主要功能是:將sam文件與bam文件互換;然後對bam文件進行各種操作,比如數據的排序(sort)和提取(這些操作 是對bam文件進行的,因而當輸入為sam文件的時候,不能進行該操作);最後將排序或提取得到的數據輸出為bam或sam(默認的)格式。
bam文件優點:bam文件為二進制文件,佔用的磁碟空間比sam文本文件小;利用bam二進制文件的運算速度快。
view命令中,對sam文件頭部(序列ID)的輸入(-t或-T)和輸出(-h)是單獨的一些參數來控制的。
Usage: samtools view [options] <in.bam>|<in.sam> [region1 [...]]
默認情況下不加 region,則是輸出所有的 region.
options:
-b output BAM
默認下輸出是 SAM 格式文件,該參數設置輸出 BAM 格式
-h print header for the SAM output
默認下輸出的 sam 格式文件不帶 header,該參數設定輸出sam文件時帶 header 信息
-H print header only (no alignments)
僅僅輸出文件的頭
-S input is SAM
默認下輸入是 BAM 文件,若是輸入是 SAM 文件,則最好加該參數,否則有時候會報錯。
-u uncompressed BAM output (force -b)
該參數的使用需要有-b參數,能節約時間,但是需要更多磁碟空間。
-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.
過濾功統計功能
-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]
使用一個list文件來作為header的輸入
-T FILE reference sequence file (force -S) [null]
使用序列fasta文件作為header的輸入
-o FILE output file name [stdout]
-F INT filtering flag, 0 for unset [0]
Skip alignments with bits present in INT [0]
數字4代表該序列沒有比對到參考序列上
數字8代表該序列的mate序列沒有比對到參考序列上
過濾功能。如F12過濾只有雙端map的
-q INT minimum mapping quality [0]
比對的最低質量值,一般認為20就為unique比對了,可以結合上述-bF參數使用使用提取特定的比對結果
例子:
將sam文件轉換成bam文件
samtools view -bS abc.sam > abc.bam
BAM轉換為SAM
samtools view -h -o out.sam out.bam
提取比對到參考序列上的比對結果
samtools view -bF 4 abc.bam > abc.F.bam
提取paired reads中兩條reads都比對到參考序列上的比對結果,只需要把兩個4+8的值12作為過濾參數即可
samtools view -bF 12 abc.bam > abc.F12.bam
提取沒有比對到參考序列上的比對結果
samtools view -bf 4 abc.bam > abc.f.bam
提取bam文件中比對到caffold1上的比對結果,並保存到sam文件格式
samtools view abc.bam scaffold1 > scaffold1.sam
提取scaffold1上能比對到30k到100k區域的比對結果
samtools view abc.bam scaffold1:30000-100000 $gt; scaffold1_30k-100k.sam
根據fasta文件,將 header 加入到 sam 或 bam 文件中
samtools view -T genome.fasta -h scaffold1.sam > scaffold1.h.sam
2.Sort
sort對bam文件進行排序。一些軟體需要sort的bam或者sam文件,如stringtie,所以必須要sort使用;求depth時,也必須要sort;
Usage: samtools sort [-n] [-m <maxMem>] <in.bam> <out.prefix>
-m 內存參數默認下是 500,000,000 即500M(不支持K,M,G等縮寫)。對於處理大數據時,如果內存夠用,則設置大點的值,以節約時間。
-n 設定排序方式按short reads的ID排序。默認下是按序列在fasta文件中的順序(即header)和序列從左往右的位點排序。
例子:
samtools sort accept.bam accept.sort最終產生accept.sort.bam
3.merge
將2個或2個以上的已經sort了的bam文件融合成一個bam文件。融合後的文件已經sort過了的。
Usage: samtools merge [-nr] [-h inh.sam] <out.bam> <in1.bam> <in2.bam>[...]
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 the header in FILE to <out.bam> [in1.bam]
例子:
4.index
必須對bam文件進行默認情況下的排序後,才能進行index。否則會報錯。
建立索引後將產生後綴為.的文件,用於快速的隨機處理。很多情況下需要有文件的存在,特別是顯示序列比對情況下。比如samtool的tview命令就需要;gbrowse2顯示reads的比對圖形的時候也需要。IGV顯示比對情況也需要。
Usage: samtools index <in.bam> [out.index]
例子:
以下兩種命令結果一樣
$ samtools index abc.sort.bam
$ samtools index abc.sort.bam abc.sort.bam.
5.faidx
對fasta文件建立索引,生成的索引文件以.fai後綴結尾。該命令也能依據索引文件快速提取fasta文件中的某一條(子)序列
Usage: samtools faidx <in.bam> [ [...]]
對基因組文件建立索引,方便提取序列。
例子:$ samtools faidx genome.fasta
由於有索引文件,可以使用以下命令很快從基因組中提取到fasta格式的子序列
$ samtools faidx genome.fasta scffold_10 > scaffold_10.fasta
6.tview
tview能直觀的顯示出reads比對基因組的情況,和基因組瀏覽器有點類似。
需要事先利用利用上面講的sort和建index命令執行完後,用下述命令。
Usage: samtools tview <aln.bam> [ref.fasta]
出參考基因組的時候,會在第一排顯示參考基因組的序列,否則,第一排全用N表示。
按下 g ,則提示輸入要到達基因組的某一個位點。例子「scaffold_10:1000"表示到達第
10號scaffold的第1000個鹼基位點處。
使用H(左)J(上)K(下)L(右)移動顯示界面。大寫字母移動快,小寫字母移動慢。
使用空格建向左快速移動(和 L 類似),使用Backspace鍵向左快速移動(和 H 類似)。
Ctrl+H 向左移動1kb鹼基距離; Ctrl+L 向右移動1kb鹼基距離
可以用顏色標注比對質量,鹼基質量,核苷酸等。30~40的鹼基質量或比對質量使用白色表示;
20~30黃色;10~20綠色;0~10藍色。
使用點號'.'切換顯示鹼基和點號;使用r切換顯示read name等
還有很多其它的使用說明,具體按 ? 鍵來查看。
7.flagstat
給出BAM文件的比對結果
Usage: samtools flagstat <in.bam>
$ samtools flagstat example.bam
11945742 + 0 in total (QC-passed reads + QC-failed reads)
#總共的reads數
0 + 0 plicates
7536364 + 0 mapped (63.09%:-nan%)
#總體上reads的匹配率
11945742 + 0 paired in sequencing
#有多少reads是屬於paired reads
5972871 + 0 read1
#reads1中的reads數
5972871 + 0 read2
#reads2中的reads數
6412042 + 0 properly paired (53.68%:-nan%)
#完美匹配的reads數:比對到同一條參考序列,並且兩條reads之間的距離符合設置的閾值
6899708 + 0 with itself and mate mapped
#paired reads中兩條都比對到參考序列上的reads數
636656 + 0 singletons (5.33%:-nan%)
#單獨一條匹配到參考序列上的reads數,和上一個相加,則是總的匹配上的reads數。
469868 + 0 with mate mapped to a different chr
#paired reads中兩條分別比對到兩條不同的參考序列的reads數
243047 + 0 with mate mapped to a different chr (mapQ>=5)
#同上一個,只是其中比對質量>=5的reads的數量
8.depth
得到每個鹼基位點的測序深度,並輸出到標准輸出,所以要用大於號追加到一個文件。
Usage: bam2depth [-r reg] [-q baseQthres] [-Q mapQthres] [-b in.bed] <in1.bam> [...]
-r 後面跟染色體號(region)
-q :計算深度時要求測序鹼基質量最低質量值
-Q :計算深度時要求比對的最低質量值
注意:做depth之前必須做samtools index;
例子
samtools depth accept.bam >depth
9.其他命令
reheader:替換bam文件的頭
$ samtools reheader <in.header.sam> <in.bam>
idxstats :統計一個表格,4列,分別為」序列名,序列長度,比對上的reads數,unmapped reads number。第4列應該是paired reads中有一端能匹配到該scaffold上,而另外一端不匹配到任何scaffolds上的reads數。
$ samtools idxstats <aln.bam>
rmp:將由PCR plicates獲得的reads去掉,並只保留最高比對質量的read。
Usage: samtools rmp [-sS]
-s 對single-end reads。默認情況下,只對paired-end reads
-S 將Paired-end reads作為single-end reads處理。
10. 將bam文件轉換為fastq文件
有時候,我們需要提取出比對到一段參考序列的reads,進行小范圍的分析,以利於debug等。這時需要將bam或sam文件轉換為fastq格式。
該網站提供了一個bam轉換為fastq的程序:http://www.hudsonalpha.org/gsl/information/software/bam2fastq
$ wget http://www.hudsonalpha.org/gsl/static/software/bam2fastq-1.1.0.tgz
$ tar zxf bam2fastq-1.1.0.tgz
$ cd bam2fastq-1.1.0
$ make
$ ./bam2fastq <in.bam>
11. mpileup
samtools還有個非常重要的命令mpileup,以前為pileup。該命令用於生成bcf文件,再使用bcftools進行SNP和Indel的分析。bcftools是samtool中附帶的軟體,在samtools的安裝文件夾中可以找到。
最常用的參數有2:
-f 來輸入有索引文件的fasta參考序列; -g 輸出到bcf格式。用法和最簡單的例子如下
Usage: samtools mpileup [-EBug] [-C capQcoef] [-r reg] [-f in.fa] [-l list] [-M capMapQ] [-Q minBaseQ] [-q minMapQ] in.bam [in2.bam [...]]$ samtools mpileup -f genome.fasta abc.bam > abc.txt
$ samtools mpileup -gSDf genome.fasta abc.bam > abc.bcf
$ samtools mpileup -guSDf genome.fasta abc.bam | \
bcftools view -cvNg - > abc.vcf
mpileup不使用-u或-g參數時,則不生成二進制的bcf文件,而生成一個文本文件(輸出到標准輸出)。該文本文件統計了參考序列中每個鹼基位點的比對情況;該文件每一行代表了參考序列中某一個鹼基位點的比對結果。比如:
scaffold_1 2841 A 11 ,,,...,.... BHIGDGIJ?FF
scaffold_1 2842 C 12 ,$,,...,....^I. CFGEGEGGCFF+
scaffold_1 2843 G 11 ,,...,..... FDDDDCD?DD+
scaffold_1 2844 G 11 ,,...,..... FA?AAAA<AA+
scaffold_1 2845 G 11 ,,...,..... F656666166*
scaffold_1 2846 A 11 ,,...,..... (1.1111)11*
scaffold_1 2847 A 11 ,,+9acggtgaag.+9ACGGTGAAT.+9ACGGTGAAG.+9ACGGTGAAG,+9acggtgaag.+9ACGGTGAAG.+9ACGGTGAAG.+9ACGGTGAAG.+9ACGGTGAAG.+9ACGGTGAAG %.+....-..)
scaffold_1 2848 N 11 agGGGgGGGGG !!$!!!!!!!!
scaffold_1 2849 A 11 c$,...,..... !0000000000
scaffold_1 2850 A 10 ,...,..... 353333333
mpileup生成的結果包含6行:參考序列名;位置;參考鹼基;比對上的reads數;比對情況;比對上的鹼基的質量。其中第5列比較復雜,解釋如下:
1 『.』代表與參考序列正鏈匹配。
2 『,』代表與參考序列負鏈匹配。
3 『ATCGN』代表在正鏈上的不匹配。
4 『atcgn』代表在負鏈上的不匹配。
5 『*』代表模糊鹼基
6 『^』代表匹配的鹼基是一個read的開始;』^'後面緊跟的ascii碼減去33代表比對質量;這兩個符號修飾的是後面的鹼基,其後緊跟的鹼基(.,ATCGatcgNn)代表該read的第一個鹼基。
7 『$』代表一個read的結束,該符號修飾的是其前面的鹼基。
8 正則式』\+[0-9]+[ACGTNacgtn]+』代表在該位點後插入的鹼基;比如上例中在scaffold_1的2847後插入了9個長度的鹼基acggtgaag。表明此處極可能是indel。
9 正則式』-[0-9]+[ACGTNacgtn]+』代表在該位點後缺失的鹼基;
12. 使用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
生成的結果文件為vcf格式,有10列,分別是:1 參考序列名;2 varianti所在的left-most位置;3 variant的ID(默認未設置,用』.'表示);4 參考序列的allele;5 variant的allele(有多個alleles,則用』,'分隔);6 variant/reference QUALity;7 FILTers applied;8 variant的信息,使用分號隔開;9 FORMAT of the genotype fields, separated by colon (optional); 10 SAMPLE genotypes and per-sample information (optional)。
例如:
scaffold_1 2847 . A AACGGTGAAG 194 . INDEL;DP=11;VDB=0.0401;AF1=1;AC1=2;DP4=0,0,8,3;MQ=35;FQ=-67.5 GT:PL:GQ 1/1:235,33,0:63
scaffold_1 3908 . G A 111 . DP=13;VDB=0.0085;AF1=1;AC1=2;DP4=0,0,5,7;MQ=42;FQ=-63 GT:PL:GQ 1/1:144,36,0:69
scaffold_1 4500 . A G 31.5 . DP=8;VDB=0.0034;AF1=1;AC1=2;DP4=0,0,1,3;MQ=42;FQ=-39 GT:PL:GQ 1/1:64,12,0:21
scaffold_1 4581 . TGGNGG TGG 145 . INDEL;DP=8;VDB=0.0308;AF1=1;AC1=2;DP4=0,0,0,8;MQ=42;FQ=-58.5 GT:PL:GQ 1/1:186,24,0:45
scaffold_1 4644 . G A 195 . DP=21;VDB=0.0198;AF1=1;AC1=2;DP4=0,0,10,10;MQ=42;FQ=-87 GT:PL:GQ 1/1:228,60,0:99
scaffold_1 4827 . NACAAAGA NA 4.42 . INDEL;DP=1;AF1=1;AC1=2;DP4=0,0,1,0;MQ=40;FQ=-37.5 GT:PL:GQ 0/1:40,3,0:3
scaffold_1 4854 . A G 48 . DP=6;VDB=0.0085;AF1=1;AC1=2;DP4=0,0,2,1;MQ=41;FQ=-36 GT:PL:GQ 1/1:80,9,0:16
scaffold_1 5120 . A G 85 . DP=8;VDB=0.0355;AF1=1;AC1=2;DP4=0,0,5,3;MQ=42;FQ=-51 GT:PL:GQ 1/1:118,24,0:45
第8列中顯示了對variants的信息描述,比較重要,其中的 Tag 的描述如下:
Tag Format Description
AF1 double Max-likelihood estimate of the site allele frequency (AF) of the first ALT allele
DP int Raw read depth (without quality filtering)
DP4 int[4] # high-quality reference forward bases, ref reverse, alternate for and alt rev bases
FQ int Consensus quality. Positive: sample genotypes different; negative: otherwise
MQ int Root-Mean-Square mapping quality of covering reads
PC2 int[2] Phred probability of AF in group1 samples being larger (,smaller) than in group2
PCHI2 double Posterior weighted chi^2 P-value between group1 and group2 samples
PV4 double[4] P-value for strand bias, baseQ bias, mapQ bias and tail distance bias
QCHI2 int Phred-scaled PCHI2
RP int # permutations yielding a smaller PCHI2
CLR int Phred log ratio of genotype likelihoods with and without the trio/pair constraint
UGT string Most probable genotype configuration without the trio constraint
CGT string Most probable configuration with the trio constraint
使用bcftools得到variant calling結果後。需要對結果再次進行過濾。主要依據比對結果中第8列信息。其中的 DP4 一行尤為重要,提供了4個數據:1 比對結果和正鏈一致的reads數、2 比對結果和負鏈一致的reads數、3 比對結果在正鏈的variant上的reads數、4 比對結果在負鏈的variant上的reads數。可以設定 (value3 + value4)大於某一閾值,才算是variant。比如:
$ perl -ne 'print $_ if /DP4=(\d+),(\d+),(\d+),(\d+)/ && ($3+$4)>=10 && ($3+$4)/($1+$2+$3+$4)>=0.8' snp_indel.vcf > snp_indel.final.vcf
『叄』 我用到的Samtools介紹
記錄一下我用到的samtools的用法。
samtools的說明文檔: http://samtools.sourceforge.net/samtools.shtml
bam文件優點:bam文件為二進制文件,佔用的磁碟空間比sam文本文件小;利用bam二進制文件的運算速度快。
首先需要意識到的是samtools是一個非常強大的工具,想要熟練的使用它,還需要不斷的摸索。
samtools的用法
(1)View
samtools view -bS abc.sam > abc.bam #將sam文件轉換為bam文件
參數:
-b bam 輸出bam
-S sam 輸入sam
-@ 線程
在比對完成的sam文件中,包含著mapped reads 和unmapped reads
$ samtools view -bF 4 abc.bam > abc.F.bam #提取沒有比對到參考序列上的比對結果,步包含標簽
$ samtools view -bF 12 abc.bam > abc.F12.bam #提取paired reads中兩條reads都比對到參考序列上的比對結果,只需要把兩個4+8的值12作為過濾參數即可
$ samtools view -bf 4 abc.bam > abc.f.bam #提取沒有比對到參考序列上的比對結果,包含標簽
$ samtools view abc.bam scaffold1 > scaffold1.sam #提取bam文件中比對到caffold1上的比對結果,並保存到sam文件格式
$ samtools view abc.bam scaffold1:30000-100000 $gt; scaffold1_30k-100k.sam #提取scaffold1上能比對到30k到100k區域的比對結果
$ samtools view -T genome.fasta -h scaffold1.sam > scaffold1.h.sam #根據fasta文件,將 header 加入到 sam 或 bam 文件中
samtools的view不就可以進行格式轉換,還可以進行數據的提取
例:提取1號染色體上1234~123456區域的以對read
samtools view SRR3589957_sorted.bam chr1:1234-123456| head
samtools view SRR3589957_sorted.bam chr1:1234-123456 > sub.bam
使FLAG更具可讀性
samtools view -X sample.sorted.bam | head -n 5
計算總的比對數量
samtools view sample.sorted.bam | wc -l
顯示標題,-H選項
samtools view -H sample.sorted.bam
將bam文件轉換為sam文件
samtools view -h abc.bam > abc.sam
(2)Sort
samtools sort對bam文件進行排序,不能對sam文件進行排序。
以leftmost coordinates的方式對比對結果進行排序,或者使用-n參數以read名稱進行排序。將會添加適當的@HD-SO排序順序標頭標簽或者如果有必要的話,將會更新現存的一個排序順序標頭標簽。sort命令的輸出默認是標准輸出寫入,或者使用-o參數時,指定bam文件輸出名。sort命令還會在內存不足時創建臨時文件tmpprefix.%d.bam。
也就是說:samtools的排序方式有兩種(常用)
默認方式,按照染色體的位置進行排序
samtools sort test.bam default
參數-n則是根據read名進行排序。
samtools sort -n test.bam sort_left
usage: samtools sort [-l level] [-m maxMem] [-o out.bam] [-O format] [-n] [-T tmpprefix] [-@ threads] [in.sam|in.bam|in.cram]
例如:samtools sort abc.bam abc.sort
samtools sort -O bam -@ 2 SRR1909070.bam -o SRR1909070.sorted.bam
RNA-seq 的數據比對結果 BAM 文件使用 samtools 進行 sort 之後文件壓縮比例變化會比DNA-seq 更甚。另外,samtools 對 BAM 文件進行排序之後那些沒有比對上的 reads 會被放在文件的末尾。
參數:
-l INT 設置輸出文件壓縮等級。0-9,0是不壓縮,9是壓縮等級最高。不設置此參數時,使用默認壓縮等級;
-m INT 設置每個線程運行時的內存大小,可以使用K,M和G表示內存大小。
-n 設定排序方式按short reads的ID排序。默認下是按序列在fasta文件中的順序(即header)和序列從左往右的位點排序。
-o FILE 設置最終排序後的輸出文件名;
-O FORMAT 設置最終輸出的文件格式,可以是bam,sam或者cram,默認為bam;
-T PREFIX 設置臨時文件的前綴;
-@ INT 設置排序和壓縮是的線程數量,默認是單線程。
(3)index
samtools index 建立索引,在建立索引之前應該先對bam文件進行排序。必須對bam文件進行 默認情況下的排序後 ,才能進行index。否則會報錯。
建立索引後將產生後綴為.的文件,用於快速的隨機處理。很多情況下需要有文件的存在,特別是顯示序列比對情況下。比如samtool的tview命令就需要;gbrowse2顯示reads的比對圖形的時候也需要。
samtools index abc.sort.bam
如果想要建立索引的,具體可以看看比對的內部的演算法,鏈接具體是怎麼建立索引的
建立索引的目的應該是為了提高比對的效率
以下兩種命令結果一樣
$ samtools index abc.sort.bam
$ samtools index abc.sort.bam abc.sort.bam.
(4)flagstat
samtools flagstat 給出BAM文件的比對結果
samtools flagstat [options] <in.bam>
-@ 線程
-O FORMAT 設置最終輸出的文件格式,可以是txt,json或者tsv,默認為json,tsv;
samtools flagstat輸出結果解釋:
11945742 + 0 in total (QC-passed reads + QC-failed reads)
#總共的reads數
0 + 0 plicates
7536364 + 0 mapped (63.09%:-nan%)
#總體上reads的匹配率
11945742 + 0 paired in sequencing
#有多少reads是屬於paired reads
5972871 + 0 read1
#reads1中的reads數
5972871 + 0 read2
#reads2中的reads數
6412042 + 0 properly paired (53.68%:-nan%)
#完美匹配的reads數:比對到同一條參考序列,並且兩條reads之間的距離符合設置的閾值
6899708 + 0 with itself and mate mapped
#paired reads中兩條都比對到參考序列上的reads數
636656 + 0 singletons (5.33%:-nan%)
#單獨一條匹配到參考序列上的reads數,和上一個相加,則是總的匹配上的reads數。
469868 + 0 with mate mapped to a different chr
#paired reads中兩條分別比對到兩條不同的參考序列的reads數
243047 + 0 with mate mapped to a different chr (mapQ>=5)
#paired reads中兩條分別比對到兩條不同的參考序列的reads數,並且其中比對質量>=5的reads的數量
(5)depth
得到每個鹼基位點的測序深度,並輸出到標准輸出。
usage: samtools depth [options] in.bam [in.bam ...]
注意 :做depth之前必須做samtools index;
示例:
samtools depth in.bam > out.depth.txt
注意: in.bam 必須經過了排序。
(6)samtools rmp
NGS上機測序前需要進行PCR一步,使一個模板擴增出一簇,從而在上機測序的時候表現出為1個點,即一個reads。若一個模板擴增出了多簇,結果得到了多個reads,這些reads的坐標(coordinates)是相近的。在進行了reads比對後需要將這些由PCRplicates獲得的reads去掉,並只保留最高比對質量的read。使用rmp命令即可完成.
Usage:
samtools rmp[-sS]
-s對single-end reads。默認情況下,只對paired-endreads
-S將Paired-endreads作為single-endreads處理。
$samtools rmp input.sorted.bam output.bam
(7)mpileup
samtools還有個非常重要的命令mpileup,以前為pileup。該命令用於生成bcf文件,再使用bcftools進行SNP和Indel的分析。bcftools是samtool中附帶的軟體,在samtools的安裝文件夾中可以找到。
最常用的參數有2個:
-f來輸入有索引文件的fasta參考序列;
-g輸出到bcf格式。用法和最簡單的例子如下
Usage:samtoolsmpileup[-EBug][-CcapQcoef][-rreg][-fin.fa][-llist][-McapMapQ][-QminBaseQ][-qminMapQ]in.bam[in2.bam[...]]
$samtoolsmpileup-fgenome.fastaabc.bam>abc.txt
$samtoolsmpileup-gSDfgenome.fastaabc.bam>abc.bcf
$samtoolsmpileup-guSDfgenome.fastaabc.bam|\bcftoolsview-cvNg->abc.vcf
mpileup不使用-u或-g參數時,則不生成二進制的bcf文件,而生成一個文本文件(輸出到標准輸出)。該文本文件統計了參考序列中每個鹼基位點的比對情況;該文件每一行代表了參考序列中某一個鹼基位點的比對結果。比如:
(8)faidx
對fasta文件建立索引,比如基因組的文件,生成的索引文件以.fai後綴結尾。該命令也能依據索引文件快速提取fasta文件中的某一條(子)序列
Usage: samtools faidx <in.bam> [ [...]]
對基因組文件建立索引
$ samtools faidx genome.fasta
生成了索引文件genome.fasta.fai,是一個文本文件,分成了5列。
第一列是子序列的名稱;
第二列是子序列的長度;
第三列是序列所在的位置,因為該數字從上往下逐漸變大,最後的數字是genome.fasta文件的大小;
第4和5列不知是啥意思。於是通過此文件,可以定
位子序列在fasta文件在磁碟上的存放位置,直接快速調出子序列。
由於有索引文件,可以使用以下命令很快從基因組中提取到fasta格式的子序列
$ samtools faidx genome.fasta scffold_10 > scaffold_10.fasta
拓展:bcftools軟體
bcftools和samtools類似,用於處理vcf(variant call format)文件和bcf(binary call format)文件。前者為文本文件,後者為其二進制文件。
bcftools使用簡單,最主要的命令是view命令,其次還有index和cat等命令。index和cat命令和samtools中類似。此處主講使用view命令來進行SNP和Indel calling。該命令的使用方法和例子為:
$ bcftools view -cvNg abc.bcf > snp_indel.vcf
生成的結果文件為vcf格式,有10列,分別是:1 參考序列名;2 varianti所在的left-most位置;3 variant的ID(默認未設置,用』.'表示);4 參考序列的allele;5 variant的allele(有多個alleles,則用』,'分隔);6 variant/reference QUALity;7 FILTers applied;8 variant的信息,使用分號隔開;9 FORMAT of the genotype fields, separated by colon (optional); 10 SAMPLE genotypes and per-sample information (optional)。
參考鏈接:
原文鏈接:https://blog.csdn.net/u013553061/article/details/53179945
https://www.cnblogs.com/emanlee/p/4316581.html
http://events.jianshu.io/p/794d82bccf6c
http://blog.sina.com.cn/s/blog_13de3725c0102v7rd.html
https://www.cnblogs.com/shuaihe/articles/6802246.html
『肆』 unix中有沒有view命令
vi是大多數UNIX系統都支持的全屏文本編輯器。它是由行編輯器ex發展而來的。它也兩個版本:view編輯器和vedit編輯器。其中view編輯器對vi設了只讀標志,而vedit編輯器對vi做了幾個標志設置,同時也簡化了vi的使用。 是有的。
『伍』 CAD中MVIEW命令有什麼作用
MVIEW命令,在圖紙空間應用,生成新的視口。
命令選項如下:
命令: mview
指定視口的角點或 [開(ON)/關(OFF)/布滿(F)/著色列印(S)/鎖定(L)/對象(O)/多邊形(P)/恢復(R)/圖層(LA)/2/3/4] <布滿>:
『陸』 linux打了view命令後怎麼退出
1、打開了scrcpy,那麼點擊投屏上的X。
『柒』 samtools view 使用小結
samtools是常用的對sam/bam文件操作的工具,其中samtools view命令可以實現查看序列、sam-bam文件轉換、過濾序列等功能。下面用實際的例子簡單介紹個人使用samtools view過程中的一些經驗。
如果只是查看sam文件的序列比對結果的前幾行,可以用該命令簡單的查看.
默認情況,samtools view輸出序列到屏幕,可以重導向到別的文件。
-b :聲明輸出為bam格式的文件。
-h :保留sam文件的header(如果有的話),header信息常包括比對的參考基因組的染色體信息和比對的命令
-@ :指明使用的線程數
以下簡單介紹samtools view 過濾序列的參數
-q 參數只輸出MAPQ(比對質量)大於等於該值的序列,上述命令過濾了MAPQ小於30的序列
另外,通過 -f 和 -F 參數,我們可以根據FLAG的值過濾序列。兩者的區別在於:
-f :保留該flag值的序列(相當於 grep )
-F :保留除了該flag值以外的所有序列(相當於 grep -v )
對於單端測序的比對結果
因此,假設我們需要取比對上的reads,可以使用 -F 4
或者取出比對不上的reads(前提是比對軟體也輸出了比對不上的reads)
對於雙端測序的比對結果
這里提供一個小工具可以快速查詢flag值所對應的含義, https://broadinstitute.github.io/picard/explain-flags.html
在左下側的框中勾選會給出相應的flag值
在上方搜索欄中輸入數值會在右側給出flag值對應的含義。
如果bam文件已經使用 samtools index 建好index的話,可以輸出特定染色體坐標內的reads
如果想取出多個染色體區域的reads的話,就不再建議使用上述的方法了,可以使用 bedtools 之類的工具根據bed文件進行提取。對samtools view命令的簡單介紹就到此結束,以後使用有心得再作更新。
完。