Esempio n. 1
0
GT_INLINE void gt_dna_read_delete(gt_dna_read* read) {
  GT_DNA_READ_CHECK(read);
  gt_string_delete(read->tag);
  gt_string_delete(read->read);
  gt_string_delete(read->qualities);
  gt_attributes_delete(read->attributes);
}
Esempio n. 2
0
GT_INLINE void gt_sam_header_clear(gt_sam_headers* const sam_headers) {
  GT_SAM_HEADERS_CHECK(sam_headers);
  // Header
  gt_string_clear(sam_headers->header);
  // Read group
  GT_VECTOR_ITERATE(sam_headers->read_group,record_h,nh,gt_string*) { gt_string_delete(*record_h); }
  gt_vector_clear(sam_headers->read_group);
  // Program
  GT_VECTOR_ITERATE(sam_headers->program,record_p,np,gt_string*) { gt_string_delete(*record_p); }
  gt_vector_clear(sam_headers->program);
  // Comments
  GT_VECTOR_ITERATE(sam_headers->comments,comment,nc,gt_string*) { gt_string_delete(*comment); }
  gt_vector_clear(sam_headers->comments);
  // Seq Archive
  sam_headers->sequence_archive=NULL;
}
Esempio n. 3
0
GT_INLINE void gt_sam_attribute_func_params_delete(gt_sam_attribute_func_params* const func_params) {
  GT_NULL_CHECK(func_params);
  /* String (gt_string) buffer */
  if (func_params->return_s!=NULL) gt_string_delete(func_params->return_s);
  /* Attributes */
  gt_attributes_delete(func_params->attributes);
  gt_free(func_params);
}
Esempio n. 4
0
GT_INLINE void gt_segmented_sequence_delete(gt_segmented_sequence* const sequence) {
  GT_SEGMENTED_SEQ_CHECK(sequence);
  GT_VECTOR_ITERATE(sequence->blocks,block,block_num,gt_compact_dna_string*) {
    if (*block) gt_cdna_string_delete(*block);
  }
  gt_vector_delete(sequence->blocks);
  gt_string_delete(sequence->seq_name);
  gt_free(sequence);
}
Esempio n. 5
0
GT_INLINE void gt_sam_header_delete(gt_sam_headers* const sam_headers) {
  GT_SAM_HEADERS_CHECK(sam_headers);
  // Clear
  gt_sam_header_clear(sam_headers);
  // Delete
  gt_string_delete(sam_headers->header);
  gt_vector_delete(sam_headers->read_group);
  gt_vector_delete(sam_headers->program);
  gt_vector_delete(sam_headers->comments);
}
GT_INLINE void gt_segmented_sequence_clear(gt_segmented_sequence* const sequence) {
  GT_SEGMENTED_SEQ_CHECK(sequence);
  GT_VECTOR_ITERATE(sequence->blocks,block,block_num,uint64_t*) {
    if (*block) gt_free(*block);
  }
  gt_vector_clear(sequence->blocks);
  gt_string_clear(sequence->seq_name);
  if(sequence->extra) {
	  gt_string_delete(sequence->extra);
	  sequence->extra = NULL;
  }
}
GT_INLINE void gt_sam_header_clear(gt_sam_headers* const sam_headers) {
  GT_SAM_HEADERS_CHECK(sam_headers);
  // Header
  if(sam_headers->header) {
  	gt_sam_header_record_delete(sam_headers->header);
  	sam_headers->header = NULL;
  }
  // Read group
  GT_VECTOR_ITERATE(sam_headers->read_group,record_h,nh,gt_sam_header_record*) { gt_sam_header_record_delete(*record_h); }
  gt_vector_clear(sam_headers->read_group);
  if(sam_headers->read_group_id_hash) gt_shash_clear(sam_headers->read_group_id_hash,true);
  // Program
  GT_VECTOR_ITERATE(sam_headers->program,record_p,np,gt_sam_header_record*) { gt_sam_header_record_delete(*record_p); }
  gt_vector_clear(sam_headers->program);
  if(sam_headers->program_id_hash) gt_shash_clear(sam_headers->program_id_hash,true);
  // Seq Dictionary
  GT_VECTOR_ITERATE(sam_headers->sequence_dictionary,record_s,ns,gt_sam_header_record*) { gt_sam_header_record_delete(*record_s); }
  gt_vector_clear(sam_headers->sequence_dictionary);
  if(sam_headers->sequence_dictionary_sn_hash) gt_shash_clear(sam_headers->sequence_dictionary_sn_hash,true);
  // Comments
  GT_VECTOR_ITERATE(sam_headers->comments,comment,nc,gt_string*) { gt_string_delete(*comment); }
  gt_vector_clear(sam_headers->comments);
}