天然气数据管道工具

seq-pigeon的Python项目详细描述


鸽子

简介

用于管道化多个cli工具的输入和输出的工具。 鸽子只接受一个配置文件作为输入。运行管道所需的所有内容都在配置文件中指定。配置文件是根据python configparser指定的。

快速安装

Linux和Mac

sudo pip3 install --index-url https://test.pypi.org/simple/ pigeon

窗口

pip install --index-url https://test.pypi.org/simple/ pigeon

天然气资源

没有一个工具或数据文件是由鸽子补充,所以他们需要下载。 例如配置文件、exome排序管道,

如何使用

为自己创建一个配置文件

pigeon createconfig

为您的分析修改。(见下文。)

pigeon -c my_config.conf -d

如果一切看起来都很好,那就真的跑吧。

pigeon -c my_config.conf

配置文件

配置文件由三部分组成。

  • 一般
  • 管道
  • 单个工具块

一般

用于定义项目名称、输出目录、输入文件和资源文件(如参考基因组或目标文件)的区域。以下变量是运行所必需的。

必需:

  • 项目名称:项目的名称

  • output_dir:写入输出文件的位置

  • 输入文件:用于分析的输入文件,用空格分隔,成对的文件应相邻。例如

    input_files = A.txt B.txt C.txt

    或成对的

    input_files = A1.txt A2.txt B1.txt B2.txt C1.txt C2.txt

可选变量也可以在这里清除。基于您或工具的需求。稍后,可以使用${general:optional_variable}在配置文件中调用这些变量。

可选(示例):

reference_genome = /path/to/my/reference_genome.fa

bed_file = /path/to/my/target.bed

known_snp = /path/to/my/snp.vcf

my_database = /path/to/my/favorite.db

管道

这个区域应该包含到shell可以理解的工具的路径。以及工具的运行顺序。例如

pipeline = job1 job2 job3

A = path/to/A

B = path/to/B

C = path/to/C

工具块

块的名称应与pipeline中的名称相同。继续上面的例子;

[job1]

[job2]

[job3]

可在这些块中使用的参数如下:

运行参数

  • 工具:来自管道块的工具变量。例如

    tool = ${PIPELINE:A}

  • sub_tool:如果tool有类似“bwa mem”的子工具。例如

    sub_tool = mem

  • args:工具的参数

  • java:如果工具是一个jar文件,在它前面添加java-jar。

  • 传球:如果是真的,它就跑不了街区。但这个街区仍然是管道的一部分。此选项有助于恢复中断的管道。

输入参数
  • input_from:输出的块的名称就是这个作业的输入。输入的第一个作业应该是输入文件。

  • input_multi:可以是“paired”或“all”。paired选项将输入文件流分成两组。所有选项使用所有输入文件。

  • input_flag_repeat:如果工具需要每个输入的输入标志,此命令将在每个输入之前添加给定标志。

  • 次要的占位符

输出参数
  • 后缀:向输出文件名添加后缀

  • ext:输出的文件扩展名

  • dump_dir:创建一个目录并在其中输出。

  • 配对输出:此选项将配对工具的输入和输出。

  • 辅助输出占位符

  • 次要后缀

  • 副外景

  • 二级转储目录

占位符

这些是可以在args中使用的开玩笑的词。

  • 输入占位符

  • 辅助输入占位符

  • 输出占位符

  • 辅助输出占位符

示例配置

[[GENERAL]]
project_name = my_project
output_dir = /path/to/output_directory
input_files = A.txt B.txt C.txt
my_db = /path/to/my.db

[[PIPELINE]]
pipeline = job1 job2 job3
A = /path/to/A
B = /path/to/B
C = /path/to/C

[job1]
tool = A
input_from = input_files
args = -i input_placeholder -o output_placeholder
suffix = job1_A
ext = txt

[job2]
tool = B
input_from = job1
args = -i input_placeholder -o output_placeholder
suffix = job2_B
ext = txt

[job3]
tool = C
input_from = job2
args = -i input_placeholder -o output_placeholder
suffix = job3_C
ext = txt

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

推荐PyPI第三方库


热门话题
java如何克服带有空值的不可空bean级验证   “此行有多个标记”的authenticateUser上的java MySQLConnection错误   java处理Jackson异常   java Netbeans编辑器如何知道文件在撤消后不会被修改?   目标C相当于Java的ArrayList   java当需要int时,可以将short传递给方法调用吗?   drawString()方法上的java MouseListener   java服务器socket是执行此操作的最佳选项   java需要单个匹配bean,但找到了2:org。springframework。网状物servlet。mvc。方法注释。RequestMappingHandlerMapping   如何在Java中执行Windows命令?   安卓应用程序的java文件主机   java将所有spring引导属性都设置在内。将yml文件转换为系统属性   Java邮件中的html内联链接在邮件客户端中不起作用   Java二进制文件的bazel版本控制   java如何在自定义ListView中使用Intent   java(Spring MVC+Hibernate 4+Test 4)自动连线DAO返回NULL   java一次add()调用可以在Solr服务器中索引多少文档?   java如何获取Avro GenericRecord大小