[英]works on the command line but not in a shell script
我有這條線
samtools view -h file | awk '$3=="chr$a" || /^@/' | samtools view -S - -b -o output
-S和-b之間的破折號應該向程序表明它來自STDIN。 我可以在命令行上的perl腳本中運行它,但是一旦我嘗試將其移動到Shell腳本中,它便會創建文件而不會輸出任何數據。 任何想法將不勝感激。
如果還沒有,請查看samtools FAQ 。 這里有一些示例,這些示例與您要對管道執行的操作類似。
自從我使用samtools以來已經有一段時間了,但是我會像這樣編寫您的命令:
samtools view -h file | awk '$3=="chr$a" || /^@/' | samtools view -S -b - > output.bam
您還提到了已將命令移至Shell腳本。 Shell腳本還有其他功能嗎? 如果仍然無法使用,我將其發布給我們查看。
在shell腳本中,單引號內的$ 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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.