Ejemplo n.º 1
0
boolean protcdna_ascii_display(AlnBlock * alb,char * protsequence,char * protname,int protoff,cDNA * cdna,CodonTable * ct,int name,int main,boolean mult,FILE * ofp)
{
  boolean ret;
  btCanvas * btc;

  btc = new_Ascii_btCanvas(ofp,name+6,main,0,6);
  ret = protdna_btc_display(alb,protsequence,protname,protoff,cdna->baseseq,ct,name,main,btc,match_central_line_std,mult);
  free_btCanvas(btc);
  return ret;
}
Ejemplo n.º 2
0
boolean write_pretty_str_align(AlnBlock * alb,char * qname,char * query,char * tname,char * target,int name,int main,FILE * ofp)
{
  boolean out;
  btCanvas * btc;
  
  btc = new_Ascii_btCanvas(ofp,name+6,main,0,3); /*+6 in case we want to put in numbers */

  out = write_pretty_str_align_btc(alb,qname,query,tname,target,btc);

  /** destroy btc canvas **/

  free_btCanvas(btc);

  return out;
}
Ejemplo n.º 3
0
void print_hsp(gpointer key,gpointer value,gpointer user_data)
{
  Sequence * query;
  HSPset * set;
  btCanvas * btc;
  btPasteArea * btp;
  int i,j;
  char q,t;

  query = (Sequence *)user_data;
  set = (HSPset *) value;

  btc = new_Ascii_btCanvas(stdout,12,50,5,3);  

  for(i=0;i<set->len;i++) {

      
      for(j=0;j<set->hsp[i]->length;) {
	
	btp = get_reserved_left_btCanvas(btc);
	
	paste_string_btPasteArea(btp,0,0,query->name,BC_RIGHT,0);
	paste_string_btPasteArea(btp,0,2,set->hsp[i]->target->name,BC_RIGHT,0);

	free_btPasteArea(btp);

	for(;j<set->hsp[i]->length && can_get_paste_area_btCanvas(btc,1) == TRUE;j++) {
	  btp = get_paste_area_btCanvas(btc,1);
	  q = query->seq[set->hsp[i]->query_start+j];
	  t = set->hsp[i]->target->seq[set->hsp[i]->target_start+j];
	  paste_char_btPasteArea(btp,0,0,q,0);
	  paste_char_btPasteArea(btp,0,2,t,0);
	  if( q == t ) {
	    paste_char_btPasteArea(btp,0,1,t,0);
	  }

	  free_btPasteArea(btp);
	}
	advance_line_btCanvas(btc);
      }

      advance_line_btCanvas(btc);
  }

  free_btCanvas(btc);
  
}
Ejemplo n.º 4
0
boolean write_pretty_seq_align(AlnBlock * alb,Sequence * q,Sequence * t,int name,int main,FILE * ofp)
{
  char qname[64];
  char tname[64];
  btCanvas * btc;

  if( alb == NULL || q == NULL || t == NULL ) {
    warn("NULL objects being passed into write_pretty_seq_align");
    return FALSE;
  }

  if( name > 64 ) {
    warn("Sorry - hard coded limited, can't have names longer than 64");
    return FALSE;
  }

  
  if(  strlen(q->name) > name ) {
    warn("Name %s is longer than allowed name block (%d). Truncating\n",q->name,name);
    strncpy(qname,q->name,name);
    qname[name] = '\0';
  } else {
    strcpy(qname,q->name);
  }

  if(  strlen(t->name) > name ) {
    warn("Name %s is longer than allowed name block (%d). Truncating\n",t->name,name);
    strncpy(tname,t->name,name);
    tname[name] = '\0';
  } else {
    strcpy(tname,t->name);
  }
  
  btc = new_Ascii_btCanvas(ofp,name+6,main,0,3); /*+6 in case we want to put in numbers */

  write_pretty_str_align_btc(alb,qname,q->seq,tname,t->seq,btc);

  /** destroy btc canvas **/

  free_btCanvas(btc);

  return TRUE;
}