我有类蛋白质,dna,rna,类蛋白质中的密码子蛋白我有一定的氨基酸序列,用户通过这个序列我需要通过所有可能的dna序列并翻译它以查看它是否相似到我原来的氨基酸序列,所以我做了2个for循环,它不想在I = 0之后迭代; j = 1并停止我认为可能在内存分配方面存在问题?
码:
DNA* Protein::GetDNAStrandsEncodingMe(DNA & bigDNA)
{
DNA * NEWDNA = new DNA[20];
CodonsTable CO;
int iterat = 0;
cout << bigDNA.getstartindex() << bigDNA.getendindex();
for (int i = bigDNA.getstartindex(); i <= bigDNA.getendindex(); i++)
{
for (int j = i + 1; j <= bigDNA.getendindex(); j++)
{
DNA x(bigDNA.returnseq(), motif, i, j);
x.BuildComplementaryStrand();
//x.Print();
const RNA & N = x.ConvertToRNA();
RNA NN(N);
char* z = CO.getAminoAcid(NN.getseq());
Protein PR(z);
PR.Print();
if (PR.seq == seq)
{
NEWDNA[iterat] = x;
iterat++;
}
else
{
//delete z;
//delete x.returnseq();
//delete x.ConvertToRNA().getseq();
//delete NN.getseq();
//delete PR.seq;
cout << "done";
cout << i << " " << j;
continue;
}
}
}
return NEWDNA;
}