int
main(int argc, const char**argv)
{
  const char *s;
  double salt_conc = 50;
  double divalent_conc = 0;
  double dntp_conc = 0;
  double tm;
  int start, len;
  char *endptr;

  s = argv[1]; 
  if (0 == s) {
    fprintf(stderr, "\n%s: incorrect arguments.\n", argv[0]);
    fprintf(stderr, "See file long_seq_tm_test_main.c for usage.\n\n");
    exit(-1);
  }
  start = strtol(argv[2], &endptr, 10); 
  len = strtol(argv[3], &endptr, 10);
  printf("s=%s, start=%d, length=%d\n", s, start, len);
  
  tm = long_seq_tm(s, start, len, salt_conc, divalent_conc, dntp_conc);
  printf("tm = %f\n", tm);
  return 0;
}
Esempio n. 2
0
/* See oligotm.h for documentation of arguments. */
double seqtm(const  char *seq,
  double dna_conc,
  double salt_conc,
  double divalent_conc,
  double dntp_conc,
  int    nn_max_len,
  tm_method_type tm_method,
  salt_correction_type salt_corrections)
{
  int len = strlen(seq);
   if (tm_method != breslauer_auto
      && tm_method != santalucia_auto)
    return OLIGOTM_ERROR;
  if (salt_corrections != schildkraut
      && salt_corrections != santalucia
      && salt_corrections != owczarzy)
    return OLIGOTM_ERROR;

  if (len > nn_max_len) {
	  return long_seq_tm(seq, 0, len, salt_conc, divalent_conc, dntp_conc);
  } else {
	  return oligotm(seq, dna_conc, salt_conc, 
		      divalent_conc, dntp_conc, tm_method, salt_corrections);
  }
}