新手求助perl代码
>RPSAaaaacctcactaatcacttccctatcgtttcTCGATAAGGGTTCTCTTTCAATTTAATCCCTGTGGCATTCACTACgtaa...
>RPSA
aaaacctcactaatcacttccctatcgtttcTCGATAAGGGTTCTCTTTCAATTTAATCCCTGTGGCATTCACTACgtaagtttttgttttctctgaaattttcctaaaacctcactaatcacttccctatcgtttcgtcgattgc
agGTTAACCGTTGCTCCTAATTAACGGAACCTCGCTGCATCGCTTCGATCGAGTACCCGGGAGAGgtaagcagaggggcactttaattatcggcctcagtcgggaataaccggtcaattcaaaatctgtttgctaacgtaaacaat
tcctccgtcctgccagGTCTTTGCCATCTCGCCCGTCCCTACGGTCAGCGTGCCGTGCTGAAGTACGCCCACTACACGCAGGCGTTCTTTTCGTGAAAACAGGgggaataaccggtcaattcaaaatctgtt
要求:1 打开文件in.txt,就是上面序列。 2把序列开头和结尾的小写序列删除,I开头的是小写序列,E开头是大写序列。 3 序列整理之后 ,输出文件1.txt:
>RPSA
I001gtaagtttttgttttctctgaaattttcctaaaacctcactaatcacttccctatcgtttcgtcgattgcag
E001TCGATAAGGGTTCTCTTTCAATTTAATCCCTGTGGCATTCACTAC
I002gtaagcagaggggcactttaattatcggcctcagtcgggaataaccggtcaattcaaaatctgtttgctaacgtaaacaattcctccgtcctgccag
E002GTTAACCGTTGCTCCTAATTAACGGAACCTCGCTGCATCGCTTCGATCGAGTACCCGGGAGAG
E003GTCTTTGCCATCTCGTCCCGTCCCTACGGTCAGCGTGCCGTGCTGAAGTACGCCCACTACACGCAGGCGTTCTTTTCGTGAAAACAGG
4 把E开头的序列(E001,E002,E003)连成一条序列之后以E000开头,并分别放到I序列下面,输出文件2.txt:
>RPSA
I001gtaagtttttgttttctctgaaattttcctaaaacctcactaatcacttccctatcgtttcgtcgattgcag
E000TCGATAAGGGTTCTCTTTCAATTTAATCCCTGTGGCATTCACTACGTTAACCGTTGCTCCTAATTAACGGAACCTCGCTGCATCGCTTCGATCGAGTACCCGGGAGAGGTCTTTGCCATCTCGTCCCGTCCCTACGGTCAGCGTGCCGTGCTGAAGTACGCCCACTACACGCAGGCGTTCTTTTCGTGAAAACAGG
I002gtaagcagaggggcactttaattatcggcctcagtcgggaataaccggtcaattcaaaatctgtttgctaacgtaaacaattcctccgtcctgccag
E000TCGATAAGGGTTCTCTTTCAATTTAATCCCTGTGGCATTCACTACGTTAACCGTTGCTCCTAATTAACGGAACCTCGCTGCATCGCTTCGATCGAGTACCCGGGAGAGGTCTTTGCCATCTCGTCCCGTCCCTACGGTCAGCGTGCCGTGCTGAAGTACGCCCACTACACGCAGGCGTTCTTTTCGTGAAAACAGG 展开
aaaacctcactaatcacttccctatcgtttcTCGATAAGGGTTCTCTTTCAATTTAATCCCTGTGGCATTCACTACgtaagtttttgttttctctgaaattttcctaaaacctcactaatcacttccctatcgtttcgtcgattgc
agGTTAACCGTTGCTCCTAATTAACGGAACCTCGCTGCATCGCTTCGATCGAGTACCCGGGAGAGgtaagcagaggggcactttaattatcggcctcagtcgggaataaccggtcaattcaaaatctgtttgctaacgtaaacaat
tcctccgtcctgccagGTCTTTGCCATCTCGCCCGTCCCTACGGTCAGCGTGCCGTGCTGAAGTACGCCCACTACACGCAGGCGTTCTTTTCGTGAAAACAGGgggaataaccggtcaattcaaaatctgtt
要求:1 打开文件in.txt,就是上面序列。 2把序列开头和结尾的小写序列删除,I开头的是小写序列,E开头是大写序列。 3 序列整理之后 ,输出文件1.txt:
>RPSA
I001gtaagtttttgttttctctgaaattttcctaaaacctcactaatcacttccctatcgtttcgtcgattgcag
E001TCGATAAGGGTTCTCTTTCAATTTAATCCCTGTGGCATTCACTAC
I002gtaagcagaggggcactttaattatcggcctcagtcgggaataaccggtcaattcaaaatctgtttgctaacgtaaacaattcctccgtcctgccag
E002GTTAACCGTTGCTCCTAATTAACGGAACCTCGCTGCATCGCTTCGATCGAGTACCCGGGAGAG
E003GTCTTTGCCATCTCGTCCCGTCCCTACGGTCAGCGTGCCGTGCTGAAGTACGCCCACTACACGCAGGCGTTCTTTTCGTGAAAACAGG
4 把E开头的序列(E001,E002,E003)连成一条序列之后以E000开头,并分别放到I序列下面,输出文件2.txt:
>RPSA
I001gtaagtttttgttttctctgaaattttcctaaaacctcactaatcacttccctatcgtttcgtcgattgcag
E000TCGATAAGGGTTCTCTTTCAATTTAATCCCTGTGGCATTCACTACGTTAACCGTTGCTCCTAATTAACGGAACCTCGCTGCATCGCTTCGATCGAGTACCCGGGAGAGGTCTTTGCCATCTCGTCCCGTCCCTACGGTCAGCGTGCCGTGCTGAAGTACGCCCACTACACGCAGGCGTTCTTTTCGTGAAAACAGG
I002gtaagcagaggggcactttaattatcggcctcagtcgggaataaccggtcaattcaaaatctgtttgctaacgtaaacaattcctccgtcctgccag
E000TCGATAAGGGTTCTCTTTCAATTTAATCCCTGTGGCATTCACTACGTTAACCGTTGCTCCTAATTAACGGAACCTCGCTGCATCGCTTCGATCGAGTACCCGGGAGAGGTCTTTGCCATCTCGTCCCGTCCCTACGGTCAGCGTGCCGTGCTGAAGTACGCCCACTACACGCAGGCGTTCTTTTCGTGAAAACAGG 展开
展开全部
$str="";
if ($str=/([a-z]+)([A-Z]+)([a-z]+)/)
{
$num++;
printf("I%03d$1$3",$num);
printf("E%03d$2",$num);
push @A,$2;
}
if ($#A){print "E000", join("",@A);}
自己改下往文件读写的过程。。
if ($str=/([a-z]+)([A-Z]+)([a-z]+)/)
{
$num++;
printf("I%03d$1$3",$num);
printf("E%03d$2",$num);
push @A,$2;
}
if ($#A){print "E000", join("",@A);}
自己改下往文件读写的过程。。
追问
好像和我要求不符。说明一下:上面的序列是连着的,并且基因也很多,I开头的序列个数也不确定。
文件in.txt中有很多基因,程序改怎么修改。
open IN,"in.txt";
open OUT,">out.txt";
$str=;
if ($str=/([a-z]+)([A-Z]+)([a-z]+)/)
{
$num++;
printf("I%03d$1$3",$num);
printf("E%03d$2",$num);
push @A,$2;
}
if ($#A){print OUT "E000", join("",@A);}
close IN;
close OUT;
追答
open(IN,"IN.txt");
open(OUT1,'+>',"1.txt");
OPEN(OUT2,'+>','2.txt');
print OUT2 "E000";
while($str=)
{
if ($str=/([a-z]+)([A-Z]+)([a-z]+)/)
{
$num++;
$s=sprintf("I%03d$1$3",$num);
print OUT1 "$s\n";
$s=printf("E%03d$2",$num);
print OUT1 "$s\n";
print OUT2 @A,
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询