美文网首页
UMI 去重矫正 —— gencore

UMI 去重矫正 —— gencore

作者: 名本无名 | 来源:发表于2020-12-04 18:19 被阅读0次

    介绍

    gencore 能够对双端测序的 NGS 数据进行 read 去重,消除文库制备和测序过程中引入的测序错误。

    gencore 是用 C++ 写的,相比于 Picard 等其他工具,具有更快的速度、更少的内存消耗.

    同时,能够处理包含 唯一标识符 unique molecular identifiers(UMI) 的测序数据。

    原理

    gencore 的原理简单来说就是:

    1. 首先根据每条 read 的染色体 id,起始位置,以及模板长度末端位置进行分组
    2. 然后,在每个分组内,根据 umi 是否相同进行聚类
    3. 在每个类中,双端测序的 read1read2 分开分别进行去重矫正
    4. 去重矫正: 根据碱基出现的频率进行位点矫正,在频率过低时加入了参考基因组对应位置的碱基进行矫正

    安装

    安装使用该软件,需要保证环境中有 htslibzlib 两个库

    1. 通过 conda 安装

    conda install -c bioconda gencore
    

    2. 下载二进制文件

    二进制文件下载地址:http://opengene.org/gencore/gencore

    wget http://opengene.org/gencore/gencore
    chmod a+x ./gencore
    

    :只适用于 Linux 系统,CentOS/Ubuntu

    3. 源码编译

    # step 1: 从 GitHub上下载源码,也可手动下载解压
    git clone https://github.com/OpenGene/gencore.git
    
    # step 2: 编译
    cd gencore
    make
    
    # 安装
    make install
    

    使用

    1. 参数解析

    options:
      -i, --in                   输入的 sorted bam/sam 文件. 
      -o, --out                  输出的 bam/sam 文件. 
      -r, --ref                  参考基因组 fasta 文件 (.fa/.fasta file)
      -b, --bed                  bed 捕获区域文件,默认为空
      -u, --umi_prefix           UMI 序列的前缀
      -s, --supporting_reads     read 支持数,大于该值的 read 才会输出 推荐 1~10, 默认为 1.
      -a, --ratio_threshold      碱基频率阈值,小于该阈值,将通过参考碱基进行矫正,推荐0.5~1.0, 默认为 0.8
      -c, --score_threshold      碱基分数,低于该阈值,将通过参考碱基进行矫正,推荐 1~20, 默认为 6
      -d, --umi_diff_threshold   umi差异阈值,小于阈值内的 umi 认为是相同的, 默认为 2
          --high_qual            高质量分数,默认 30 代表 Q30
          --moderate_qual        中等质量分数,默认 20 代表 Q20
          --low_qual             低质量分数,默认 15 代表 Q15
          --coverage_sampling    采样率,用于覆盖率统计. 默认t 10000 代表 1/10000
      -j, --json                 json 输出报告格式文件名
      -h, --html                 html 输出报告格式文件名
          --debug                输出一些 debug 信息
          --quit_after_contig    设置最大的处理的染色体 id,用于 debug,默认为 0,不做限制
      -?, --help                 打印帮助信息
    

    2. 简单使用

    gencore -i in.sort.bam -o out.bam -r hg19.fa
    

    3. 输出文件

    json

    report.json

    html


    report.html

    UMI 格式

    • 如果 readquery name 是:
    NB551106:8:H5Y57BGX2:1:13304:3538:1404:GAGCATAC
    

    umi 前缀为空

    • 如果是:
    NB551106:8:H5Y57BGX2:1:13304:3538:1404:UMI_GAGCATAC
    

    umi 前缀为 UMI

    注意gencore 对有些 read 去除不干净,需要在 gencore.cpp 中修改第三个循环。

    相关文章

      网友评论

          本文标题:UMI 去重矫正 —— gencore

          本文链接:https://www.haomeiwen.com/subject/ncmiwktx.html