Exemplo n.º 1
0
main()
{ 
  char s1[100];
  char *s;
  
  strcpy(s1, "Give Him Six!");
  s = revstring(s1);
  strcpy(s1, "Jim");
  printf("%s\n", revstring(s1));
  printf("%s\n", s);
}
Exemplo n.º 2
0
void tracebackLocal(DYNAM *p_dynam)
{
  /**
     finding traceback for local alignment
   */
  int i,j,a=0,b=0;
  i=p_dynam->si; /*get starting postions*/
  j=p_dynam->sj; /*get starting postions*/
  do{
    tracer(p_dynam,&i,&j,&b,&a);
  }while( fabs(maximumdouble(3,p_dynam->h[i][j],p_dynam->Ix[i][j],p_dynam->Iy[i][j])) >1e-12);
  p_dynam->ac1[a++]=0;
  p_dynam->ac2[b++]=0;
  revstring(p_dynam->ac1);
  revstring(p_dynam->ac2);
}
Exemplo n.º 3
0
void tracebackGlobal(DYNAM *p_dynam)
{
  /**
     finding traceback for global alignment
   */
  int i,j,a=0,b=0;
  i=p_dynam->si; /*get starting postions*/
  j=p_dynam->sj; /*get starting postions*/
  do{
    tracer(p_dynam,&i,&j,&b,&a);
  }while(!(i==0 && j==0));
  p_dynam->ac1[a++]=0;
  p_dynam->ac2[b++]=0;
  revstring(p_dynam->ac1);
  revstring(p_dynam->ac2);
}
Exemplo n.º 4
0
void tracebackOverlap(DYNAM *p_dynam)
{
  /**
     finding traceback for global alignment
   */
  int i,j,a=0,b=0;
  i=p_dynam->si;
  j=p_dynam->sj;
  /*dp the backtrack*/
  do{
    tracer(p_dynam,&i,&j,&b,&a);
  }while(!(i==0 || j==0)); /*break if one of the values are true*/
  p_dynam->ac1[a++]=0;
  p_dynam->ac2[b++]=0;
  revstring(p_dynam->ac1);
  revstring(p_dynam->ac2);
}
Exemplo n.º 5
0
void reverse_comp(char *reference_sequence,size_t reference_length)
{
  int index;

  if(reference_sequence == NULL)
    return;
  
  revstring(reference_sequence);

  for(index = 0;index < reference_length;index++,reference_sequence++)
    {
      switch(*reference_sequence)
	{
	case 'A':
	  *reference_sequence = 'U';
	  break;
	case 'a':
	  *reference_sequence = 'u';
	  break;
	case 'G':
	  *reference_sequence = 'C';
	  break;
	case 'g':
	  *reference_sequence = 'c';
	  break;
	case 'C':
	  *reference_sequence = 'G';
	  break;
	case 'c':
	  *reference_sequence = 'g';
	  break;
	case 'U':case 'T':
	  *reference_sequence = 'A';
	  break;
	case 'u':case 't':
	  *reference_sequence = 'a';
	  break;
	case 0:
	  return;
	  break;
	default:
	  break;
	}
    }
}
Exemplo n.º 6
0
int main(int argc, char **argv)
{

	ref_vector X, Xi;

	exome ex;

	check_syntax(argc, 4, "preprocess ref_file output_dir nucleotides");

	timevars();
  init_replace_table(argv[3]);

	encode_reference(&X, &ex, true, argv[1]);
	save_ref_vector(&X, argv[2], "X");
	save_exome_file(&ex, true, argv[2]);

	tic("Calc. Backward Burrows-Wheeler Transform -> Sadakane direct SAIS");
	direct_bwt(X.vector, X.n, argv[2], "backward", false);
	toc();

	tic("Calc. Backward Suffix Array -> CSALIB DNA");
	csa_new_from_bwt_gnu_bwt_wrapper(argv[2], "backward");
	toc();

	read_ref_vector(&Xi, argv[2], "X");
	revstring(Xi.vector, Xi.n);
	save_ref_vector(&Xi, argv[2], "Xi");

	tic("Calc. Forward Burrows-Wheeler Transform -> Sadakane direct SAIS");
	direct_bwt(Xi.vector, Xi.n, argv[2], "forward", false);
	toc();

	tic("Calc. Forward Suffix Array -> CSALIB DNA");
	csa_new_from_bwt_gnu_bwt_wrapper(argv[2], "forward");
	toc();

	return 0;

}