#pragma once #include #include #include #include #include #include //#include "md_types.h" #include using std::set; extern Timer tm_arr[50]; // 用来测试性能 /* 全局本地变量 */ extern vector 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;