在VCF文件中绘制等位基因频率

afplot的Python项目详细描述


Build StatusCoverage Status

afplot

这是一个绘制VCF文件中等位基因频率的工具。

可用的两个主要子命令是:*regions:plot 单个区域或床位文件中的区域(可选带有边距)。* whole-genome:为 基因组。

两个子命令都有三种模式:

  • histogram:这将创建一个具有内核密度图的直方图 等位基因频率。
  • scatter:沿着 区域或染色体。
  • distance:创建理论距离的散点图 等位基因频率,沿区域或染色体。这只会 二倍体生物常染色体的意义。

默认情况下,颜色对应于调用类型(hom_alt/ref/hom_ref)。

可以同时为 whole-genome子命令,在这种情况下,它们可以按标签分组。 当提供多个VCF文件时,绘图将根据 VCF文件。

每个VCF文件只能打印一个样本。

我们目前假设在^{tt8}中有一个AD列$ 字段。此列应包含每个等位基因的深度,其中 先参考等位基因。

所有vcf都应该用tabix索引,并且应该在 头球。

安装

afplot可通过pypi使用:pip install afplot

要求

  • Python3.4+
  • 单击
  • 努比
  • matplotlib
  • 熊猫
  • 肖伯恩
  • 进度条2
  • 皮萨姆
  • PYVCF

使用量

Usage: afplot [OPTIONS] COMMAND [ARGS]...

  Plot allele frequencies in VCF files.

  Two basic modes exist:
    - regions: Plot histogram, scatter or distance plots per
      user-specified region.
    - whole-genome: Plot histogram, scatter or distance plots over the
      entire genome.

Options:
  --help  Show this message and exit.

Commands:
  regions       Region plots
  whole-genome  Whole-genome plots

示例

单个区域上的单个VCF

  • afplot regions histogram -v my.vcf.gz -o output_dir -Rchr1:100-200

床上文件中的单个VCF

  • afplot regions histogram -v my.vcf.gz -o output_dir -L regions.bed

单个VCF全基因组
  • afplot whole-genome histogram -v my.vcf.gz -l my_label -s my_sample -o mysample.histogram.png

多个VCF全基因组
  • afplot whole-genome histogram -v my1.vcf.gz -l my_label1 -s my_sample1 -v my2.vcf.gz -l my_label2 -s my_sample2 -o both_samples.histogram.png

可以通过提供相同的标签来对样本进行分组 样品。例如

  • afplot whole-genome histogram -v 1.vcf.gz -v 2.vcf.gz -v 3.vcf.gz -v 4.vcf.gz -l group1 -l group1 -l group2 -l group2 [...]

不包括全基因组上的contigs

在某些情况下,您可能不想绘制所有contig。例如, 当VCF头包含许多未放置的小控件时。这可能是 通过向-e标志提供regex模式来实现。例如, 所有包含“gl”的contig都可以通过执行以下操作过滤掉:

  • afplot whole-genome[...]-e'.*gl.*'

变更日志

0.2

整个命令行接口已更改为使用click,而不是 常规argparse的。这允许更复杂的cli。而不是 绘图模式的标志,afplot现在使用子命令。

当cli发生更改时,afplot的内部 经过重构,旧式(0.1版)api现在仍然保留。 这在将来可能会被弃用。

添加了对打印区域的支持。区域打印输出 目录,而不是单个文件。

许可证

麻省理工学院

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

推荐PyPI第三方库


热门话题
NetBeans中的Java Swing滚动窗格   java如何与具有复合键的表建立关系?   Android中读取文件时java数据丢失   java黄瓜场景。embed在ubuntu机器上不工作?   java从spring mvc控制器操作中,我如何获得请求/响应的访问权限?   java减去两个长值   java选择下一个值firebase 安卓   用于起始和结尾连字符的java正则表达式   Java正则表达式解释   java Lifefay freemarker ADT:方法不可用?   java我怎样才能让我的开关盒作用于JFrame?   java在我的场景中使用连接池的理想方式是什么   java我如何接受jsoup的cookies?   java如何将整数数组更改为字符串数组?   java Android操作\u指针\u向上直到剩余触摸移动时才调用   java为什么gradle会出错?   io如何在java中复制/拆分输入流?   java使JButton不可见,但尊重其原始空间   java Spring提交表单获取复选框值不起作用