2023-12-25 11:11:19 +08:00
|
|
|
|
/*
|
|
|
|
|
|
Description: 通过fmt-idx数据结构对seed过程进行加速(fm-index twice search in one time)
|
|
|
|
|
|
|
|
|
|
|
|
Copyright : All right reserved by ICT
|
|
|
|
|
|
|
|
|
|
|
|
Author : Zhang Zhonghai
|
|
|
|
|
|
Date : 2023/12/24
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
#include <stdio.h>
|
|
|
|
|
|
#include <stdlib.h>
|
|
|
|
|
|
#include "fmt_idx.h"
|
|
|
|
|
|
|
|
|
|
|
|
// 创建fmt-index索引数据
|
|
|
|
|
|
void BuildBwtdFromBwt(bwt_t *bwt, bwtd_t **bwtd_p) {
|
|
|
|
|
|
*bwtd_p = (bwtd_t *)malloc(sizeof(bwtd_t));
|
|
|
|
|
|
bwtd_t *bwtd = *bwtd_p;
|
|
|
|
|
|
|
|
|
|
|
|
const int baseLen = 12;
|
|
|
|
|
|
const int kmerSize = 1 << (baseLen << 1);
|
|
|
|
|
|
|
|
|
|
|
|
bwtd->kmer_range = (kmer_range_t *)malloc(kmerSize * sizeof(kmer_range_t));
|
|
|
|
|
|
|
|
|
|
|
|
printf("kmer size: %ld M\n", kmerSize * sizeof(kmer_range_t) / 1024 / 1024);
|
|
|
|
|
|
|
2023-12-25 13:58:15 +08:00
|
|
|
|
// exit(0);
|
2023-12-25 11:11:19 +08:00
|
|
|
|
}
|