From e3924b5c0869851f64d509feb0535ea97ddc119c Mon Sep 17 00:00:00 2001 From: Haoyu Cheng Date: Sun, 19 May 2019 05:02:28 -0400 Subject: [PATCH] Change stupid merge function --- .vscode/ipch/b49c1e8b711f08aa/HASH_TABLE.ipch | Bin 2686976 -> 2686976 bytes .vscode/ipch/c0e71cfe49f0fe81/ASSEMBLY.ipch | Bin 3080192 -> 3080192 bytes Assembly.cpp | 142 ++++- Hash_Table.cpp | 531 ++++++++++++++++++ Hash_Table.h | 24 + 5 files changed, 696 insertions(+), 1 deletion(-) diff --git a/.vscode/ipch/b49c1e8b711f08aa/HASH_TABLE.ipch b/.vscode/ipch/b49c1e8b711f08aa/HASH_TABLE.ipch index b2273dbeb29dc418c39440dc120b8b5cb960285c..1e53d272fa52ffb4530766a5657867e9a6498796 100644 GIT binary patch delta 93142 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 Qb_WaEn?KtXx$C(914=Mym;e9( delta 85934 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

gPkB?iMdS;~cE3Q;Pv_2NLc0 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 MS_Z7o{llF92me$@O#lD@ delta 95554 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 P4ga>tK`gWaSjP{A5j?S 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 A2mk;8 diff --git a/Assembly.cpp b/Assembly.cpp index 0779b18..1ae84bb 100644 --- a/Assembly.cpp +++ b/Assembly.cpp @@ -575,6 +575,7 @@ void* Overlap_calculate(void* arg) k_mer_pos_list_alloc array_list; init_k_mer_pos_list_alloc(&array_list); + for (i = thr_ID; i < R_INF.total_reads; i = i + thread_num) ///for (i = thr_ID; i < R_INF.total_reads/50; i = i + thread_num) { @@ -674,6 +675,144 @@ void* Overlap_calculate(void* arg) } +void* Overlap_calculate_heap_merge(void* arg) +{ + + int thr_ID = *((int*)arg); + + long long i = 0; + int avalible_k = 0; + + UC_Read g_read; + init_UC_Read(&g_read); + HPC_seq HPC_read; + Hash_code k_code; + uint64_t code; + uint64_t end_pos; + k_mer_pos* list; + uint64_t list_length; + uint64_t sub_ID; + + Candidates_list l; + //Candidates_list debug_l; + + init_Candidates_list(&l); + //init_Candidates_list(&debug_l); + + k_mer_pos_list_alloc array_list; + init_k_mer_pos_list_alloc(&array_list); + + HeapSq heap; + + Init_Heap(&heap); + + for (i = thr_ID; i < R_INF.total_reads; i = i + thread_num) + { + + clear_Heap(&heap); + clear_Candidates_list(&l); + ///clear_Candidates_list(&debug_l); + + clear_k_mer_pos_list_alloc(&array_list); + recover_UC_Read(&g_read, &R_INF, i); + + + ///forward strand + init_HPC_seq(&HPC_read, g_read.seq, g_read.length); + init_Hash_code(&k_code); + avalible_k = 0; + + while ((code = get_HPC_code(&HPC_read, &end_pos)) != 6) + { + if(code < 4) + { + k_mer_append(&k_code,code,k_mer_length); + avalible_k++; + if (avalible_k>=k_mer_length) + { + list_length = locate_Total_Pos_Table(&PCB, &k_code, &list, k_mer_length, &sub_ID); + + if (list_length != 0) + { + append_k_mer_pos_list_alloc(&array_list, list, list_length, end_pos, 0); + } + ///merge_Candidates_list(&l, list, list_length, end_pos, 0); + //merge_Candidates_list_version(&debug_l, list, list_length, end_pos, 0); + } + } + else + { + avalible_k = 0; + init_Hash_code(&k_code); + } + + ///HPC_base++; + } + + + + ///reverse complement strand + reverse_complement(g_read.seq, g_read.length); + init_HPC_seq(&HPC_read, g_read.seq, g_read.length); + init_Hash_code(&k_code); + avalible_k = 0; + + while ((code = get_HPC_code(&HPC_read, &end_pos)) != 6) + { + if(code < 4) + { + k_mer_append(&k_code,code,k_mer_length); + avalible_k++; + if (avalible_k>=k_mer_length) + { + list_length = locate_Total_Pos_Table(&PCB, &k_code, &list, k_mer_length, &sub_ID); + if (list_length != 0) + { + append_k_mer_pos_list_alloc(&array_list, list, list_length, end_pos, 1); + } + ///merge_Candidates_list(&l, list, list_length, end_pos, 1); + //merge_Candidates_list_version(&debug_l, list, list_length, end_pos, 1); + } + } + else + { + avalible_k = 0; + init_Hash_code(&k_code); + } + + ///HPC_base++; + } + + ///merge_k_mer_pos_list_alloc(&array_list, &l); + merge_k_mer_pos_list_alloc_heap_sort(&array_list, &l, &heap); + /** + if (array_list.length < 3) + { + merge_k_mer_pos_list_alloc(&array_list, &l); + } + else + { + merge_k_mer_pos_list_alloc_heap_sort_advance(&array_list, &l, &heap); + } + **/ + + + ///merge_k_mer_pos_list_alloc_heap_sort_advance(&array_list, &l, &heap); + + + + ///debug_merge_result(&l, &debug_l); + + } + + destory_Candidates_list(&l); + //destory_Candidates_list(&debug_l); + + destory_Heap(&heap); + destory_k_mer_pos_list_alloc(&array_list); +} + + @@ -698,7 +837,8 @@ void Overlap_calculate_multipe_thr() int *arg = (int*)malloc(sizeof(*arg)); *arg = i; - pthread_create(_r_threads + i, NULL, Overlap_calculate, (void*)arg); + pthread_create(_r_threads + i, NULL, Overlap_calculate_heap_merge, (void*)arg); + //pthread_create(_r_threads + i, NULL, Overlap_calculate, (void*)arg); } diff --git a/Hash_Table.cpp b/Hash_Table.cpp index 245a403..36dbb19 100644 --- a/Hash_Table.cpp +++ b/Hash_Table.cpp @@ -4,6 +4,147 @@ #include "Hash_Table.h" +void Init_Heap(HeapSq* HBT) +{ + HBT->MaxSize = 1000; + HBT->heap = (ElemType*)malloc(HBT->MaxSize*sizeof(ElemType)); + HBT->index_i = (uint64_t*)malloc(HBT->MaxSize*sizeof(uint64_t)); + HBT->len = 0; +} + +void destory_Heap(HeapSq* HBT) +{ + free(HBT->heap); + free(HBT->index_i); +} + +void clear_Heap(HeapSq* HBT) +{ + HBT->len = 0; +} + + +inline int cmp_ElemType(ElemType* x, ElemType* y) +{ + if (x->node.strand < y->node.strand) + { + return 1; + } + else if (x->node.strand > y->node.strand) + { + return 2; + } + else + { + if (x->node.readID < y->node.readID) + { + return 1; + } + else if (x->node.readID > y->node.readID) + { + return 2; + } + else + { + if (x->node.offset < y->node.offset) + { + return 1; + } + else if (x->node.offset > y->node.offset) + { + return 2; + } + else + { + if (x->node.self_offset < y->node.self_offset) + { + return 1; + } + else if (x->node.self_offset > y->node.self_offset) + { + return 2; + } + else + { + return 0; + } + + } + } + } + + + + +} + + +inline void Insert_Heap(HeapSq* HBT, ElemType* x) +{ + long long i, j; + if (HBT->len == HBT->MaxSize) //若堆满,将数组空间扩展为原来的2倍 + { + HBT->MaxSize = 2*HBT->MaxSize; + HBT->heap = (ElemType*)realloc(HBT->heap, HBT->MaxSize*sizeof(ElemType)); + HBT->index_i = (uint64_t*)realloc(HBT->index_i,HBT->MaxSize*sizeof(uint64_t)); + } + HBT->heap[HBT->len] = *x; //向堆尾添加新元素 + HBT->len++; //堆长度加1 + i = HBT->len - 1; //i指向待调整元素的位置,即其数组下标,初始指向新元素所在的堆尾位置 + while (i != 0) + { + j = (i - 1) / 2; //j指向下标为i的元素的双亲 + ///if (x >= HBT->heap[j]) //若新元素大于待调整元素的双亲,则比较调整结束,退出循环 + ///1: xheap[j])!=1) + break; + HBT->heap[i] = HBT->heap[j]; //将双亲元素下移到待调整元素的位置 + i = j; //使待调整位置变为其双亲位置,进行下一次循环 + } + HBT->heap[i] = *x;//把新元素调整到最终位置 +} + + +inline int DeleteHeap(HeapSq* HBT, ElemType* get) +{ + ElemType temp, x; + int i, j; + if (HBT->len == 0) + { + return 0; + } + temp = HBT->heap[0]; //暂存堆顶元素 + HBT->len--; + if (HBT->len == 0) //若删除操作后堆为空则返回 + { + *get = temp; + return 2; + } + + x = HBT->heap[HBT->len]; //将待调整的原堆尾元素暂存x中,以便放入最终位置 + i = 0; //用i指向待调整元素的位置,初始指向堆顶位置 + j = 2 * i + 1;//用j指向i的左孩子位置,初始指向下标为1的位置 + while (j <= HBT->len - 1)//寻找待调整元素的最终位置,每次使孩子元素上移一层,调整到孩子为空时止 + { + ///if (j < HBT->len - 1 && HBT->heap[j] > HBT->heap[j+1])//若存在右孩子且较小,使j指向右孩子 + if (j < HBT->len - 1 && cmp_ElemType(&HBT->heap[j], &HBT->heap[j + 1]) == 2) + j++; + ///if (x <= HBT->heap[j]) //若x比其较小的孩子还小,则调整结束,退出循环 + if (cmp_ElemType(&x, &HBT->heap[j])!=2) + break; + HBT->heap[i] = HBT->heap[j];//否则,将孩子元素移到双亲位置 + i = j; //将待调整位置变为其较小的孩子位置 + j = 2 * i + 1;//将j变为新的待调整位置的左孩子位置,继续下一次循环 + } + HBT->heap[i] = x; //把x放到最终位置 + + //返回原堆顶元素 + *get = temp; + return 1; +} + + + void init_k_mer_pos_list_alloc(k_mer_pos_list_alloc* list) @@ -59,6 +200,396 @@ int cmp_k_mer_pos_list(const void * a, const void * b) } +inline void append_pos_to_Candidates_list(Candidates_list* candidates, ElemType* x) +{ + candidates->list[candidates->length] = x->node; + candidates->length++; +} + + +void test_single_list(Candidates_list* candidates, k_mer_pos* n_list, uint64_t n_lengh, uint64_t end_pos, uint64_t strand) +{ + uint64_t i; + + int j = 0; + + for (i = 0; i < n_lengh; i++) + { + + for (; j < candidates->length; j++) + { + if ( + n_list[i].offset == candidates->list[j].offset + && + n_list[i].readID == candidates->list[j].readID + && + end_pos == candidates->list[j].self_offset + && + strand == candidates->list[j].strand + ) + { + break; + } + } + + if (j == candidates->length) + { + fprintf(stderr, "ERROR 4\n"); + } + } + +} + +void verify_merge_result(k_mer_pos_list_alloc* list, Candidates_list* candidates) +{ + uint64_t total_length = 0; + uint64_t i = 0; + for (i = 0; i < list->length; i++) + { + total_length = total_length + list->list[i].length; + } + + if (total_length!=candidates->length) + { + fprintf(stderr, "ERROR length & size.\n"); + } + + for (i = 1; i < candidates->length; i++) + { + if (candidates->list[i].strand < candidates->list[i-1].strand) + { + fprintf(stderr, "ERROR -1\n"); + } + else if (candidates->list[i].strand == candidates->list[i-1].strand) + { + if (candidates->list[i].readID < candidates->list[i-1].readID) + { + fprintf(stderr, "ERROR 0\n"); + } + else if (candidates->list[i].readID == candidates->list[i-1].readID) + { + if (candidates->list[i].offset < candidates->list[i-1].offset) + { + fprintf(stderr, "ERROR 1\n"); + } + else if (candidates->list[i].offset == candidates->list[i-1].offset) + { + if (candidates->list[i].self_offset < candidates->list[i-1].self_offset) + { + fprintf(stderr, "ERROR 2\n"); + } + } + } + } + } + + + uint64_t j = 0; + for (i = 0; i < list->length; i++) + { + test_single_list(candidates, list->list[i].list, list->list[i].length, list->list[i].end_pos, list->list[i].direction); + } + + + +} + + + +void merge_k_mer_pos_list_alloc_heap_sort_back(k_mer_pos_list_alloc* list, Candidates_list* candidates, HeapSq* HBT) +{ + clear_Heap(HBT); + + uint64_t total_length = 0; + uint64_t i; + ElemType x, y; + ///所有list的长度都不是0 + ///把各个表第一个元素加入到堆中 + for (i = 0; i < list->length; i++) + { + x.ID = i; + x.node.offset = list->list[i].list[0].offset; + x.node.readID = list->list[i].list[0].readID; + x.node.self_offset = list->list[i].end_pos; + x.node.strand = list->list[i].direction; + + Insert_Heap(HBT, &x); + + HBT->index_i[i] = 1; + + total_length = total_length + list->list[i].length; + } + + + candidates->length = 0; + if(total_length > candidates->size) + { + candidates->size = total_length; + candidates->list = (k_mer_hit*)realloc(candidates->list, sizeof(k_mer_hit)*candidates->size); + candidates->tmp = (k_mer_hit*)realloc(candidates->tmp, sizeof(k_mer_hit)*candidates->size); + } + + uint64_t ID; + while (DeleteHeap(HBT, &x)) + { + append_pos_to_Candidates_list(candidates, &x); + ///x.ID说明是从第x.ID个列表中的这个节点已经从堆里出来了 + ///HBT->index_i[x.ID]是第x.ID个列表的当前元素的下标 + i = HBT->index_i[x.ID]; + ID = x.ID; + ///fprintf(stderr, "x.ID: %llu, i: %llu, length: %llu\n", x.ID, i, list->list[x.ID].length); + + + if (i < list->list[x.ID].length) + { + y.ID = ID; + y.node.offset = list->list[x.ID].list[i].offset; + y.node.readID = list->list[x.ID].list[i].readID; + y.node.self_offset = list->list[x.ID].end_pos; + y.node.strand = list->list[x.ID].direction; + Insert_Heap(HBT, &y); + HBT->index_i[ID]++; + } + } + + ///verify_merge_result(list, candidates); + + +} + + +void merge_k_mer_pos_list_alloc_heap_sort(k_mer_pos_list_alloc* list, Candidates_list* candidates, HeapSq* HBT) +{ + clear_Heap(HBT); + + uint64_t total_length = 0; + uint64_t i; + ElemType x, y; + ///所有list的长度都不是0 + ///把各个表第一个元素加入到堆中 + for (i = 0; i < list->length; i++) + { + + x.ID = i; + x.node.offset = list->list[i].list[0].offset; + x.node.readID = list->list[i].list[0].readID; + x.node.self_offset = list->list[i].end_pos; + x.node.strand = list->list[i].direction; + + Insert_Heap(HBT, &x); + + HBT->index_i[i] = 1; + + + total_length = total_length + list->list[i].length; + } + + + candidates->length = 0; + if(total_length > candidates->size) + { + candidates->size = total_length; + candidates->list = (k_mer_hit*)realloc(candidates->list, sizeof(k_mer_hit)*candidates->size); + candidates->tmp = (k_mer_hit*)realloc(candidates->tmp, sizeof(k_mer_hit)*candidates->size); + } + + uint64_t ID; + int flag; + while (flag = DeleteHeap(HBT, &x)) + { + append_pos_to_Candidates_list(candidates, &x); + ///x.ID说明是从第x.ID个列表中的这个节点已经从堆里出来了 + ///HBT->index_i[x.ID]是第x.ID个列表的当前元素的下标 + i = HBT->index_i[x.ID]; + ID = x.ID; + + if (flag == 2) + { + for (; i < list->list[x.ID].length; i++) + { + y.ID = ID; + y.node.offset = list->list[x.ID].list[i].offset; + y.node.readID = list->list[x.ID].list[i].readID; + y.node.self_offset = list->list[x.ID].end_pos; + y.node.strand = list->list[x.ID].direction; + append_pos_to_Candidates_list(candidates, &y); + } + + break; + } + + if (i < list->list[x.ID].length) + { + y.ID = ID; + y.node.offset = list->list[x.ID].list[i].offset; + y.node.readID = list->list[x.ID].list[i].readID; + y.node.self_offset = list->list[x.ID].end_pos; + y.node.strand = list->list[x.ID].direction; + Insert_Heap(HBT, &y); + HBT->index_i[ID]++; + } + } + + + ///verify_merge_result(list, candidates); + + +} + + +///有bug,找时间排一下 +void merge_k_mer_pos_list_alloc_heap_sort_advance(k_mer_pos_list_alloc* list, Candidates_list* candidates, HeapSq* HBT) +{ + + uint64_t total_length = 0; + uint64_t i; + ElemType x, y; + + /************************************forward*************************************************/ + clear_Heap(HBT); + + ///所有list的长度都不是0 + ///把各个表第一个元素加入到堆中 + for (i = 0; i < list->length; i++) + { + if (list->list[i].direction == 0) + { + x.ID = i; + x.node.offset = list->list[i].list[0].offset; + x.node.readID = list->list[i].list[0].readID; + x.node.self_offset = list->list[i].end_pos; + x.node.strand = list->list[i].direction; + + Insert_Heap(HBT, &x); + + HBT->index_i[i] = 1; + + total_length = total_length + list->list[i].length; + } + } + + + candidates->length = 0; + if(total_length > candidates->size) + { + candidates->size = total_length; + candidates->list = (k_mer_hit*)realloc(candidates->list, sizeof(k_mer_hit)*candidates->size); + candidates->tmp = (k_mer_hit*)realloc(candidates->tmp, sizeof(k_mer_hit)*candidates->size); + } + + + uint64_t ID; + int flag; + while (flag = DeleteHeap(HBT, &x)) + { + append_pos_to_Candidates_list(candidates, &x); + ///x.ID说明是从第x.ID个列表中的这个节点已经从堆里出来了 + ///HBT->index_i[x.ID]是第x.ID个列表的当前元素的下标 + i = HBT->index_i[x.ID]; + ID = x.ID; + ///fprintf(stderr, "x.ID: %llu, i: %llu, length: %llu\n", x.ID, i, list->list[x.ID].length); + /** + if (flag == 2) + { + for (; i < list->list[x.ID].length; i++) + { + y.ID = ID; + y.node.offset = list->list[x.ID].list[i].offset; + y.node.readID = list->list[x.ID].list[i].readID; + y.node.self_offset = list->list[x.ID].end_pos; + y.node.strand = list->list[x.ID].direction; + append_pos_to_Candidates_list(candidates, &y); + } + + break; + } + **/ + + + if (i < list->list[x.ID].length) + { + y.ID = ID; + y.node.offset = list->list[x.ID].list[i].offset; + y.node.readID = list->list[x.ID].list[i].readID; + y.node.self_offset = list->list[x.ID].end_pos; + y.node.strand = list->list[x.ID].direction; + Insert_Heap(HBT, &y); + HBT->index_i[ID]++; + } + } + + + + /************************************reverse complement*************************************************/ + + clear_Heap(HBT); + ///所有list的长度都不是0 + ///把各个表第一个元素加入到堆中 + for (i = 0; i < list->length; i++) + { + if (list->list[i].direction == 1) + { + x.ID = i; + x.node.offset = list->list[i].list[0].offset; + x.node.readID = list->list[i].list[0].readID; + x.node.self_offset = list->list[i].end_pos; + x.node.strand = list->list[i].direction; + + Insert_Heap(HBT, &x); + + HBT->index_i[i] = 1; + + total_length = total_length + list->list[i].length; + } + } + + if(total_length > candidates->size) + { + candidates->size = total_length; + candidates->list = (k_mer_hit*)realloc(candidates->list, sizeof(k_mer_hit)*candidates->size); + candidates->tmp = (k_mer_hit*)realloc(candidates->tmp, sizeof(k_mer_hit)*candidates->size); + } + + while (flag = DeleteHeap(HBT, &x)) + { + append_pos_to_Candidates_list(candidates, &x); + ///x.ID说明是从第x.ID个列表中的这个节点已经从堆里出来了 + ///HBT->index_i[x.ID]是第x.ID个列表的当前元素的下标 + i = HBT->index_i[x.ID]; + ID = x.ID; + ///fprintf(stderr, "x.ID: %llu, i: %llu, length: %llu\n", x.ID, i, list->list[x.ID].length); + /** + if (flag == 2) + { + for (; i < list->list[x.ID].length; i++) + { + y.ID = ID; + y.node.offset = list->list[x.ID].list[i].offset; + y.node.readID = list->list[x.ID].list[i].readID; + y.node.self_offset = list->list[x.ID].end_pos; + y.node.strand = list->list[x.ID].direction; + append_pos_to_Candidates_list(candidates, &y); + } + + break; + } + **/ + + + if (i < list->list[x.ID].length) + { + y.ID = ID; + y.node.offset = list->list[x.ID].list[i].offset; + y.node.readID = list->list[x.ID].list[i].readID; + y.node.self_offset = list->list[x.ID].end_pos; + y.node.strand = list->list[x.ID].direction; + Insert_Heap(HBT, &y); + HBT->index_i[ID]++; + } + } + +} + void merge_k_mer_pos_list_alloc(k_mer_pos_list_alloc* list, Candidates_list* candidates) { diff --git a/Hash_Table.h b/Hash_Table.h index 2ad3bb1..3d001f1 100644 --- a/Hash_Table.h +++ b/Hash_Table.h @@ -62,6 +62,24 @@ typedef struct uint8_t strand; } k_mer_hit; + +typedef struct +{ + k_mer_hit node; + uint64_t ID; +} ElemType; + + +typedef struct +{ + ElemType* heap; + uint64_t* index_i; + int len; + int MaxSize; +} HeapSq; + + + typedef struct { k_mer_hit* list; @@ -347,6 +365,12 @@ void clear_k_mer_pos_list_alloc(k_mer_pos_list_alloc* list); void append_k_mer_pos_list_alloc(k_mer_pos_list_alloc* list, k_mer_pos* n_list, uint64_t n_length, uint64_t n_end_pos, uint8_t n_direction); void merge_k_mer_pos_list_alloc(k_mer_pos_list_alloc* list, Candidates_list* candidates); +void merge_k_mer_pos_list_alloc_heap_sort(k_mer_pos_list_alloc* list, Candidates_list* candidates, HeapSq* HBT); +void merge_k_mer_pos_list_alloc_heap_sort_advance(k_mer_pos_list_alloc* list, Candidates_list* candidates, HeapSq* HBT); + +void Init_Heap(HeapSq* HBT); +void destory_Heap(HeapSq* HBT); +void clear_Heap(HeapSq* HBT);