commit -m "Cleaned code for thermodynamics properties and added Melting Temperature for approximate version of strict repeats. Also cleaned printing code.
git-svn-id: https://www.grenoble.prabi.fr/svn/LECASofts/ecoPrimers/trunk@223 60f365c0-8329-0410-b2a4-ec073aeeaa1d
This commit is contained in:
@ -156,16 +156,14 @@ ppairtree_t buildPrimerPairs(pecodnadb_t seqdb,uint32_t seqdbsize,pprimercount_t
|
||||
{
|
||||
uint32_t i;
|
||||
ppairtree_t primerpairs;
|
||||
|
||||
|
||||
primerpairs = initpairtree(NULL);
|
||||
|
||||
for (i=0; i < seqdbsize; i++)
|
||||
{
|
||||
buildPrimerPairsForOneSeq(i, seqdb, primers, primerpairs, options);
|
||||
}
|
||||
|
||||
return primerpairs;
|
||||
|
||||
}
|
||||
|
||||
#define DMAX (2000000000)
|
||||
@ -187,7 +185,11 @@ static void buildPrimerPairsForOneSeq(uint32_t seqid,
|
||||
bool_t bswp;
|
||||
size_t distance;
|
||||
bool_t strand;
|
||||
|
||||
//char prmr[50];
|
||||
//float mtemp;
|
||||
|
||||
//prmr[options->primer_length] = '\0';
|
||||
|
||||
for (i=0;i < primers->size; i++)
|
||||
{
|
||||
matchcount+=primers->primers[i].directCount[seqid];
|
||||
@ -272,10 +274,12 @@ static void buildPrimerPairsForOneSeq(uint32_t seqid,
|
||||
current.outexample=0;
|
||||
current.curseqid = 0;
|
||||
current.refsequence=-1;
|
||||
|
||||
//current.p1temp = 100;
|
||||
//current.p1mintemp = 100;
|
||||
//current.p2temp = 100;
|
||||
//current.p2mintemp = 100;
|
||||
|
||||
// Standardize the pair
|
||||
|
||||
strand = current.p2->word > current.p1->word;
|
||||
if (!strand)
|
||||
{
|
||||
@ -309,6 +313,10 @@ static void buildPrimerPairsForOneSeq(uint32_t seqid,
|
||||
//else
|
||||
// pcurrent->outexample++;
|
||||
|
||||
//for each pair we save current sequence id in the pair
|
||||
//when we see this pair for the first time in currnet sequence
|
||||
//because we want to increment inexample & outexample count
|
||||
//only once for one sequence
|
||||
if (pcurrent->curseqid != (seqid+1))
|
||||
{
|
||||
if (seqdb[seqid]->isexample)
|
||||
@ -359,6 +367,23 @@ static void buildPrimerPairsForOneSeq(uint32_t seqid,
|
||||
else
|
||||
pcurrent->pcr.amplifias[pcurrent->pcr.ampcount].amplifia= seqdb[seqid]->SQ + matches[j].position - 1 ;
|
||||
|
||||
|
||||
/*strncpy (prmr, seqdb[seqid]->SQ + matches[i].position, options->primer_length);
|
||||
mtemp = nparam_CalcSelfTM (options->pnparm, prmr, options->primer_length) - 273.0;
|
||||
if (mtemp < pcurrent->p1mintemp)
|
||||
pcurrent->p1mintemp = mtemp;
|
||||
//fprintf (stderr, "prmr1: %s\n", seqdb[seqid]->SQ);
|
||||
strncpy (prmr, seqdb[seqid]->SQ + matches[j].position, options->primer_length);
|
||||
mtemp = nparam_CalcSelfTM (options->pnparm, prmr, options->primer_length) - 273.0;
|
||||
if (mtemp < pcurrent->p2mintemp)
|
||||
pcurrent->p2mintemp = mtemp;
|
||||
//fprintf (stderr, "prmr2: %s\n", prmr);
|
||||
|
||||
if (pcurrent->p1temp == 100)
|
||||
pcurrent->p1temp = nparam_CalcSelfTM (options->pnparm, ecoUnhashWord(pcurrent->p1->word, options->primer_length), 0) - 273.0;
|
||||
if (pcurrent->p2temp == 100)
|
||||
pcurrent->p2temp = nparam_CalcSelfTM (options->pnparm, ecoUnhashWord(pcurrent->p2->word, options->primer_length), 0) - 273.0;
|
||||
*/
|
||||
pcurrent->pcr.ampcount++;
|
||||
// fprintf(stderr,"%c%c W1 : %s direct : %c",
|
||||
// "bG"[(int)pcurrent->p1->good],
|
||||
|
Reference in New Issue
Block a user