예제 #1
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_sam_header_delete(gt_sam_headers* const sam_headers) {
  GT_SAM_HEADERS_CHECK(sam_headers);
  // Clear
  gt_sam_header_clear(sam_headers);
  // Delete
  gt_vector_delete(sam_headers->read_group);
  gt_vector_delete(sam_headers->program);
  gt_vector_delete(sam_headers->sequence_dictionary);
  gt_vector_delete(sam_headers->comments);
  if(sam_headers->sequence_dictionary_sn_hash) gt_shash_delete(sam_headers->sequence_dictionary_sn_hash,true);
  if(sam_headers->read_group_id_hash) gt_shash_delete(sam_headers->read_group_id_hash,true);
  if(sam_headers->program_id_hash) gt_shash_delete(sam_headers->program_id_hash,true);
}
예제 #3
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);
}
예제 #4
0
gt_status gt_buffered_input_file_close(gt_buffered_input_file* const buffered_input_file) {
  GT_BUFFERED_INPUT_FILE_CHECK(buffered_input_file);
  gt_vector_delete(buffered_input_file->block_buffer);
  free(buffered_input_file);
  return GT_BMI_OK;
}