diff --git a/src/ecopcr.c b/src/ecopcr.c index cf4c9de..66c4bea 100644 --- a/src/ecopcr.c +++ b/src/ecopcr.c @@ -239,7 +239,7 @@ void printRepeat(ecoseq_t *seq, error1, oligo2, error2, - amplength, + amplength - o1->patlen - o2->patlen, amplifia, seq->DE ); @@ -387,9 +387,11 @@ int main(int argc, char **argv) strcpy(oligo2,argv[optind]); if (circular) + { circular = strlen(oligo1); if (strlen(oligo2)>(size_t)circular) circular = strlen(oligo2); + } } else errflag++; @@ -499,7 +501,7 @@ int main(int argc, char **argv) for (i=0; i < o1Hits;i++) { posi = apatseq->hitpos[0]->val[i]; - + if (posi < apatseq->seqlen) { erri = apatseq->hiterr[0]->val[i]; diff --git a/src/libapat/Makefile b/src/libapat/Makefile index 3cbd4cd..b4dc9be 100644 --- a/src/libapat/Makefile +++ b/src/libapat/Makefile @@ -9,6 +9,7 @@ SRCS=$(SOURCES) OBJECTS= $(patsubst %.c,%.o,$(SOURCES)) LIBFILE= libapat.a +RANLIB=ranlib include ../global.mk @@ -20,4 +21,4 @@ clean: $(LIBFILE): $(OBJECTS) ar -cr $@ $? - + $(RANLIB) $@ diff --git a/src/libapat/apat_search.c b/src/libapat/apat_search.c index 11353d5..f0dd394 100644 --- a/src/libapat/apat_search.c +++ b/src/libapat/apat_search.c @@ -80,14 +80,14 @@ int CreateS(Pattern *ppat, Int32 lalpha) /* -------------------------------------------- */ Int32 ManberNoErr(Seq *pseq, Pattern *ppat, int patnum,int begin,int length) { - Int32 pos; + UInt32 pos; UInt32 smask, r; UInt8 *data; StackiPtr *stkpos, *stkerr; UInt32 end; end = begin + length; - end = (end <= pseq->seqlen) ? end:pseq->seqlen; + end = (end <= (size_t)(pseq->seqlen+pseq->circular)) ? end:(size_t)(pseq->seqlen+pseq->circular); /* create local masks */ @@ -127,7 +127,7 @@ Int32 ManberNoErr(Seq *pseq, Pattern *ppat, int patnum,int begin,int length) Int32 ManberSub(Seq *pseq, Pattern *ppat, int patnum,int begin,int length) { int e, emax, found; - Int32 pos; + UInt32 pos; UInt32 smask, cmask, sindx; UInt32 *pr, r[2 * MAX_PAT_ERR + 2]; UInt8 *data; @@ -135,7 +135,7 @@ Int32 ManberSub(Seq *pseq, Pattern *ppat, int patnum,int begin,int length) UInt32 end; end = begin + length; - end = (end <= pseq->seqlen) ? end:pseq->seqlen; + end = (end <= (size_t)(pseq->seqlen+pseq->circular)) ? end:(size_t)(pseq->seqlen+pseq->circular); /* create local masks */ emax = ppat->maxerr; @@ -193,7 +193,7 @@ Int32 ManberSub(Seq *pseq, Pattern *ppat, int patnum,int begin,int length) Int32 ManberIndel(Seq *pseq, Pattern *ppat, int patnum,int begin,int length) { int e, emax, found; - Int32 pos; + UInt32 pos; UInt32 smask, cmask, sindx; UInt32 *pr, r[2 * MAX_PAT_ERR + 2]; UInt8 *data; @@ -201,7 +201,7 @@ Int32 ManberIndel(Seq *pseq, Pattern *ppat, int patnum,int begin,int length) UInt32 end; end = begin + length; - end = (end <= pseq->seqlen) ? end:pseq->seqlen; + end = (end <= (size_t)(pseq->seqlen+pseq->circular)) ? end:(size_t)(pseq->seqlen+pseq->circular); /* create local masks */ emax = ppat->maxerr; diff --git a/src/libecoPCR/Makefile b/src/libecoPCR/Makefile index c5f2033..08f3745 100644 --- a/src/libecoPCR/Makefile +++ b/src/libecoPCR/Makefile @@ -15,6 +15,7 @@ SRCS=$(SOURCES) OBJECTS= $(patsubst %.c,%.o,$(SOURCES)) LIBFILE= libecoPCR.a +RANLIB= ranlib include ../global.mk @@ -27,3 +28,4 @@ clean: $(LIBFILE): $(OBJECTS) ar -cr $@ $? + $(RANLIB) $@ diff --git a/src/libecoPCR/ecoapat.c b/src/libecoPCR/ecoapat.c index a652b1e..79a722e 100644 --- a/src/libecoPCR/ecoapat.c +++ b/src/libecoPCR/ecoapat.c @@ -50,13 +50,13 @@ void EncodeSequence(SeqPtr seq) while (*cseq) { - *data++ = (IS_UPPER(*cseq) ? *cseq - 'A' : 0x0); - + *data = (IS_UPPER(*cseq) ? *cseq - 'A' : 0x0); + data++; cseq++; } - for (i=0,cseq=seq->cseq;i < seq->circular; i++,cseq++) - *data++ = (IS_UPPER(*cseq) ? *cseq - 'A' : 0x0); + for (i=0,cseq=seq->cseq;i < seq->circular; i++,cseq++,data++) + *data = (IS_UPPER(*cseq) ? *cseq - 'A' : 0x0); for (i = 0 ; i < MAX_PATTERN ; i++) seq->hitpos[i]->top = seq->hiterr[i]->top = 0;