git-svn-id: https://www.grenoble.prabi.fr/svn/LECASofts/ecoPrimers/branches/eric-test@185 60f365c0-8329-0410-b2a4-ec073aeeaa1d
This commit is contained in:
BIN
src/ecoPrimer
BIN
src/ecoPrimer
Binary file not shown.
@ -3,7 +3,7 @@ LIBPATH= -Llibapat -LlibecoPCR -Llibecoprimer
|
||||
MAKEDEPEND = gcc -D$(MACHINE) -M $(CPPFLAGS) -o $*.d $<
|
||||
|
||||
CC=gcc
|
||||
CFLAGS= -W -Wall -O3 -m64 -fast -g
|
||||
CFLAGS= -W -Wall -O5 -m64 -fast -g
|
||||
#CFLAGS= -W -Wall -O0 -m64 -g
|
||||
#CFLAGS= -W -Wall -O5 -fast -g
|
||||
|
||||
|
@ -61,7 +61,7 @@ void encodeSequence(ecoseq_t *seq)
|
||||
|
||||
for (i=0;i<seq->SQ_length;i++,data++,cseq++)
|
||||
{
|
||||
*data = encoder[(IS_UPPER(*cseq) ? *cseq - 'A' : 'Z')];
|
||||
*data = encoder[(IS_UPPER(*cseq) ? *cseq : 'Z') - 'A'];
|
||||
}
|
||||
}
|
||||
|
||||
@ -82,7 +82,7 @@ pprimercount_t lookforAproxPrimer(pecodnadb_t database, uint32_t seqdbsize,uint3
|
||||
uint32_t inSequenceQuorum;
|
||||
uint32_t outSequenceQuorum;
|
||||
bool_t conserved = TRUE;
|
||||
|
||||
|
||||
//poslist_t ttt;
|
||||
|
||||
|
||||
|
@ -275,6 +275,7 @@ static void buildPrimerPairsForOneSeq(uint32_t seqid,
|
||||
pprimer_t wswp;
|
||||
bool_t bswp;
|
||||
size_t distance;
|
||||
bool_t strand;
|
||||
|
||||
for (i=0;i < primers->size; i++)
|
||||
{
|
||||
@ -362,7 +363,8 @@ static void buildPrimerPairsForOneSeq(uint32_t seqid,
|
||||
|
||||
// Standardize the pair
|
||||
|
||||
if (current.p2->word < current.p1->word)
|
||||
strand = current.p2->word > current.p1->word;
|
||||
if (!strand)
|
||||
{
|
||||
wswp = current.p1;
|
||||
current.p1=current.p2;
|
||||
@ -384,7 +386,7 @@ static void buildPrimerPairsForOneSeq(uint32_t seqid,
|
||||
pcurrent->inexample++;
|
||||
pcurrent->sumd+=distance;
|
||||
|
||||
if (pcurrent->maxd=DMAX || distance > pcurrent->maxd)
|
||||
if ((pcurrent->maxd==DMAX) || (distance > pcurrent->maxd))
|
||||
pcurrent->maxd = distance;
|
||||
|
||||
if (distance < pcurrent->mind)
|
||||
@ -412,10 +414,14 @@ static void buildPrimerPairsForOneSeq(uint32_t seqid,
|
||||
}
|
||||
}
|
||||
|
||||
pcurrent->pcr.amplifias[pcr.ampcount].length=distance;
|
||||
pcurrent->pcr.amplifias[pcr.ampcount].sequence=*(seqdb[seqid]);
|
||||
// pcurrent->pcr.amplifias[pcr.ampcount].strand= ;
|
||||
// pcurrent->pcr.amplifias[pcr.ampcount].amplifia= ;
|
||||
pcurrent->pcr.amplifias[pcurrent->pcr.ampcount].length=distance;
|
||||
pcurrent->pcr.amplifias[pcurrent->pcr.ampcount].sequence=seqdb[seqid];
|
||||
pcurrent->pcr.amplifias[pcurrent->pcr.ampcount].strand=strand;
|
||||
|
||||
if (strand)
|
||||
pcurrent->pcr.amplifias[pcurrent->pcr.ampcount].amplifia= seqdb[seqid]->SQ + matches[i].position + options->primer_length;
|
||||
else
|
||||
pcurrent->pcr.amplifias[pcurrent->pcr.ampcount].amplifia= seqdb[seqid]->SQ + matches[j].position - 1 ;
|
||||
|
||||
pcurrent->pcr.ampcount++;
|
||||
|
||||
|
@ -39,6 +39,7 @@ static ppairlist_t newpairlist(ppairlist_t parent, size_t size)
|
||||
if (parent)
|
||||
parent->next=(void*)tmp;
|
||||
|
||||
|
||||
return tmp;
|
||||
}
|
||||
|
||||
@ -103,7 +104,7 @@ ppair_t insertpair(pair_t key,
|
||||
|
||||
if (list->last->paircount==list->last->pairslots)
|
||||
{
|
||||
list->last->next=newpairlist(list,100);
|
||||
list->last->next=newpairlist(list->last,100);
|
||||
list->last=list->last->next;
|
||||
}
|
||||
|
||||
@ -121,13 +122,13 @@ ppair_t insertpair(pair_t key,
|
||||
|
||||
ppairtree_t initpairtree(ppairtree_t tree)
|
||||
{
|
||||
fprintf(stderr,"coucou from initpairtree\n");
|
||||
|
||||
if (!tree)
|
||||
tree = ECOMALLOC(sizeof(pairtree_t),"Cannot allocate pair tree");
|
||||
|
||||
tree->first=newpairlist(NULL,500);
|
||||
tree->first=newpairlist(NULL,300);
|
||||
tree->last=tree->first;
|
||||
|
||||
tree->tree=NULL;
|
||||
return tree;
|
||||
}
|
||||
|
Reference in New Issue
Block a user