samtools view -h file | awk '$3=="chr$a" || /^@/' | samtools view -S - -b -o output
了-S和-B之間的破折號應該指示的程序,它是從標準輸入。我可以從命令行上的perl腳本運行它,但只要我嘗試將其移入shell腳本,它就會創建文件而不輸出任何數據。任何想法將不勝感激。
samtools view -h file | awk '$3=="chr$a" || /^@/' | samtools view -S - -b -o output
了-S和-B之間的破折號應該指示的程序,它是從標準輸入。我可以從命令行上的perl腳本運行它,但只要我嘗試將其移入shell腳本,它就會創建文件而不輸出任何數據。任何想法將不勝感激。
在shell腳本中單引號裏面的$一個不會被擴大:
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
如果您還沒有看過,請看samtools FAQ。這裏有一些例子可以用來處理你想要對你的管道做類似的事情。
它已經有一段時間,因爲我用samtools,但我會寫你的命令是這樣的:
samtools view -h file | awk '$3=="chr$a" || /^@/' | samtools view -S -b - > output.bam
另外你提到你搬到命令shell腳本。 shell腳本是否在做其他事情?如果它仍然不起作用,我會張貼,讓我們看看。
{1..22}的shell腳本 做 samtools查看-h AD3.sorted.bam | awk'$ 3 ==「chr $ a」||/^ @ /'| samtools view -S - -b -o chr $ a.bam done – user1234579 2012-03-02 14:36:17
哪裏Perl代碼...? – TLP 2012-03-02 00:05:38
shell腳本在哪裏? – user1126070 2012-03-02 08:09:37