MOD: In the printRepeat function, corrected rdelta and ldelta management
git-svn-id: https://www.grenoble.prabi.fr/svn/LECASofts/ecoPCR/trunk@417 60f365c0-8329-0410-b2a4-ec073aeeaa1d
This commit is contained in:
28
src/ecopcr.c
28
src/ecopcr.c
@ -146,7 +146,7 @@ void printRepeat(ecoseq_t *seq,
|
|||||||
|
|
||||||
AC = seq->AC;
|
AC = seq->AC;
|
||||||
seqlength = seq->SQ_length;
|
seqlength = seq->SQ_length;
|
||||||
|
|
||||||
|
|
||||||
main_taxon = &taxonomy->taxons->taxon[seq->taxid];
|
main_taxon = &taxonomy->taxons->taxon[seq->taxid];
|
||||||
taxid = main_taxon->taxid;
|
taxid = main_taxon->taxid;
|
||||||
@ -201,20 +201,29 @@ void printRepeat(ecoseq_t *seq,
|
|||||||
superkingdom_name = "###";
|
superkingdom_name = "###";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ldelta=(pos1 <= delta)?pos1:delta;
|
ldelta=(pos1 <= delta)?pos1:delta;
|
||||||
rdelta=(pos2+delta>=seqlength)?seqlength-pos2-1:delta;
|
|
||||||
|
|
||||||
|
|
||||||
|
/*rdelta=((pos2+delta)>=seqlength)?seqlength-pos2-1:delta; */
|
||||||
|
rdelta=((pos2+delta)>=seqlength)?seqlength-pos2:delta;
|
||||||
|
|
||||||
amplifia = getSubSequence(seq->SQ,pos1-ldelta,pos2+rdelta);
|
amplifia = getSubSequence(seq->SQ,pos1-ldelta,pos2+rdelta);
|
||||||
amplength= strlen(amplifia)-rdelta-ldelta;
|
amplength= strlen(amplifia)-rdelta-ldelta;
|
||||||
|
|
||||||
if (strand=='R')
|
if (strand=='R')
|
||||||
{
|
{
|
||||||
ecoComplementSequence(amplifia);
|
|
||||||
strncpy(oligo1,amplifia+ rdelta ,o2->patlen);
|
ecoComplementSequence(amplifia);
|
||||||
|
|
||||||
|
strncpy(oligo1,amplifia + rdelta ,o2->patlen);
|
||||||
|
|
||||||
oligo1[o2->patlen]=0;
|
oligo1[o2->patlen]=0;
|
||||||
error1=err2;
|
error1=err2;
|
||||||
|
|
||||||
strncpy(oligo2,amplifia + ldelta + amplength - o1->patlen,o1->patlen);
|
strncpy(oligo2, amplifia + rdelta + amplength - o1->patlen,o1->patlen);
|
||||||
oligo2[o1->patlen]=0;
|
oligo2[o1->patlen]=0;
|
||||||
error2=err1;
|
error2=err1;
|
||||||
|
|
||||||
@ -227,13 +236,13 @@ void printRepeat(ecoseq_t *seq,
|
|||||||
rdelta=delta+o1->patlen;
|
rdelta=delta+o1->patlen;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else /* strand == 'D' */
|
||||||
{
|
{
|
||||||
strncpy(oligo1,amplifia+ldelta,o1->patlen);
|
strncpy(oligo1,amplifia+ldelta,o1->patlen);
|
||||||
oligo1[o1->patlen]=0;
|
oligo1[o1->patlen]=0;
|
||||||
error1=err1;
|
error1=err1;
|
||||||
|
|
||||||
strncpy(oligo2,amplifia + rdelta + amplength - o2->patlen,o2->patlen);
|
strncpy(oligo2,amplifia + ldelta + amplength - o2->patlen,o2->patlen);
|
||||||
oligo2[o2->patlen]=0;
|
oligo2[o2->patlen]=0;
|
||||||
error2=err2;
|
error2=err2;
|
||||||
|
|
||||||
@ -247,7 +256,6 @@ void printRepeat(ecoseq_t *seq,
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ecoComplementSequence(oligo2);
|
ecoComplementSequence(oligo2);
|
||||||
if(delta==0)
|
if(delta==0)
|
||||||
@ -257,7 +265,7 @@ void printRepeat(ecoseq_t *seq,
|
|||||||
delta=ldelta+rdelta+amplength-o1->patlen-o2->patlen;
|
delta=ldelta+rdelta+amplength-o1->patlen-o2->patlen;
|
||||||
for (i=0;i<ldelta;i++)
|
for (i=0;i<ldelta;i++)
|
||||||
amplifia[i]|=32;
|
amplifia[i]|=32;
|
||||||
for (i=1;i<rdelta;i++)
|
for (i=1;i<=rdelta;i++)
|
||||||
amplifia[delta-i]|=32;
|
amplifia[delta-i]|=32;
|
||||||
|
|
||||||
amplifia[delta]=0;
|
amplifia[delta]=0;
|
||||||
|
Reference in New Issue
Block a user