0

私はこの行を持っています

samtools view -h file | awk '$3=="chr$a" || /^@/' | samtools view -S - -b -o output

-Sと-bの間のダッシュは、それがSTDINからのものであることをプログラムに示すことになっています。コマンドラインのperlスクリプトから実行できますが、シェルスクリプトに移動しようとすると、データを出力せずにファイルが作成されます。任意のアイデアをいただければ幸いです。

4

2 に答える 2

0

まだ読んでいない場合は、samtoolsFAQをご覧ください。これには、パイプラインでやりたいことと同じようなことをするための例があります。

samtoolsを使用してからしばらく経ちましたが、次のようにコマンドを記述しました。

samtools view -h file | awk '$3=="chr$a" || /^@/' | samtools view -S -b - > output.bam

また、コマンドをシェルスクリプトに移動したとのことですが。シェルスクリプトは他に何かをしていますか?それでもうまくいかない場合は、投稿して確認します。

于 2012-03-02T12:57:17.677 に答える
0

シェルスクリプトでは、一重引用符内の$aは展開されません。

for a in {1..22} do 
  samtools view -h AD3.sorted.bam | awk '$3=="chr$a" || /^@/' | samtools view -S - -b -o chr$a.bam 
done 
于 2012-03-03T16:04:23.463 に答える