Beispiel #1
0
int main(int argc, char **argv){
  FILE *in;
  char fname[100];
  char *kmer;
  int i,j;
  char seqname[50];
  char ch;
  char dummy[100];
  int seqlen;
  int klen;

  fname[0] = 0;
  for (i=0;i<argc;i++){
    if (!strcmp(argv[i], "-i"))
      strcpy(fname, argv[i+1]);
    else if (!strcmp(argv[i], "-s")){
      kmer = (char *) malloc(sizeof(char) * strlen(argv[i+1]));
      strcpy(kmer, argv[i+1]);
      for (j=0;j<strlen(kmer);j++)
	kmer[j] = toupper(kmer[j]);
    }
  }

  if (fname[0] == 0 || kmer[0] ==0)
    return 0;
  
  in = fopen(fname, "r");

  fscanf(in, "%c", &ch);
  fscanf(in, "%s", seqname);
  fgets(dummy, 100, in);
  
  i=0;
  
  while(fscanf(in, "%c", &ch) > 0){
    if (!isspace(ch))
      seq[i++]=toupper(ch);
  }

  seq[i]=0;
  seqlen=i;
  klen = strlen(kmer);
  

  for(i=0;i<seqlen-klen+1;i++){
    if (match(i, seq, kmer))
      printf("%s\t%d\t%d\tF\n", seqname, (i+1), (i+1+klen));
    else if (match_r(i, seq, kmer))
      printf("%s\t%d\t%d\tR\n",seqname, (i+1), (i+1+klen));
	   
  }

  return 1;
}
Beispiel #2
0
/*
 * The run_benchmarks function will run the registered benchmarks.
 */
void run_benchmarks(const options& opts) {
    std::regex match_r(opts.get_bench());
    auto benchmarks = registration::get_ptr()->get_benchmarks();
    for (auto& info : benchmarks) {
        if (std::regex_match(info.get_name(), match_r)) {
            context c(info, opts);
            auto r = c.run();
            std::cout << std::setw(35) << std::left << info.get_name() << r.to_string() << std::endl;
        }
    }
}