2

У меня есть следующая строка

>gi|374638939|gb|AEZ55452.1| myosin light chain 2, partial [Batrachoseps major]
AAMGR

Повторяю время от времени по всему документу и хочу удалить все из >gi|37463 в последовательность `AAMGR

Но я хочу сохранить блоки, где появляется JQ250 :

>gi|374638936|gb|**JQ250**332.1| Batrachoseps major isolate b voucher DBW5974 myosin light chain 2 gene, partial cds
GCNGCCATGGGTAAGTGAACGCGCCGGACCAGACCATTCACTGCATGCAATGGGGGCGTTTGTGGGTTGG
AAGGTGTGCCAAAGATCTAGGGAACCCCAACTCCTCAGGATACGGGTGGGAGCCCTAAAATATGTCCAGC
TATAAGGAGATGACCAATGGAAAAGGGGGTATCAGCAGTACTTTACCTGCTACTATAAGAGAATTGCATC
CTGGGAATAGCCTCTGAAAGGTCCCATTTTAGCGACACTGGTAGATGGACACTGGCCTTTGGACAGCACC
AGTAAGTAGAGCATTGCATCTTGGGATTCCTTTGCTGTTCACATGCCACTGAAAGCTCTCACCATAGCAG
ATTCAAAATGCCTACCCGGCAGGTTGCCAGAAAAGCACTGCATCATGGGAGAACCACTTTTAGTGACAAT
TCTAAGAGATGGGTGTCTCTCTGCCAGGCGCTATTATCCAGAGACCCCAGTATGACGTCGTCATTGCTCC
CAGGTAACCATGTTCTCACCCCCTCTCCCACAGGCCGC

И удалить только те строки, которые имеют AEZ554

>gi|374638939|gb|**AEZ554**52.1| myosin light chain 2, partial [Batrachoseps major]
AAMGR

Итак, в идеале следующий блок:

>gi|374638934|gb|JQ250331.1| Batrachoseps major isolate a voucher DBW5974 myosin light chain 2 gene, partial cds
GCNGCCATGGGTAAGTGAACGCGCCGGACCAGACCATTCACTGCATGCAATGGGGGCGTTTGTGGGTTGG
AAGGTGTGCCAAAGATCTAGGGAACCCCAACTCCTCAGGATACGGGTGGGAGCCCTAAAATATGTCCAGC
TATAAGGAGATGACCAATGGAAAAGGGGGTATCAGCAGTACTTTACCTGCTACTATAAGAGAATTGCATC
CTGGGAATAGCCTCTGAAAGGTCCCATTTTAGCGACACTGGTAGATGGACACTGGCCTTTGGACAGCACC
AGTAAGTAGAGCATTGCATCTTGGGATTCCTTTGCTGTTCACATGCCACTGAAAGCTCTCACCATAGCAG
ATTCAAAATGCCTACCCGGCAGGTTGCCAGAAAAGCACTGCATCATGGGAGAACCACTTTTAGTGACAAT
TCTAAGAGATGGGTGTCTCTCTGCCAGGCGCTATTATCCAGAGACCCCAGTATGACGTCGTCATTGCTCC
CAGGTAACCATGTTCTCACCCCCTCTCCCACAGGCCGC

>gi|374638935|gb|AEZ55450.1| myosin light chain 2, partial [Batrachoseps major]
AAMGR

>gi|374638936|gb|JQ250332.1| Batrachoseps major isolate b voucher DBW5974 myosin light chain 2 gene, partial cds
GCNGCCATGGGTAAGTGAACGCGCCGGACCAGACCATTCACTGCATGCAATGGGGGCGTTTGTGGGTTGG
AAGGTGTGCCAAAGATCTAGGGAACCCCAACTCCTCAGGATACGGGTGGGAGCCCTAAAATATGTCCAGC
TATAAGGAGATGACCAATGGAAAAGGGGGTATCAGCAGTACTTTACCTGCTACTATAAGAGAATTGCATC
CTGGGAATAGCCTCTGAAAGGTCCCATTTTAGCGACACTGGTAGATGGACACTGGCCTTTGGACAGCACC
AGTAAGTAGAGCATTGCATCTTGGGATTCCTTTGCTGTTCACATGCCACTGAAAGCTCTCACCATAGCAG
ATTCAAAATGCCTACCCGGCAGGTTGCCAGAAAAGCACTGCATCATGGGAGAACCACTTTTAGTGACAAT
TCTAAGAGATGGGTGTCTCTCTGCCAGGCGCTATTATCCAGAGACCCCAGTATGACGTCGTCATTGCTCC
CAGGTAACCATGTTCTCACCCCCTCTCCCACAGGCCGC

>gi|374638937|gb|AEZ55451.1| myosin light chain 2, partial [Batrachoseps major]
AAMGR

>gi|374638938|gb|JQ250333.1| Batrachoseps major isolate a voucher MVZ:Herp:249023 myosin light chain 2 gene, partial cds
GCCGCCATGGGTAAGTGAACGCGCCGGACCAGACCATTCACTGCCTGCAATGGGGGTGTTTGTGGGTTGG
AAGGTGTGCCAAAGATCTAGGGAACCCCAACTCCTCAGGATACGGGTGGGAGCCCTAAAATATGTCCAGC
TATAAGGAGATGACCAATGGAAAAGGGGGTATCAGCAGTACTTTACTTGCTACTATAAGAGAATTGCATC
CTGGGAATAGCCTCTGAAAGGTCCCATTTTAGCGACACTGGTAGATGGACACTGGCCTTTGGACAGCACC
AGTAAGTAGAGCATTGCATCTTGGGATTCCTTTGCTGTTCACATGCCACTGAAAGCTCTCACCATAGCAG
ATTCAAAATGCCTACCCGGCAGGTTGCCAGAAAAGCACTGCATCATGGGAGAACCACTTTTAGTGACAAT
CCTAAGAGATGGGTGTCTCTCTGCCAGGCGCTATTATCCAAGAGACCCCAGTATGACGTCGTCATTGCTC
CCAGGTAACCATGTTCTCACCCCCTCTCCCACAGGCCGC

>gi|374638939|gb|AEZ55452.1| myosin light chain 2, partial [Batrachoseps major]
AAMGR

Будет оставлен как раз

>gi|374638934|gb|JQ250331.1| Batrachoseps major isolate a voucher DBW5974 myosin light chain 2 gene, partial cds
GCNGCCATGGGTAAGTGAACGCGCCGGACCAGACCATTCACTGCATGCAATGGGGGCGTTTGTGGGTTGG
AAGGTGTGCCAAAGATCTAGGGAACCCCAACTCCTCAGGATACGGGTGGGAGCCCTAAAATATGTCCAGC
TATAAGGAGATGACCAATGGAAAAGGGGGTATCAGCAGTACTTTACCTGCTACTATAAGAGAATTGCATC
CTGGGAATAGCCTCTGAAAGGTCCCATTTTAGCGACACTGGTAGATGGACACTGGCCTTTGGACAGCACC
AGTAAGTAGAGCATTGCATCTTGGGATTCCTTTGCTGTTCACATGCCACTGAAAGCTCTCACCATAGCAG
ATTCAAAATGCCTACCCGGCAGGTTGCCAGAAAAGCACTGCATCATGGGAGAACCACTTTTAGTGACAAT
TCTAAGAGATGGGTGTCTCTCTGCCAGGCGCTATTATCCAGAGACCCCAGTATGACGTCGTCATTGCTCC
CAGGTAACCATGTTCTCACCCCCTCTCCCACAGGCCGC

>gi|374638936|gb|JQ250332.1| Batrachoseps major isolate b voucher DBW5974 myosin light chain 2 gene, partial cds
GCNGCCATGGGTAAGTGAACGCGCCGGACCAGACCATTCACTGCATGCAATGGGGGCGTTTGTGGGTTGG
AAGGTGTGCCAAAGATCTAGGGAACCCCAACTCCTCAGGATACGGGTGGGAGCCCTAAAATATGTCCAGC
TATAAGGAGATGACCAATGGAAAAGGGGGTATCAGCAGTACTTTACCTGCTACTATAAGAGAATTGCATC
CTGGGAATAGCCTCTGAAAGGTCCCATTTTAGCGACACTGGTAGATGGACACTGGCCTTTGGACAGCACC
AGTAAGTAGAGCATTGCATCTTGGGATTCCTTTGCTGTTCACATGCCACTGAAAGCTCTCACCATAGCAG
ATTCAAAATGCCTACCCGGCAGGTTGCCAGAAAAGCACTGCATCATGGGAGAACCACTTTTAGTGACAAT
TCTAAGAGATGGGTGTCTCTCTGCCAGGCGCTATTATCCAGAGACCCCAGTATGACGTCGTCATTGCTCC
CAGGTAACCATGTTCTCACCCCCTCTCCCACAGGCCGC

>gi|374638938|gb|JQ250333.1| Batrachoseps major isolate a voucher MVZ:Herp:249023 myosin light chain 2 gene, partial cds
GCCGCCATGGGTAAGTGAACGCGCCGGACCAGACCATTCACTGCCTGCAATGGGGGTGTTTGTGGGTTGG
AAGGTGTGCCAAAGATCTAGGGAACCCCAACTCCTCAGGATACGGGTGGGAGCCCTAAAATATGTCCAGC
TATAAGGAGATGACCAATGGAAAAGGGGGTATCAGCAGTACTTTACTTGCTACTATAAGAGAATTGCATC
CTGGGAATAGCCTCTGAAAGGTCCCATTTTAGCGACACTGGTAGATGGACACTGGCCTTTGGACAGCACC
AGTAAGTAGAGCATTGCATCTTGGGATTCCTTTGCTGTTCACATGCCACTGAAAGCTCTCACCATAGCAG
ATTCAAAATGCCTACCCGGCAGGTTGCCAGAAAAGCACTGCATCATGGGAGAACCACTTTTAGTGACAAT
CCTAAGAGATGGGTGTCTCTCTGCCAGGCGCTATTATCCAAGAGACCCCAGTATGACGTCGTCATTGCTC
CCAGGTAACCATGTTCTCACCCCCTCTCCCACAGGCCGC

1 ответ1

3

Первый шаг: убедитесь, что у вас установлена последняя версия Notepad++ (должна работать на 6 или выше, протестирована на 6.1.8) - спасибо Бобу за это. Вы можете использовать режим "Регулярное выражение" в диалоге поиска и замены notepad++, чтобы удалить текст между двумя маркерами.

Чтобы сопоставить все строки, начинающиеся с >gi|37463 и заканчивающиеся AAMGR , поместите это в поле «Найти что:» >gi\|37463.*AAMGR(\r\n)? оставьте поле "Заменить на" пустым, установите режим внизу "Регулярное выражение" и убедитесь, что «. соответствует символу новой строки» снят.

Чтобы сопоставить только строки с AEZ554 в них, используйте эту строку поиска >gi\|37463.*AEZ554.*AAMGR(\r\n)?

Чтобы найти все, что не содержит JQ250 , используйте эту строку поиска >gi\|37463(?!.*JQ250).*AAMGR(\r\n)?

Примечание: может потребоваться просто использовать \n вместо \r\n если файл был создан в unix / linux.

Примечание 2: если вы хотите оставить пустую строку в файле вместо полного удаления строки, удалите (\r\n)? из условия поиска.

Примечание 3: Если вопрос был «Как удалить строки, содержащие AEZ554 из текстового файла?"следующие команды оболочки будут работать (и будут быстрее):

в Windows XP: type oldfile.txt | find /I /V "AEZ55" > newfile.txt

в Linux / Windows 7: grep -v "AEZ55" oldfile.txt > newfile.txt

Точно так же: «Как удалить строки, которые не содержат JQ250 из текстового файла?"

type oldfile.txt | find /I "JQ250" > newfile.txt

grep "JQ250" oldfile.txt > newfile.txt

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .