granite是一个软件集合,可以调用、过滤和处理基因组变体

granite-suite的Python项目详细描述


花岗岩

Python 3.6

granite是一个用于处理基因组变异的软件集合。该套件提供继承模式调用者和实用程序,以过滤和优化由VCF格式的其他方法调用的变量。在

有关详细信息,请参见granitedocumentation。在

可用性和要求

可以下载现成的docker映像。在

docker pull b3rse/granite:v0.1.2

要在本地运行,请安装以下库:

^{pr2}$

环境中需要提供其他软件:

要从源代码安装程序,请运行以下命令:

git clone https://github.com/dbmi-bgm/granite
cd granite
python setup.py install

要使用pip安装程序:

pip install granite-suite

文件格式

该程序兼容标准BED、BAM和VCF格式(VCFv4.x)。在

ReadCountKeeper(.rck)

RCK是一种表格格式,允许有效地按链(正向-反向)存储计数,以支持参考等位基因、交替等位基因、染色体和位置的插入或删除。RCK文件可以用bgzip进一步压缩,并用tabix索引,以实现存储、可移植性和更快的随机访问。以1为基础。在

表格格式结构:

#CHR   POS   COVERAGE   REF_FW   REF_RV   ALT_FW   ALT_RV   INS_FW   INS_RV   DEL_FW   DEL_REV
13     1     23         0        0        11       12       0        0        0        0
13     2     35         18       15       1        1        0        0        0        0

压缩和索引文件的命令:

bgzip PATH/TO/FILE
tabix -b 2 -s 1 -e 0 -c "#" PATH/TO/FILE.gz

二元基因组(.big)

BIG是一种基于hdf5的二进制格式,它将每个基因组位置的布尔值存储为位数组。每个位置用三个互补阵列表示,分别说明snv(单核苷酸变体)、插入和缺失。以1为基础。在

hdf5格式结构:

e.g.
chr1_snv: array(bool)
chr1_ins: array(bool)
chr1_del: array(bool)
chr2_snv: array(bool)
...
...
chrM_del: array(bool)

note:hdf5键是基于引用(例如chr1)加上指定数组是表示snv(_snv)、插入(_ins)还是删除(_del)的后缀作为染色体名。在

JSON格式的系谱

当程序需要系谱信息时,预期格式如下:

[
  {
    "individual": "NA12877",
    "sample_name": "NA12877_sample",
    "gender": "M",
    "parents": []
  },
  {
    "individual": "NA12878",
    "sample_name": "NA12878_sample",
    "gender": "F",
    "parents": []
  },
  {
    "individual": "NA12879",
    "sample_name": "NA12879_sample",
    "gender": "F",
    "parents": ["NA12878", "NA12877"]
  }
]

其中individual是系谱内成员的唯一标识符,sample_name是VCF文件中相应的示例ID,parents是成员父级的唯一标识符列表(如果有)。在

使用

    granite <command> ...

    positional arguments:
      <command>
        novoCaller   Bayesian de novo variant caller
        comHet       compound heterozygous variant caller
        mpileupCounts
                     samtools wrapper to calculate reads statistics for pileup at
                     each position
        blackList    utility to blacklist and filter out variants from input VCF
                     file based on positions set in BIG format file and/or
                     population allele frequency
        whiteList    utility to whitelist and select a subset of variants from
                     input VCF file based on specified annotations and positions
        cleanVCF     utility to clean INFO field of input VCF file
        toBig        utility that converts counts from bgzip and tabix indexed RCK
                     format into BIG format. Positions are "called" by reads
                     counts or allelic balance for single or multiple files (joint
                     calls) in specified regions
        rckTar       utility to create a tar archive from bgzip and tabix indexed
                     RCK files. Create an index file for the archive
        qcVCF        utility to create a report of different metrics calculated
                     for input VCF file
        validateVCF  utility to calculate error models for input VCF file using
                     pedigree information

novoCaller

novoCaller是一种针对de novo突变的贝叶斯调用算法。该模型利用系谱(trio)和不相关样本中的读取级别信息对每个呼叫进行排序和分配概率。该软件代表了Mohanty et al. 2019中描述的原始算法的更新和改进的实现。在

comHet

comHet是一种针对复合杂合子突变的调用算法。该模型利用家系(trio)中的基因型水平信息和基于VEP的注释来调用可能的复合杂合子对。VEP注释用于为基因和转录本分配变体,基因型信息允许根据遗传模式优化调用。呼叫被进一步标记为“阶段性”或“非阶段性”,其中“阶段性”意味着基因型信息支持来自父母的交替等位基因的反式遗传。在

黑名单

黑名单允许根据大格式文件中设置的位置和/或提供的群体等位基因频率从输入的VCF文件中过滤出变体。在

白名单

白名单允许根据指定的注释和位置从输入的VCF文件中选择和过滤变量的子集。该软件可以使用提供的VEP、CLINVAR或拼接AI注释。位置也可以指定为床格式文件。在

清洁VCF

cleanVCF允许清除输入VCF文件的信息字段。该软件可以从INFO字段中删除标记列表,也可以用于清除VEP注释。在

qcVCF

qcVCF生成JSON格式的报告,其中包含为输入VCF文件计算的不同质量指标。单样本和基于家族的指标都可用。在

MPILEUP计数

mpi公司leupCounts使用samtools访问输入BAM,并计算指定区域中每个位置的读取堆积的统计信息,以RCK格式返回计数。在

托比

toBig将bgzip和tabix索引RCK格式的计数转换为大格式。位置由指定区域中单个或多个文件(联合调用)的读取计数或等位平衡“调用”。在大二进制结构中,“called”的位置设置为True(或1)。在

rckTar

rckTar从bgzip和tabix索引的RCK文件创建tar存档。为存档创建索引文件。在

验证CFF

validateVCF允许使用系谱信息为输入VCF文件计算不同继承模式的错误模型。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么用Jsoup解析后内容不一样   java save方法无法使用Hibernate+Spring保存对象   java如何从JaxWs WebMethod发送Http状态为202的空响应   Java BuffereImage“块”模糊问题   java中的模板CAL集   java MyBatis deleteinsertupdate在一个查询中   在执行下一个方法之前,java将等待线程执行结束   java JTextField无法保存enter字符   java回滚撤消重做   java解析异常的最佳实践。toString()来执行一些逻辑   在Java中完成类的精确副本的构造函数的单元测试   java我无法从LinkedList类调用客户端中的方法   java启动RxJava2可观察。没有初始延迟的间隔()?   添加更多参数时java Mybatis插入失败