请给我一些关于在字母表之前删除换行符并忽略以>开头的行的建议。 例如:
>gi|16802049|ref|NP_463534.1| chromosomal replication initiation protein [Listeria monocytogenes EGD-e]
MQSIEDIWQETLQIVKKNMSKPSYDTWMKSTTAHSLEGNTFIISAPNNFVRDWLEKSYTQFIANILQEIT
GRLFDVRFIDGEQEENFEYTVIKPNPALDEDGIEIGKHMLNPRYVFDTFVIGSGNRFAHAASLAVAEAPA
KAYNPLFIYGGVGLGKTHLMHAVGHYVQQHKDNAKVMYLSSEKFTNEFISSIRDNKTEEFRTKYRNVDVL
LIDDIQFLAGKEGTQEEFFHTFNTLYDEQKQIIISSDRPPKEIPTLEDRLRSRFEWGLITDITPPDLETR
IAILRKKAKADGLDIPNEVMLYIANQIDSNIRELEGALIRVVAYSSLVNKDITAGLAAEALKDIIPSSKS
QVITISGIQEAVGEYFHVRLEDFKAKKRTKSIAFPRQIAMYLSRELTDASLPKIGDEFGGRDHTTVIHAH
EKISQLLKTDQVLKNDLAEIEKNLRKAQNMF
>gi|16802050|ref|NP_463535.1| DNA polymerase III subunit beta [Listeria monocytogenes EGD-e]
MKFVIERDRLVQAVNEVTRAISARTTIPILTGIKIVVNDEGVTLTGSDSDISIEAFIPLIENDEVIVEVE
SFGGIVLQSKYFGDIVRRLPEENVEIEVTSNYQTNISSGQASFTLNGLDPMEYPKLPEVTDGKTIKIPIN
VLKNIVRQTVFAVSAIEVRPVLTGVNWIIKENKLSAVATDSHRLALREIPLETDIDEEYNIVIPGKSLSE
LNKLLDDASESIEMTLANNQILFKLKDLLFYSRLLEGSYPDTSRLIPTDTKSELVINSKAFLQAIDRASL
LARENRNNVIKLMTLENGQVEVSSNSPEVGNVSENVFSQSFTGEEIKISFNGKYMMDALRAFEGDDIQIS
FSGTMRPFVLRPKDAANPNEILQLITPVRTY
应该是直线,而在以“>”开头的行之前的换行符不应该删除。我试过了
\n^[a-z]
但它也删除了每行的第一个字母。是否可以在不删除每一行的第一个字母表的情况下执行相同的操作,并忽略以“>”开头的行。 thax提前。我正在寻找一个用于写字板的代码。
答案 0 :(得分:0)
您可以使用此正则表达式
[\r\n]+(?=[a-zA-Z])
并将其替换为empty string
OR
[\r\n]+([a-zA-Z])
并将其替换为\1
或$1
,无论哪个有效
答案 1 :(得分:0)
我通过在perl中使用正则表达式解决了这个问题。对于那些将来需要这样的人
use warnings;
print "Please enter the name of the file\n";
my $n =<STDIN>;
print "Please enter the name of the output file\n";
my $n1=<STDIN>;
open(INFO,"$n") or die "cannot open";
@a = <INFO>;
#print @a;
foreach(@a)
{
$_ =~ s/\n//g;
$_ =~ s/>/\n>/g;
}
#print @a;
open (MYFILE, ">$n1");
print MYFILE @a;
close(MYFILE);
close(INFO);
这非常简单。