У меня есть следующая строка
>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
Первый шаг: убедитесь, что вы используете последнюю версию 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