Commit b3d6acae by Eric Coissac
parent 89576b96
EXEC=ecoPrimer
EXEC=ecoprobe
PRIMER_SRC= ecoprimer.c
PRIMER_SRC= ecoprobe.c
PRIMER_OBJ= $(patsubst %.c,%.o,$(PRIMER_SRC))
SRCS= $(PRIMER_SRC)
LIB= -lecoprimer -lecoPCR -lthermo -lz -lm
LIB= -lecoprobe -lecoPCR -lthermo -lz -lm
LIBFILE= libecoPCR/libecoPCR.a \
libecoprimer/libecoprimer.a \
libecoprobe/libecoprobe.a \
libthermo/libthermo.a \
......@@ -21,13 +21,13 @@ all: $(EXEC)
########
#
# ecoPrimer compilation
# ecoprobe compilation
#
########
# executable compilation and link
ecoPrimer: $(PRIMER_OBJ) $(LIBFILE)
ecoprobe: $(PRIMER_OBJ) $(LIBFILE)
$(CC) $(LDFLAGS) -O5 -m64 -o $@ $< $(LIBPATH) $(LIB)
......@@ -40,8 +40,8 @@ ecoPrimer: $(PRIMER_OBJ) $(LIBFILE)
libecoPCR/libecoPCR.a:
$(MAKE) -C libecoPCR
libecoprimer/libecoprimer.a:
$(MAKE) -C libecoprimer
libecoprobe/libecoprobe.a:
$(MAKE) -C libecoprobe
libthermo/libthermo.a:
$(MAKE) -C libthermo
......@@ -56,7 +56,7 @@ clean:
rm -f *.o
rm -f $(EXEC)
$(MAKE) -C libecoPCR clean
$(MAKE) -C libecoprimer clean
$(MAKE) -C libecoprobe clean
$(MAKE) -C libthermo clean
......
This diff is collapsed. Click to expand it.
MACHINE=MAC_OS_X
LIBPATH= -Llibapat -LlibecoPCR -Llibecoprimer -Llibthermo
LIBPATH= -Llibapat -LlibecoPCR -Llibecoprobe -Llibthermo
MAKEDEPEND = gcc -D$(MACHINE) -M $(CPPFLAGS) -o $*.d $<
CC=gcc
......
......@@ -26,7 +26,7 @@ word_t extractSite(char* sequence, size_t begin, size_t length, bool_t strand)
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;
uint32_t bp1,bp2;
......@@ -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_
#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);
void getProbeThermoProperties (pecodnadb_t seqdb,uint32_t seqdbsize, pprobecount_t pprobs, poptions_t options);
#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