跳转到主要内容

生物信息学工具输出转换为JSON或YAML

项目描述

猩红

pypi ci coverage

猩红将非标准生物信息学工具输出转换为JSON或YAML。

目前它可以转换以下工具的输出

对于每种转换,有两种执行选项:作为命令行工具或作为Python库函数。第一种选择使用crimson作为命令行工具。第二种选择需要在您的程序中导入crimson库。

安装

猩红可在Python包索引上找到,您可以通过pip进行安装

$ pip install crimson

它也可在BioConda上找到,既可通过conda包管理器,也可作为Docker容器

对于Docker执行,您还可以使用GitHub Docker仓库。此仓库托管最新版本,但不托管1.1.0或更早版本。

docker pull ghcr.io/bow/crimson

使用方法

作为命令行工具

通用命令是crimson {tool_name}。默认情况下,输出写入stdout。例如,要使用picard解析器,您将执行

$ crimson picard /path/to/a/picard.metrics

您还可以通过指定文件名将输出写入文件。以下命令将输出写入名为converted.json的文件

$ crimson picard /path/to/a/picard.metrics converted.json

一些解析器可能接受额外的输入格式。例如,FastQC解析器也接受FastQC输出目录的路径作为其输入

$ crimson fastqc /path/to/a/fastqc/dir

它还接受压缩结果的路径

$ crimson fastqc /path/to/a/fastqc_result.zip

如有疑问,请使用--help标志

$ crimson --help            # for the general help
$ crimson fastqc --help     # for the parser-specific help, in this case FastQC

作为Python库函数

要导入的具体函数通常位于crimson.{tool_name}.parser。因此,要在您的程序中使用picard解析器,您可以这样做

from crimson import picard

# You can specify the input file name as a string or path-like object...
parsed = picard.parse("/path/to/a/picard.metrics")

# ... or a file handle
with open("/path/to/a/picard.metrics") as src:
    parsed = picard.parse(src)

为什么?

  • 使用标准输出格式的工具不够。
  • 在不同的脚本中编写和重写相同的解析器并不是度过一天的好方法。

本地开发

设置本地开发需要您设置所有支持的Python版本。我们使用pyenv来完成此操作。

# Clone the repository and cd into it.
$ git clone https://github.com/bow/crimson
$ cd crimson

# Create your local development environment. This command also installs
# all supported Python versions using `pyenv`.
$ make env

# Run the test and linter suite to verify the setup.
$ make lint test

# When in doubt, just run `make` without any arguments.
$ make

贡献

如果您感兴趣,Crimson接受以下类型的贡献

  • 文档更新/调整(如果任何内容似乎不清楚,请随意打开一个问题)
  • 错误报告
  • 支持可以将输出转换为JSON或YAML的工具

对于这些中的任何一个,您都可以在问题跟踪器中打开问题或提交拉取请求。

许可

Crimson是BSD许可。有关完整许可证,请参阅LICENSE文件。

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

crimson-1.1.1.tar.gz (20.1 kB 查看哈希)

上传时间

构建分布

crimson-1.1.1-py3-none-any.whl (23.0 kB 查看哈希)

上传时间 Python 3

支持