35 lines
1.2 KiB
C++
35 lines
1.2 KiB
C++
#pragma once
|
||
|
||
#include <common/utils/timer.h>
|
||
#include <common/utils/util.h>
|
||
#include <htslib/sam.h>
|
||
#include <htslib/thread_pool.h>
|
||
#include <sam/utils/read_ends.h>
|
||
#include <sam/utils/read_name_parser.h>
|
||
//#include "md_types.h"
|
||
|
||
#include <set>
|
||
using std::set;
|
||
|
||
extern Timer tm_arr[50]; // 用来测试性能
|
||
/* 全局本地变量 */
|
||
extern vector<ReadNameParser> g_vRnParser; // 每个线程一个read name parser
|
||
extern samFile *g_inBamFp; // 输入的bam文件
|
||
extern sam_hdr_t *g_inBamHeader; // 输入的bam文件头信息
|
||
extern samFile *g_outBamFp; // 输出文件, sam或者bam格式
|
||
extern sam_hdr_t *g_outBamHeader; // 输出文件的header
|
||
|
||
/* 参数对象作为全局对象,免得多次作为参数传入函数中 */
|
||
class GlobalArg;
|
||
extern GlobalArg &g_gArg; // 全局参数
|
||
class MarkDupsArg;
|
||
extern MarkDupsArg &g_mdArg; // markduplicate程序相关的参数
|
||
// 上边加下划线表示所有模块共享,不加下划线表示markduplicate计算时候内部使用
|
||
|
||
class PipelineArg;
|
||
extern PipelineArg &gPipe; // 计算冗余过程中保存在全局的数据
|
||
class DuplicationMetrics;
|
||
extern DuplicationMetrics &gMetrics; // 用来计算统计信息
|
||
|
||
extern int zzhtestnum;
|
||
extern int64_t bam_num1, bam_num2; |