grep НЕ с регулярным выражением - PullRequest
0 голосов
/ 22 мая 2018

Из файла FASTA я пытаюсь сохранить строку, которая не содержит ни одного из следующих символов: A, C, G или T и строки, которые не начинаются с >.Я думал, что регулярное выражение [^ACGT] сделало бы уловку, но на выходе были пустые строки

xx@LAPTOP-OP4UUVLH:~$ cat test.txt
>
TTTCCTTTCTGTGATTCCTCAAGCCCCATGGACTTACCGCTTTACCAACAACTGCAGCTAAGCCCGTCTT
CCCCAAAGACGGACCAATCCAGCAGCTTCTACTGCTAYCCATGCTCCCCTCCCTTCGCCGCCGCCGACGC

xx@LAPTOP-OP4UUVLH:~$ grep -v "^>" test.txt | grep "[^ACTG]"

xx@LAPTOP-OP4UUVLH:~$

Обратите внимание, что последняя строка test.txt содержит символ Y и, следовательно, должна быть напечатана.Почему не печатается только строка с буквой Y?

Я запускаю приложение Ubuntu в Windows 10.

xx@LAPTOP-OP4UUVLH:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.3 LTS
Release:        16.04
Codename:       xenial

1 Ответ

0 голосов
/ 22 мая 2018

Для файла (test.txt):

>
TTTCCTTTCTGTGATTCCTCAAGCCCCATGGACTTACCGCTTTACCAACAACTGCAGCTAAGCCCGTCTT
CCCCAAAGACGGACCAATCCAGCAGCTTCTACTGCTAYCCATGCTCCCCTCCCTTCGCCGCCGCCGACGC

указанная вами команда (grep -v "^>" test.txt | grep "[^ACTG]") напечатает:

CCCCAAAGACGGACCAATCCAGCAGCTTCTACTGCTAYCCATGCTCCCCTCCCTTCGCCGCCGCCGACGC

Если вы получаете пустой выводзатем проверьте наличие пробелов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...