2017-01-06 29 views
0

Iは、染色体の名前を変更するには、次のsedコマンドがあります。は/ samtoolsは、新しいディレクトリになり

for file in /myoldpath/*.bam; do filename=`echo $file | cut -d "." -f 1`; samtools view -H $file | sed -e 's/SN:\([0-9XY]\)/SN:chr\1/' -e 's/SN:MT/SN:chrM/' | samtools reheader - $file > /mynewpath/${filename}_chr.bam; done 

私quesionは、変数$ファイル名を維持しながら、新しいパスで結果を挿入する方法でありますすべての新しいファイル名の一部として?結果は常に/ myoldpath /に挿入されるか、または/ mynewpath /の "filename.chr.bam"に挿入されます。 その部分の構文に何かがありません$file > /mynewpath/${filename}_chr.bam

任意のヘルプは

答えて

0

をいただければ幸いですファイル名=エコー$ファイルを変更しよう|カット "d" -f 1;ファイル名= $(echo $ file | rev | cut -d "/" -f 1 | rev | cut -d "。" -f1);

+0

回答ありがとうございます。私はこれを試しましたが、私は "_chr_bam"の形で出力を得ました。ここで私が試したのは: 'for file in /myoldpath/*.bam; do filename = $(echo $ file | cut -d "。" -f 1); samtoolsの表示-H $ファイル| sed-e 's/SN :([0-9XY])/ SN:chr \ 1 /' -e '/ SN:MT/SN:chrM /' | samtools reheader - $ファイル> /mynewpath/${filename}_chr.bam; done' –

+0

コマンドを/mynewpath/${file}_chr.bamに変更すると、ファイル名はどうなりますか? –

+0

あなたはこのファイル名= $(echo $ file | rev | cut -d "/" -f 1 | rev | cut -d "。" -f1);を試すことができます。 –

関連する問題