picard_cpp/src/sam/markdups/shared_args.h

35 lines
1.2 KiB
C
Raw Normal View History

#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>
2024-11-11 18:10:17 +08:00
//#include "md_types.h"
2024-08-28 12:00:23 +08:00
#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;
2024-11-11 18:10:17 +08:00
extern GlobalArg &g_gArg; // 全局参数
class MarkDupsArg;
2024-11-11 18:10:17 +08:00
extern MarkDupsArg &g_mdArg; // markduplicate程序相关的参数
// 上边加下划线表示所有模块共享不加下划线表示markduplicate计算时候内部使用
2024-11-26 23:51:16 +08:00
class PipelineArg;
extern PipelineArg &gPipe; // 计算冗余过程中保存在全局的数据
class DuplicationMetrics;
2024-11-11 18:10:17 +08:00
extern DuplicationMetrics &gMetrics; // 用来计算统计信息
2024-08-28 12:00:23 +08:00
extern int zzhtestnum;
2024-11-11 18:10:17 +08:00
extern int64_t bam_num1, bam_num2;