この質問をどのように表現するのかわかりませんが、基本的に私はsamデータを処理するためにシェルスクリプトを使用してきました。これはシェルスクリプトです。
nano picard_SortandIndex_from_sam.sh
for A in *sam; do ls $A; picard SortSam I=$A O=$A".bam" SO=coordinate CREATE_INDEX=TRUE; done
これは私が実行するコマンドで、処理されたすべてのsamファイルに対して1つの.outファイルのみを取得します。
nohup sh picard_SortandIndex_from_sam.sh > picard_SortandIndex_from_sam5_26_21.out &
処理された各サムファイルのサマリーファイルを生成できるように、 "picard_SortandIndex_from_sam.sh"スクリプトから.outファイルを生成する方法はありますか?そこに> $A".out"を入れようとしましたが、うまくいきません...
とても感謝しています!
ベストアンサー1
私はあなたがこれを探していると思います:
for A in *sam; do
ls "$A"
picard SortSam I="$A" O="$A".bam SO=coordinate CREATE_INDEX=TRUE > "$A".out
done
あるいは、stderrとstdoutを望む可能性が高いので、次のようにします。
for A in *sam; do
ls "$A"
picard SortSam I="$A" O="$A".bam SO=coordinate CREATE_INDEX=TRUE > "$A".out 2>&1
done
これはpicard
各samファイルで実行され、コマンド(> "$A".out
)の出力を保存します。そして2>&1
ファイルにエラー()が生成されました$A.out
。
最後の注意はetc。というファイルが生成されるので、foo.sam.bam
出力名から削除することをお勧めfoo.sam.bam.bai
します。.sam
for A in *sam; do
ls "$A"
fileName=$(basename "$A" .sam)
picard SortSam I="$A" O="$fileName".bam SO=coordinate CREATE_INDEX=TRUE > "$fileName".out 2>&1
done
代わりfoo.bam
に作成されます。foo.sam
foo.sam.bam