Platform for Drug Discovery


SAMtools



概要


  • SAM,BAMフォーマットのマッピング結果ファイル等を操作するプログラム集です。
  • 多型解析方面が特に力が入っています。

プログラムリスト


  • Version0.1.18の場合
  • #サブプログラム名機能概要応用例/利用シーンなど
    1viewSAMとBAMの相互変換、ファイルのフィルタリング:特定条件(染色体上の特定領域、マッピングの条件、ペアの条件等)をもつものを抽出SAM<=>BAM変換
    染色体上の特定慮域の結果だけ抜き出す。
    マッピングqualityフィルタ
    2sortBAMファイルを染色体,座標順で並び替えし、index付加できるようにする。BAMに対するindex付加の前処理。
    3mpileuppileup(ゲノム座標ごとに塩基を積み上げて出力し、多型解析等に必要な情報形式に変換)する。SNPのコール。
    4depthcompute the depth(オリジナル説明文抜粋)
    5faidx他のサブプログラムでリファレンスのfastaを利用する際のindexを付加する。tview/mpileupでゲノム配列情報を利用する際の前処理
    ゲノムの特定領域を切り出す。
    6tview簡易テキスト(CUI)マッピングビューワ
    7indexBAMファイルにindex(索引)を付加し、高速かつゲノム領域ピンポイントな情報抽出可能にする。tview/mpileupの前処理。
    8idxstatsBAMのindexから得られる統計情報表示。
    9fixmatefix mate information(オリジナル説明文抜粋)
    10flagstatsimple stats(オリジナル説明文抜粋)
    11calmdSAM/BAM中で塩基多型情報等を格納するMDタグカラムの情報の妥当性検証を行う/新たにそのカラムを生成する。
    12mergeマージする。
    13rmdupPCRによる重複を除去する。
    14reheaderBAMのheaderを置き換える。
    15catconcatenate BAMs(オリジナル説明文抜粋)
    16targetcutcut fosmid regions (for fosmid pool only)(オリジナル説明文抜粋)
    17phasephase heterozygotes(オリジナル説明文抜粋)

使用方法


1. sam to bam 変換


  • samtools view -bS aln.sam > aln.bam

2. bam to sam 変換


  • samtools view -h aln.bam > aln.sam

3. bamソート


  • samtools sort aln.bam aln
    • 上記は、ソートした後のbamでソート前のbamを上書きします。
  • samtools sort aln.bam aln.sort
    • 上書きしたくない場合は、以上のようにします。"aln.sort.bam"がソート後のbamです。
  • samtools sort -n aln.bam aln.sort
    • リードのID順にソートする場合。
  • samtools sort -o aln.bam tmp | [any process]
    • ソート後の結果を別の処理にかける場合。"tmp"は一時ファイルのprefixとして使用される。

4. bam index作成


  • samtools index aln.bam
    • 結果として"aln.bam.bai"が生成されます。

5. bamの中身を加工してbamに戻す


  • mkdir outputDir;
    
    for i in `ls -1 inputDir | grep ".bam$"`; do
    
     base=`echo $i | sed 's/.bam$//'`;
    
     samtools view -h inputDir/$i | awk 'BEGIN{IFS="\t";OFS="\t";}{if($11=":"){qual=$10;gsub(/./,"I",qual);$11=qual;} print $0}' | samtools view -bS - | samtools sort - outputDir/$base
    
     samtools index outputDir/${base}.bam
    
    done
    • 上記のsamとbamの相互変換と、sort、indexの応用で、ソート済index付加済bamを加工して、またソート済index付加済bamに戻す手順を示しています。
    • ディレクトリのinputDirの中にある.bamファイルを逐次的に読み取り、outputDirに加工済の.bamを配置します。
    • この例では、quality valueが設定されていないと、動作しないプログラムを動かす時などの為に、awkを用いて、11列目のquality value列が空(*)の場合などに、配列ファイルと同じ長さのphred qualityの最高値の"I"をダミーで設定する操作を記載しています。

6. リファレンスゲノム用index作成


  • pileupや、tview等でリファレンスゲノムを指定する場合事前にインデックスを作っておくことが好ましいです。明示的に行わなくとも、呼び出しを行った時点で、インデックスの作成が行われます。
  • samtools faidx ref.fa
    • "ref.fa"はリファレンスゲノムのマルチFASTAファイルです。
    • 結果として"ref,fa"と同じディレクトリ内に"ref.fa.fai"ファイルが生成されます。

7. 簡易ビューワ tviewの利用


  • 入力として事前にソート済みのBAMファイル(.bam)とインデックスファイル(.bai)を用意しておく必要があります。

7.1. リファレンスゲノム情報がない場合


  • samtools tview aln.bam
  • 結果イメージ

    Image Image
    • 実行後に"?"を入力すると、このビューワ上で使用できるコマンド一覧が表示されます。
    • "q"入力でプログラムを終了。
    • "g"入力に続いて"chr1:565011"と入力すると染色体1版のゲノム座標"565,011"にジャンプします。

7.2. リファレンスゲノム情報がある場合


  • リファレンスのfastaファイルがある場合は、リファレンスと一致するか否かで表示形式が変わります。
    • #表示記号意味補足
      1 .(ピリオド) 純鎖 リファレンスと一致
      2 ,(カンマ)逆鎖 リファレンスと一致
      3ACGTN純鎖 リファレンスと不一致
      4acgtn逆鎖 リファレンスと不一致
      5+数字(数字と同数のACGTNまたはacgtn)挿入部位+1aは逆鎖に"a"が1塩基挿入"。
      +2ATは順鎖に"AT"が2塩基挿入。
      部位はこの塩基と、次の塩基の間。
      6-数字(数字と同数のACGTNまたはacgtn)欠損部位+1Aは順鎖"a"が1塩基欠損。
      -atは逆鎖に"at"が2塩基欠損。
      7^とその後の一文字リードの開始位置と
      マップ品質値
      ^~は"~"文字がASCIIコードの126番目なので、126-33=93がマップ品質値。
      8$リードの終了
      9*短い欠損の最中近傍に2以上の欠損があり、近傍の欠損に含まれる場合。
      例えば-2ATの次の位置には"*"が含まれる。
      10<または>長い欠損の最中"*"とほぼ同じ意味だが、長い欠損の場合"<"または">"となる。
  • samtools tview aln.bam ref.fasta
    • 事前にfaidxコマンドでリファレンスゲノムFASTAに対してインデックスを作っておくのが好ましいです。
    • 明示的にfaidxを実行しなくとも、初回実行時に"ref.fasta"と同じディレクトリに"ref.fa.fai"が作成されます。
  • 結果イメージ

    Image Image
    • 上のリファレンスゲノムを指定しなかった場合と全く同じ領域を表示しています。
    • リファレンスを指定しなかった場合に比べて、格段にSNPなどの目視が容易になります。以下の箇所はSNPの可能性が濃厚です。
      • 左画面端のCが縦に並んだ箇所。頻度から考えてヘテロかもしれません。
      • 左画面中央やや右のTが縦に並んだ箇所。
      • 右画面中央cが縦に並んだ箇所。
      • 右画面右のaが縦に並んだ箇所。

8. pileupフォーマットの出力


  • pileupフォーマットはSNP解析にも利用される書式で、上記tviewを横にした様な書式で出力されます。
  • tviewと同様、入力として事前にソート済みのBAMファイル(.bam)とインデックスファイル(.bai)を用意しておく必要があります。

8.1. リファレンスゲノム情報がない場合


  • smtools pileup aln.bam | less
    • この場合はtviewと同様にインタラクティブに参照するため"less"コマンドへのリダイレクトを行っています。
  • 結果イメージ

    Image Image

8.2. リファレンスゲノム情報がある場合


  • tviewと同様、リファレンスのfastaファイルがある場合は、リファレンスと一致するか否かで表示形式が変わります。
    • 明示的にfaidxを実行しなくとも、初回実行時に"ref.fasta"と同じディレクトリに"ref.fa.fai"が作成されます。
  • samtools pileup aln.bam -f ref.fa | less
  • 結果イメージ

    Image Image
    • 上のリファレンスゲノムを指定しなかった場合と全く同じ領域を表示しています。
    • リファレンスを指定しなかった場合に比べて、格段にSNPなどの目視が容易になります。以下の箇所はSNPの可能性が濃厚です。

8.3. tviewとの違い


  • 結果イメージ
    Image
    • tviewと異なり、マップされない箇所は出力されません。566018と566063の間には何も出力が無いことが見て取れるかと思います。

8.4. SNP解析用の出力1


  • SAMtoolsにはSNP解析用の各種オプションが用意されています。
  • ここでは一例としてマップされたサンプルタグのコンセンサス塩基を表示する"-c"オプションの指定例を示しています。
  • samtools pileup aln.bam -f ref.fa -c | awk 'toupper($3)!=toupper($4)&&$9!~/^[\,\.\^\~\$]+$/{print $0}' | less
    • 上記コマンドでは、更にゲノム塩基とコンセンサス塩基が異なる条件awkコマンドの"toupper($3)!=toupper($4)"と、マップされた塩基が全てコンセンサスと全く同じ場合"$9!~/^[\,\.\^\~\$]+$/"を除外する条件を指定しています。
  • 結果イメージ
    Image

9. mpileupフォーマットの出力


  • samtools mpileup -uf ../hg19.fa all.sort.bam |bcftools view -cg -
  • としたときに、In、Delのそれぞれの表示のされ方。
  • Deletion (16036-16038の部位)
  • chr1	16035	.	G	.	99	.	DP=25;AF1=0;AC1=0;DP4=13,10,0,0;MQ=60;FQ=-96	PL	0
    
    chr1	16036	.	G	.	99	.	DP=25;AF1=0;AC1=0;DP4=13,10,0,0;MQ=60;FQ=-96	PL	0
    
    chr1	16036	.	GAA	GA	214	.	INDEL;DP=25;VDB=0.0345;AF1=1;AC1=2;DP4=0,0,14,11;MQ=60;FQ=-110	GT:PL:GQ	1/1:255,75,0:99
    
    chr1	16037	.	A	.	28.2	.	DP=2;VDB=0.0159;;AC1=2;FQ=-30	PL	0
    
    chr1	16038	.	A	.	28.2	.	DP=25;;AC1=2;FQ=-30	PL	0
    
    chr1	16039	.	G	.	105	.	DP=26;AF1=0;AC1=0;DP4=13,12,0,0;MQ=60;FQ=-102	PL	0
  • Insertion (15479-15480の部位)
  • chr1	15477	.	T	.	108	.	DP=30;VDB=0.0050;AF1=0;AC1=0;DP4=15,11,0,0;MQ=57;FQ=-105	PL	0
    
    chr1	15478	.	A	.	105	.	DP=30;AF1=0;AC1=0;DP4=15,10,0,0;MQ=57;FQ=-102	PL	0
    
    chr1	15479	.	A	.	108	.	DP=30;VDB=0.0050;AF1=0;AC1=0;DP4=15,11,0,0;MQ=57;FQ=-105	PL	0
    
    chr1	15479	.	aa	aACa	214	.	INDEL;DP=30;VDB=0.0399;AF1=1;AC1=2;DP4=0,0,15,13;MQ=57;FQ=-119	GT:PL:GQ	1/1:255,84,0:99
    
    chr1	15480	.	A	.	32.9	.	DP=29;AF1=0;AC1=0;DP4=1,0,0,0;MQ=60;FQ=-30.1	PL	0
    
    chr1	15481	.	G	.	114	.	DP=29;AF1=0;AC1=0;DP4=15,13,0,0;MQ=57;FQ=-111	PL	0
    
    chr1	15482	.	T	.	114	.	DP=29;AF1=0;AC1=0;DP4=15,13,0,0;MQ=57;FQ=-111	PL	0
    • ちなみに、samtools mpileup -uf ../hg19.fa all.sort.bam |bcftools view -cg - |vcfutils.pl vcf2fq > new_ref.fq
    • とすると、コンセンサス配列をFASTQ形式で出力できる。ただし、IN, DELはすべて無視される。
    • ひとまずbcftoolsが吐き出す最も高いスコアを拾っていくスクリプトを作成。以下のファイルをbcf_to_fa.plなどと保存し、次のコマンドでIN, DEL込みのコンセンサス配列ができる。
    • samtools mpileup -uf ../hg19.fa all.sort.bam |bcftools view -cg - | bcf_to_fa.pl > new_ref.fa
  • #!/usr/bin/perl
    
    my $chr="";
    
    my $pos=0;
    
    my $seq="";
    
    my $pos2=0;
    
    my $seq1_1, $seq1_2, $seq2_1, $seq2_2, $score1, $score2;
    
    my $temp_chr, $temp_pos;
    
    my @items=();
    
    my @seqs=();
    
    my $input;
    
    while(chomp($input = <STDIN>)){
    
        if ($input eq "\cD"){
    
    	last;
    
        }
    
        if($input =~ m/^\#/){
    
    	next;
    
        }
    
        if($input =~ m/^$/){
    
    	next;
    
        }
    
        @items = split(/\t/,$input);
    
        $temp_chr=$items[0];
    
        $temp_pos=$items[1];
    
        $seq1_1=$items[3];
    
        @seqs = split(/,/,$items[4]);
    
        $seq1_2=$seqs[0];
    
        $score1=$items[5];
    
        if($temp_chr eq $chr){
    
    	if($temp_pos == $pos){
    
    	    if($score2>=$score1){
    
    		$seq1_1=$seq2_1;
    
    		$seq1_2=$seq2_2;
    
    		$score1=$score2;
    
    	    }
    
    	}elsif($temp_pos > $pos){
    
    	    for($i=0;$i<$pos-$pos2-1;$i++){
    
    		print "n";
    
    	    }
    
    	    if($seq2_2 eq "."){
    
    		print $seq2_1;
    
    	    }else{
    
    		print $seq2_2;
    
    	    }
    
    	    if(length($seq2_1)>1){
    
    		if($temp_pos<$pos+length($seq2_1)){
    
    		    $temp_pos=$pos+length($seq2_1);
    
    		    $score1=0;
    
    		    $seq1_1="";
    
    		    $seq1_2="";
    
    		}
    
    		$pos2=$pos+length($seq2_1)-1;
    
    	    }else{
    
    		$pos2=$pos;
    
    	    }
    
    	}else{
    
    	    next;
    
    	}
    
        }else{
    
    	if($chr ne ""){          
    
    	    for($i=0;$i<$pos-$pos2-1;$i++){
    
    		print "n";
    
    	    }
    
    	    if($seq2_2 eq "."){
    
    		print $seq2_1;
    
    	    }else{
    
    		print $seq2_2;
    
    	    }
    
    	    
    
    	    print "\n>$temp_chr\n";
    
    	}else{
    
    	    print ">$temp_chr\n";
    
    	}
    
    	$chr=$temp_chr;
    
    	$pos=$temp_pos;
    
    	$pos2=0;
    
    	$seq="";       
    
        }
    
        $seq2_1=$seq1_1;
    
        $seq2_2=$seq1_2;
    
        $score2=$score1;
    
        $pos=$temp_pos;
    
    }
    
    if($chr ne ""){
    
        for($i=0;$i<$pos-$pos2-1;$i++){
    
    	print "n";
    
        }
    
        if($seq2_2 eq "."){
    
    	print $seq2_1;
    
        }else{
    
    	print $seq2_2;
    
        }
    
        print "\n";
    
    }

10. MDタグ生成・バリデーション


  • MDタグ列が無いBAMと、マッピング元のリファレンスfastaを入力としてMDタグを生成します。
  • MDタグ列が既にあり、情報が異なる場合はエラーを返すバリデータとして機能するようです。
  • samtools calmd aln.bam ref.fasta

11. idxstats


  • idxstatsはインデックス作成済みのBAMから統計情報を抽出します。
  • 出力は以下
    列番号説明
    1リファレンスの配列名chr1
    2リファレンスの配列長249250621
    3マップリード数4356399
    4非マップリード数148373
  • 実行例
    $ samtools idxstats tmp.bam
    
    chr1    249250621       4356399 148373
    chr10   135534747       1181297 49258
    chr11   135006516       1633104 92299
    chr12   133851895       2004636 90937
    chr13   115169878       677441  27904
    chr14   107349540       1030127 39507
    chr15   102531392       1167846 62981
    chr16   90354753        872312  50127
    chr17   81195210        1599066 76032
    chr18   78077248        459903  18605
    chr19   59128983        1065851 58183
    chr2    243199373       2176756 103064
    chr20   63025520        621035  27416
    chr21   48129895        763105  12486
    chr22   51304566        600171  35187
    chr3    198022430       2245167 111477
    chr4    191154276       1190530 51240
    chr5    180915260       2081105 93493
    chr6    171115067       2090799 91597
    chr7    159138663       1531556 78698
    chr8    146364022       969868  39249
    chr9    141213431       1315553 58872
    chrX    155270560       1350297 61327
    chrY    59373566        23436   3116
    *       0       0       5511212

12. rmdup


  • PCR重複リードを除去します。
  • 実行例
    /toolDir/samtools-0.1.18/samtools rmdup input.bam output.bam

インストール方法


1. Linux(Ubuntsu)の場合


2. cygwin上でのインストール


  • あらかじめcygwinの"curses"、"gcc"、"gcc4"、"make"等に関係するパッケージをインストールしておけば、問題なくインストール可能。

3. その他Linuxソースからインストールする場合


インストールログ


  • $ tar xvjf samtools-0.1.12a.tar.bz2
    
    $ cd samtools-0.1.12a
    
    $ less INSTALL
    
    System Requirements
    
    ===================
    
    SAMtools depends on the zlib library <http://www.zlib.net>. The latest
    
    version 1.2.3 is preferred and with the latest version you can compile
    
    razip and use it to compress a FASTA file. SAMtools' faidx is able to
    
    index a razip-compressed FASTA file to save diskspace. Older zlib also
    
    works with SAMtools, but razip cannot be compiled.
    
    
    The text-based viewer (tview) requires the GNU ncurses library
    
    <http://www.gnu.org/software/ncurses/>, which comes with Mac OS X and
    
    most of the modern Linux/Unix distributions. If you do not have this
    
    library installed, you can still compile the rest of SAMtools by
    
    manually modifying one line in Makefile.
    
    
    Compilation
    
    ===========
    
    Type `make' to compile samtools. If you have zlib >= 1.2.2.1, you can
    
    compile razip with `make razip'.
    
    
    Installation
    
    ============
    
    Simply copy `samtools' and other executables/scripts in `misc' to a
    
    location you want (e.g. a directory in your $PATH). No further
    
    configurations are required.
    
    $ make
    
    make[1]: ディレクトリ `/installDir/tool/samtools-0.1.12a' に入ります
    
    make[2]: ディレクトリ `/installDir/tool/samtools-0.1.12a' に入ります
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bgzf.c -o bgzf.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I. kstring.c -o kstring.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam_aux.c -o bam_aux.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam.c -o bam.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam_import.c -o bam_import.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I. sam.c -o sam.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam_index.c -o bam_index.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam_pileup.c -o bam_pileup.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam_lpileup.c -o bam_lpileup.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam_md.c -o bam_md.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I. glf.c -o glf.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I. razf.c -o razf.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I. faidx.c -o faidx.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I. knetfile.c -o knetfile.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam_sort.c -o bam_sort.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I. sam_header.c -o sam_header.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam_reheader.c -o bam_reheader.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I. kprobaln.c -o kprobaln.o
    
    ar -cru libbam.a bgzf.o kstring.o bam_aux.o bam.o bam_import.o sam.o bam_index.o bam_pileup.o bam_lpileup.o bam_md.o glf.o razf.o faidx.o knetfile.o bam_sort.o sam_header.o bam_reheader.o kprobaln.o
    
    make[2]: ディレクトリ `/installDir/tool/samtools-0.1.12a' から出ます
    
    make[2]: ディレクトリ `/installDir/tool/samtools-0.1.12a/bcftools' に入ります
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I.. -I. bcf.c -o bcf.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I.. -I. vcf.c -o vcf.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I.. -I. bcfutils.c -o bcfutils.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I.. -I. prob1.c -o prob1.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I.. -I. ld.c -o ld.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I.. -I. kfunc.c -o kfunc.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I.. -I. index.c -o index.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I.. -I. fet.c -o fet.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I.. -I. bcf2qcall.c -o bcf2qcall.o
    
    ar -cru libbcf.a bcf.o vcf.o bcfutils.o prob1.o ld.o kfunc.o index.o fet.o bcf2qcall.o
    
    make[2]: ディレクトリ `/installDir/tool/samtools-0.1.12a/bcftools' から出ます
    
    make[2]: ディレクトリ `/installDir/tool/samtools-0.1.12a/misc' に入ります
    
    make[2]: `lib' に対して行うべき事はありません.
    
    make[2]: ディレクトリ `/installDir/tool/samtools-0.1.12a/misc' から出ます
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam_tview.c -o bam_tview.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam_maqcns.c -o bam_maqcns.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam_plcmd.c -o bam_plcmd.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I. sam_view.c -o sam_view.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam_rmdup.c -o bam_rmdup.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam_rmdupse.c -o bam_rmdupse.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam_mate.c -o bam_mate.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam_stat.c -o bam_stat.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam_color.c -o bam_color.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bamtk.c -o bamtk.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I. kaln.c -o kaln.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam2bcf.c -o bam2bcf.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam2bcf_indel.c -o bam2bcf_indel.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I. errmod.c -o errmod.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I. sample.c -o sample.o
    
    gcc -g -Wall -O2  -o samtools bam_tview.o bam_maqcns.o bam_plcmd.o sam_view.o bam_rmdup.o bam_rmdupse.o bam_mate.o bam_stat.o bam_color.o bamtk.o kaln.o bam2bcf.o bam2bcf_indel.o errmod.o sample.o libbam.a -lm  -lcurses  -lz -Lbcftools -lbcf
    
    make[1]: ディレクトリ `/installDir/tool/samtools-0.1.12a' から出ます
    
    make[1]: ディレクトリ `/installDir/tool/samtools-0.1.12a/bcftools' に入ります
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I.. -I. call1.c -o call1.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I.. -I. main.c -o main.o
    
    gcc -g -Wall -O2  -o bcftools call1.o main.o ../kstring.o ../bgzf.o ../knetfile.o -lm  -lz -L. -lbcf
    
    make[1]: ディレクトリ `/installDir/tool/samtools-0.1.12a/bcftools' から出ます
    
    make[1]: ディレクトリ `/installDir/tool/samtools-0.1.12a/misc' に入ります
    
    gcc -c -g -Wall -O2  -DMD5SUM_MAIN -o md5sum-lite.o md5.c
    
    gcc -g -Wall -O2  -o md5sum-lite md5sum-lite.o
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I. md5.c -o md5.o
    
    gcc -g -Wall -O2  -c -I.. -o md5fa.o md5fa.c
    
    gcc -g -Wall -O2  -o md5fa md5.o md5fa.o -lz
    
    gcc -g -Wall -O2  -o maq2sam-short maq2sam.c -lz
    
    gcc -g -Wall -O2  -DMAQ_LONGREADS -o maq2sam-long maq2sam.c -lz
    
    gcc -c -g -Wall -O2  -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -D_CURSES_LIB=1 -I. wgsim.c -o wgsim.o
    
    gcc -g -Wall -O2  -o wgsim wgsim.o -lm
    
    make[1]: ディレクトリ `/installDir/tool/samtools-0.1.12a/misc' から出ます

参考情報


Contact us
Copyright © 2009-2017 National Institute of Genetics  [Site Policy] [Privacy Policy]