samtools / sed для редактирования файла BAM

Это должно сделать это:

ps axhk comm

axe -- Показать все процессы в системе.

h -- Нет заголовка.

k comm -- Указывает порядок сортировки по командам.

1
06.01.2017, 12:34
1 ответ

При присвоении переменной filename вы можете использовать утилиту basename следующим образом:

filename="$( basename "$file" .bam )"

Это даст filename значение myfile , если $ file , например, /my/data/myfile.bam (т. е. будет удалите любой элемент пути, а также указанный суффикс).

Вы даже можете использовать

filename="/mynewpath/$( basename "$file" .bam )_chr.bam"

или

filename="$( printf '/mynewpath/%s_chr.bam' "$( basename "$file" .bam )" )"

В последних двух примерах вы позже будете использовать "$ filename" вместо "/ mynewpath / $ {filename} _chr.bam " для перенаправления.

Что касается sed :

sed -e 's/SN:([0-9XY])/SN:chr\1/' -e 's/SN:MT/SN:chrM/'

Это вставит строку chr в SN: X , где X - хромосома. имя, превращая его в SN: chrX . Однако вам нужно будет либо использовать \ (... \) вместо (...) для группы захвата, либо добавить -E параметр для вызова sed , или вы получите сообщение об ошибке «недопустимая ссылка \ 1 в правой части команды` s '»(с GNU sed ) или« \ 1 не определено в RE »(с BSD sed ).

0
28.01.2020, 01:04

Теги

Похожие вопросы