2017-01-06 2 views
0

У меня есть следующий патч в команде, изменить название хромосом:как Ouput СЕПГ/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/или leterally «filename.chr.bam» в/mynewpath /. Я что-то пропустил в синтаксисе этой части $file > /mynewpath/${filename}_chr.bam?

любая помощь будет оценена

ответ

0

Попробуйте изменить имя_файла = эхо $ файл | cut -d "." -f 1; - filename = $ (echo $ file | rev | cut -d "/" -f 1 | rev | cut -d "." -f1);

+0

Спасибо @lurii за ответ. Я попробовал это, но получил результат в виде «_chr_bam». вот что я пробовал: 'для файла в /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 /' | samthools reheader - $ file> /mynewpath/${filename}_chr.bam; done' –

+0

Как выглядит имя файла, если вы измените свою команду на /mynewpath/${file}_chr.bam? –

+0

вы можете попробовать это filename = $ (echo $ file | rev | cut -d "/" -f 1 | rev | cut -d "." -f1); –

 Смежные вопросы

  • Нет связанных вопросов^_^