удалить шаблон в файле - PullRequest
0 голосов
/ 15 января 2019

У меня есть файл fasta, содержащий тысячи последовательностей. Появляется с этим форматом

>3276_2258569   M05025:154:000000000-BVP4M:1:1101:17272:1161 1:N:0:TGGTGG       orig_bc=TGCGA   new_bc=TGCGA    bc_diffs=0
AAGTCGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTATTGAATAACCTGGTACTGATGCTGGCCCTTTAAC
TGAGGGCATGTGCTCGTATCATCTTATTTATCTCCTCTTGTGCACCTTTTGTAGTCTTTGAAGCTTTCGCAGTCAAATGC
GGTTTGGGGGCTTGAGCTTGCAAAAGTCCTTCCCCTGCTT
>3276_2258570   M05025:154:000000000-BVP4M:1:1101:22227:1193 1:N:0:TGGTGG       orig_bc=TGCGA   new_bc=TGCGA    bc_diffs=0
AAGTCGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTATTGAATAACCTGGTACTGATGCTGGCCCTTTAAC
TGAGGGCATGTGCTCGTATCATCTTATTTATCTCCTCTTGTGCACCTTTTGTAGTCTTTGAAGCTTTCGCAGTCAAATGC
GGTTTGGGGGCTTGAGCTTGCAAAAGTCCTTCCCCTGCTT
>3276_2258571   M05025:154:000000000-BVP4M:1:1101:13340:1215 1:N:0:TGGTGG       orig_bc=TGCGA   new_bc=TGCGA    bc_diffs=0
AAGTCGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTATTGAATAACCTGGTACTGATGCTGGCCCTTTAAC
TGAGGGCATGTGCTCGTATCATCTTATTTATCTCCTCTTGTGCACCTTTTGTAGTCTTTGAAGCTTTCGCAGTCAAATGC
GGTTTGGGGGCTTGAGCTTGCAAAAGTCCTTCCCCTGCTT

Я хотел бы удалить большинство частей заголовка следующим образом

>3276_2258569
AAGTCGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTATTGAATAACCTGGTACTGATGCTGGCCCTTTAAC
TGAGGGCATGTGCTCGTATCATCTTATTTATCTCCTCTTGTGCACCTTTTGTAGTCTTTGAAGCTTTCGCAGTCAAATGC
GGTTTGGGGGCTTGAGCTTGCAAAAGTCCTTCCCCTGCTT
>3276_2258570 
AAGTCGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTATTGAATAACCTGGTACTGATGCTGGCCCTTTAAC
TGAGGGCATGTGCTCGTATCATCTTATTTATCTCCTCTTGTGCACCTTTTGTAGTCTTTGAAGCTTTCGCAGTCAAATGC
GGTTTGGGGGCTTGAGCTTGCAAAAGTCCTTCCCCTGCTT
>3276_2258571
AAGTCGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTATTGAATAACCTGGTACTGATGCTGGCCCTTTAAC
TGAGGGCATGTGCTCGTATCATCTTATTTATCTCCTCTTGTGCACCTTTTGTAGTCTTTGAAGCTTTCGCAGTCAAATGC
GGTTTGGGGGCTTGAGCTTGCAAAAGTCCTTCCCCTGCTT

Я пытался использовать

sed -e "s/M.bc_diffs=0//g" myfile.fasta

Но я не получаю желаемых результатов. Как можно удалить эти шаблоны в моем заголовке последовательности?

Ответы [ 2 ]

0 голосов
/ 15 января 2019

Попробуйте эту команду Perl

$ perl -ne  ' s/(\S+)(.*)/$1/g if /^>/; print ' bing.fasta
>3276_2258569
AAGTCGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTATTGAATAACCTGGTACTGATGCTGGCCCTTTAAC
TGAGGGCATGTGCTCGTATCATCTTATTTATCTCCTCTTGTGCACCTTTTGTAGTCTTTGAAGCTTTCGCAGTCAAATGC
GGTTTGGGGGCTTGAGCTTGCAAAAGTCCTTCCCCTGCTT
>3276_2258570
AAGTCGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTATTGAATAACCTGGTACTGATGCTGGCCCTTTAAC
TGAGGGCATGTGCTCGTATCATCTTATTTATCTCCTCTTGTGCACCTTTTGTAGTCTTTGAAGCTTTCGCAGTCAAATGC
GGTTTGGGGGCTTGAGCTTGCAAAAGTCCTTCCCCTGCTT
>3276_2258571
AAGTCGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTATTGAATAACCTGGTACTGATGCTGGCCCTTTAAC
TGAGGGCATGTGCTCGTATCATCTTATTTATCTCCTCTTGTGCACCTTTTGTAGTCTTTGAAGCTTTCGCAGTCAAATGC
GGTTTGGGGGCTTGAGCTTGCAAAAGTCCTTCCCCTGCTT

$
0 голосов
/ 15 января 2019

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

sed -E 's/([[:space:]]+).*/\1/' in.fa > out.fa

Или еще проще, используя awk:

awk '{ print $1 }' in.fa > out.fa
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...