Commit b3d6acae authored by Eric Coissac's avatar Eric Coissac

git-svn-id: https://www.grenoble.prabi.fr/svn/LECASofts/ecoPrimers/trunk@256 60f365c0-8329-0410-b2a4-ec073aeeaa1d
parent 89576b96
EXEC=ecoPrimer EXEC=ecoprobe
PRIMER_SRC= ecoprimer.c PRIMER_SRC= ecoprobe.c
PRIMER_OBJ= $(patsubst %.c,%.o,$(PRIMER_SRC)) PRIMER_OBJ= $(patsubst %.c,%.o,$(PRIMER_SRC))
SRCS= $(PRIMER_SRC) SRCS= $(PRIMER_SRC)
LIB= -lecoprimer -lecoPCR -lthermo -lz -lm LIB= -lecoprobe -lecoPCR -lthermo -lz -lm
LIBFILE= libecoPCR/libecoPCR.a \ LIBFILE= libecoPCR/libecoPCR.a \
libecoprimer/libecoprimer.a \ libecoprobe/libecoprobe.a \
libthermo/libthermo.a \ libthermo/libthermo.a \
...@@ -21,13 +21,13 @@ all: $(EXEC) ...@@ -21,13 +21,13 @@ all: $(EXEC)
######## ########
# #
# ecoPrimer compilation # ecoprobe compilation
# #
######## ########
# executable compilation and link # executable compilation and link
ecoPrimer: $(PRIMER_OBJ) $(LIBFILE) ecoprobe: $(PRIMER_OBJ) $(LIBFILE)
$(CC) $(LDFLAGS) -O5 -m64 -o $@ $< $(LIBPATH) $(LIB) $(CC) $(LDFLAGS) -O5 -m64 -o $@ $< $(LIBPATH) $(LIB)
...@@ -40,8 +40,8 @@ ecoPrimer: $(PRIMER_OBJ) $(LIBFILE) ...@@ -40,8 +40,8 @@ ecoPrimer: $(PRIMER_OBJ) $(LIBFILE)
libecoPCR/libecoPCR.a: libecoPCR/libecoPCR.a:
$(MAKE) -C libecoPCR $(MAKE) -C libecoPCR
libecoprimer/libecoprimer.a: libecoprobe/libecoprobe.a:
$(MAKE) -C libecoprimer $(MAKE) -C libecoprobe
libthermo/libthermo.a: libthermo/libthermo.a:
$(MAKE) -C libthermo $(MAKE) -C libthermo
...@@ -56,7 +56,7 @@ clean: ...@@ -56,7 +56,7 @@ clean:
rm -f *.o rm -f *.o
rm -f $(EXEC) rm -f $(EXEC)
$(MAKE) -C libecoPCR clean $(MAKE) -C libecoPCR clean
$(MAKE) -C libecoprimer clean $(MAKE) -C libecoprobe clean
$(MAKE) -C libthermo clean $(MAKE) -C libthermo clean
......
This diff is collapsed.
MACHINE=MAC_OS_X MACHINE=MAC_OS_X
LIBPATH= -Llibapat -LlibecoPCR -Llibecoprimer -Llibthermo LIBPATH= -Llibapat -LlibecoPCR -Llibecoprobe -Llibthermo
MAKEDEPEND = gcc -D$(MACHINE) -M $(CPPFLAGS) -o $*.d $< MAKEDEPEND = gcc -D$(MACHINE) -M $(CPPFLAGS) -o $*.d $<
CC=gcc CC=gcc
......
...@@ -26,7 +26,7 @@ word_t extractSite(char* sequence, size_t begin, size_t length, bool_t strand) ...@@ -26,7 +26,7 @@ word_t extractSite(char* sequence, size_t begin, size_t length, bool_t strand)
return site; return site;
} }
void getThermoProperties (ppair_t* pairs, size_t count, poptions_t options) /*void getThermoProperties (ppair_t* pairs, size_t count, poptions_t options)
{ {
size_t i, j,k,l; size_t i, j,k,l;
uint32_t bp1,bp2; uint32_t bp1,bp2;
...@@ -112,4 +112,71 @@ void getThermoProperties (ppair_t* pairs, size_t count, poptions_t options) ...@@ -112,4 +112,71 @@ void getThermoProperties (ppair_t* pairs, size_t count, poptions_t options)
} }
} }
}*/
void getProbeThermoProperties (pecodnadb_t seqdb,uint32_t seqdbsize, pprobecount_t pprobs, poptions_t options)
{
size_t i, j,k;
uint32_t bp1,bp2;
word_t w;
//word_t wtmp;
bool_t strand;
char *sq;
char prmr[50];
float mtemp;
for (i = 0; i < pprobs->size; i++)
{
w = pprobs->probes[i].primer->word;
//wtmp = ecoComplementWord(w1,options->primer_length);
//if (wtmp > w) w = wtmp;
strncpy(prmr,ecoUnhashWord(w, options->primer_length),options->primer_length);
prmr[options->primer_length]=0;
pprobs->probes[i].ptemp = nparam_CalcSelfTM (options->pnparm, prmr, options->primer_length) - 273.0;
pprobs->probes[i].pmintemp = 100;
for (j = 0; j < seqdbsize; j++)
{
if (!seqdb[j]->isexample) continue;
sq = seqdb[j]->SQ;
if (pprobs->probes[i].primer->directCount[j] > 0)
{
strand = TRUE;
for (k = 0; k < pprobs->probes[i].primer->directCount[j]; k++)
{
bp1 = (pprobs->probes[i].primer->directCount[j] > 1)? pprobs->probes[i].primer->directPos[j].pointer[k] : pprobs->probes[i].primer->directPos[j].value;
mtemp = nparam_CalcTwoTM(options->pnparm,
prmr,
ecoUnhashWord(extractSite(sq,bp1,options->primer_length,strand),options->primer_length),
options->primer_length) - 273.0;
if (mtemp < pprobs->probes[i].pmintemp)
pprobs->probes[i].pmintemp = mtemp;
}
}
if (pprobs->probes[i].primer->reverseCount[j] > 0)
{
strand = FALSE;
for (k = 0; k < pprobs->probes[i].primer->directCount[j]; k++)
{
bp1 = (pprobs->probes[i].primer->reverseCount[j] > 1)? pprobs->probes[i].primer->reversePos[j].pointer[k] : pprobs->probes[i].primer->reversePos[j].value;
mtemp = nparam_CalcTwoTM(options->pnparm,
prmr,
ecoUnhashWord(extractSite(sq,bp1,options->primer_length,strand),options->primer_length),
options->primer_length) - 273.0;
if (mtemp < pprobs->probes[i].pmintemp)
pprobs->probes[i].pmintemp = mtemp;
}
}
}
}
} }
#ifndef THERMOSTATS_H_ #ifndef THERMOSTATS_H_
#define THERMOSTATS_H_ #define THERMOSTATS_H_
#include "../libecoprimer/ecoprimer.h" #include "../libecoprobe/ecoprobe.h"
void getThermoProperties (ppair_t* pairs, size_t count, poptions_t options); //void getThermoProperties (ppair_t* pairs, size_t count, poptions_t options);
word_t extractSite(char* sequence, size_t begin, size_t length, bool_t strand); word_t extractSite(char* sequence, size_t begin, size_t length, bool_t strand);
void getProbeThermoProperties (pecodnadb_t seqdb,uint32_t seqdbsize, pprobecount_t pprobs, poptions_t options);
#endif #endif
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment