GT_INLINE gt_sam_headers* gt_sam_header_new(void) { gt_sam_headers* sam_headers = gt_alloc(gt_sam_headers); sam_headers->header = gt_string_new(50); // @HD sam_headers->read_group = gt_vector_new(GT_ATTR_SAM_INIT_ELEMENTS,sizeof(gt_string*)); // @RG sam_headers->program = gt_vector_new(GT_ATTR_SAM_INIT_ELEMENTS,sizeof(gt_string*)); // @PG sam_headers->comments = gt_vector_new(GT_ATTR_SAM_INIT_ELEMENTS,sizeof(gt_string*)); // @ CO sam_headers->sequence_archive = NULL; // @SQ return sam_headers; }
GT_INLINE gt_sam_headers* gt_sam_header_new(void) { gt_sam_headers* sam_headers = gt_alloc(gt_sam_headers); sam_headers->header = NULL; // @HD sam_headers->read_group = gt_vector_new(GT_ATTR_SAM_INIT_ELEMENTS,sizeof(gt_sam_header_record*)); // @RG sam_headers->program = gt_vector_new(GT_ATTR_SAM_INIT_ELEMENTS,sizeof(gt_sam_header_record*)); // @PG sam_headers->sequence_dictionary = gt_vector_new(GT_ATTR_SAM_INIT_ELEMENTS,sizeof(gt_sam_header_record*)); // @SQ sam_headers->comments = gt_vector_new(GT_ATTR_SAM_INIT_ELEMENTS,sizeof(gt_string*)); // @ CO sam_headers->sequence_dictionary_sn_hash = NULL; sam_headers->read_group_id_hash = NULL; sam_headers->program_id_hash = NULL; return sam_headers; }
/* * Buffered map file handlers */ gt_buffered_input_file* gt_buffered_input_file_new(gt_input_file* const input_file) { GT_NULL_CHECK(input_file); gt_buffered_input_file* buffered_input_file = gt_alloc(gt_buffered_input_file); /* Input file */ buffered_input_file->input_file = input_file; /* Block buffer and cursors */ buffered_input_file->block_id = UINT32_MAX; buffered_input_file->block_buffer = gt_vector_new(GT_BMI_BUFFER_SIZE,sizeof(uint8_t)); buffered_input_file->cursor = (char*) gt_vector_get_mem(buffered_input_file->block_buffer,uint8_t); buffered_input_file->current_line_num = UINT64_MAX; /* Attached output buffer */ buffered_input_file->attached_buffered_output_file = gt_vector_new(2,sizeof(gt_buffered_output_file*)); return buffered_input_file; }
/* * SegmentedSEQ Constructor */ GT_INLINE gt_segmented_sequence* gt_segmented_sequence_new(void) { gt_segmented_sequence* sequence = gt_alloc(gt_segmented_sequence); sequence->blocks = gt_vector_new(GT_SEQ_ARCHIVE_NUM_BLOCKS,sizeof(gt_compact_dna_string*)); sequence->sequence_total_length = 0; sequence->seq_name = gt_string_new(10); return sequence; }
#define GT_TEMPLATE_TAG_INITIAL_LENGTH 100 #define GT_TEMPLATE_NUM_INITIAL_COUNTERS 10 #define GT_TEMPLATE_NUM_INITIAL_BLOCKS 2 #define GT_TEMPLATE_NUM_INITIAL_MMAPS 20 /* * Setup */ GT_INLINE gt_template* gt_template_new() { gt_template* template = gt_alloc(gt_template); template->template_id = UINT32_MAX; template->in_block_id = UINT32_MAX; template->tag = gt_string_new(GT_TEMPLATE_TAG_INITIAL_LENGTH); template->alignment_end1=NULL; template->alignment_end2=NULL; template->counters = gt_vector_new(GT_TEMPLATE_NUM_INITIAL_COUNTERS,sizeof(uint64_t)); template->mmaps = gt_vector_new(GT_TEMPLATE_NUM_INITIAL_MMAPS,sizeof(gt_mmap)); template->attributes = gt_attributes_new(); template->alg_dictionary = NULL; return template; } GT_INLINE void gt_template_clear_handler(gt_template* const template) { GT_TEMPLATE_CHECK(template); gt_string_clear(template->tag); gt_attributes_clear(template->attributes); } GT_INLINE void gt_template_clear(gt_template* const template,const bool delete_alignments) { GT_TEMPLATE_CHECK(template); if (delete_alignments) gt_template_delete_blocks(template); gt_vector_clear(template->counters); gt_vector_clear(template->mmaps);