Eu tenho um arquivo fasta contendo sequências de genoma de vários vírus.
Exemplo:
>gi_138375030_Human_papillomavirus
GAAAGTTTCAATCATACTTTATTATATTGGGAGTAAAAAAAA...
>gi_94481944_Human_herpesvirus_3
GGCCCAGCCCTCTCGCGGCCCCCTCGAGAGAGAAAAAAA...
Quero extrair apenas as entradas do vírus do herpes, incluindo a sequência real, que é (neste arquivo) sempre a linha que segue a descrição.
O regex a seguir funciona:
>.*herpes.*\n.*\n
Ele seleciona a descrição e as linhas de sequência.
Encontrei perguntas semelhantes, mas todas fazem uso da função "linha de favoritos": exporte todas as correspondências de expressões regulares no Textpad ou Notepad ++ como uma lista
No entanto, isso marca apenas a primeira linha da saída regex, portanto, não consigo usar as soluções descritas. Se eu usar "encontrar tudo no documento atual", ele também listará apenas as primeiras linhas.
Tudo o que eu quero fazer é copiar a saída do regex para um novo arquivo. É especialmente frustrante, pois encontra pouco mais de cem entradas, um pouco acima da margem sob a qual eu estaria disposto a fazê-lo manualmente.
Eu preferiria uma solução no sistema operacional Windows.
Respostas:
Você pode fazer uma cópia do arquivo e, na cópia, pesquisar e substituir a negação do que deseja:
(?!>.*herpes.*)^(>.*\R)([ATGC]+\R)
O acima irá (ou deveria) encontrar linhas emparelhadas que não têm herpes . Junte isso a um campo de substituição em branco, e você terminará com um arquivo que possui apenas o que está procurando.
fonte
Você pode tentar combinar a pesquisa RegEx com uma macro (atalhos Npp padrão):
Run macro to end of file
entrada do menu principal.Ctrl+f
) sua sequência>.*herpes.*\n.*\n
- não permita que o agrupamento comece pelo arquivo.Ctrl+Home
).F3
).Ctrl+Shift+r
).Home
) - você deve estar no início de uma primeira linha de sequência.Ctrl+F2
).Down
e depoisEnd
).Ctrl+F2
).F3
).Ctrl+Shift+r
).Agora você deve ter uma macro de trabalho. Você pode verificar jogando (
Ctrl+Shift+p
). Se algo der errado, você pode desfazerCtrl+z
ou recarregar o arquivo do disco (outra entrada do menu principal) e tentar gravar a macro de trabalho novamente.Então:
fonte
Não é uma solução Npp; no Windows PowerShell:
Versão de lote portátil:
Salve-o com uma
.bat
extensão (por exemplo, "clipvir.bat") na mesma pasta em que você tem.fas
arquivos. Você pode criar um atalho para o script na barra de aplicativos / inicialização rápida ou na área de trabalho.fonte
Eu usei as seguintes soluções:
ou use:
no shell bash
a regex funciona mesmo que a sequência siga o cabeçalho em várias linhas. No segundo exemplo, você acaba com um novo arquivo.
fonte