Snakemake报告插件的接口。
项目描述
Snakemake的接口报告插件
本包定义了Snakemake与其报告插件之间的接口。
插件应实现以下框架以符合此接口。建议使用Snakemake的poetry插件在python包中设置此框架(以及自动化测试),请参阅 https://github.com/snakemake/poetry-snakemake-plugin。
from dataclasses import dataclass, field
from snakemake_interface_common.exceptions import WorkflowError
from snakemake_interface_report_plugins.reporter import ReporterBase
from snakemake_interface_report_plugins.settings import ReportSettingsBase
# Optional:
# Define additional settings for your reporter.
# They will occur in the Snakemake CLI as --report-<reporter-name>-<param-name>
# Omit this class if you don't need any.
# Make sure that all defined fields are Optional (or bool) and specify a default value
# of None (or False) or anything else that makes sense in your case.
@dataclass
class ReportSettings(ReportSettingsBase):
myparam: Optional[int] = field(
default=None,
metadata={
"help": "Some help text",
# Optionally request that setting is also available for specification
# via an environment variable. The variable will be named automatically as
# SNAKEMAKE_REPORT_<reporter-name>_<param-name>, all upper case.
# This mechanism should ONLY be used for passwords and usernames.
# For other items, we rather recommend to let people use a profile
# for setting defaults
# (https://snakemake.readthedocs.io/en/stable/executing/cli.html#profiles).
"env_var": False,
# Optionally specify a function that parses the value given by the user.
# This is useful to create complex types from the user input.
"parse_func": ...,
# If a parse_func is specified, you also have to specify an unparse_func
# that converts the parsed value back to a string.
"unparse_func": ...,
# Optionally specify that setting is required when the reporter is in use.
"required": True,
# Optionally specify multiple args with "nargs": True
},
)
# Required:
# Implementation of your reporter
class Reporter(ReporterBase):
def __post_init__(self):
# initialize additional attributes
# Do not overwrite the __init__ method as this is kept in control of the base
# class in order to simplify the update process.
# See https://github.com/snakemake/snakemake-interface-report-plugins/snakemake_interface_report_plugins/reporter.py
# for attributes of the base class.
# In particular, the settings of above ReportSettings class are accessible via
# self.settings.
def render(self):
# Render the report, using attributes of the base class.
...
项目详情
关闭
哈希值 用于 snakemake_interface_report_plugins-1.1.0.tar.gz
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b1ee444b2fca51225cf8a102f8e56633791d01433cd00cf07a1d9713a12313a5 |
|
MD5 | 2dabad74b9994ac736eaba4a04d7c848 |
|
BLAKE2b-256 | 5eaeee9a6c9475e380bb55020dc161ab08698fe85da9e866477bfb333b15a0ed |
关闭
哈希值 用于 snakemake_interface_report_plugins-1.1.0-py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 00749eb3c5c7ce465757d0fc9f04e6c4d3f5af4f463809c34b92c8b5efea0fd5 |
|
MD5 | d576b0b0fb16837bb2fb0a499269a0a4 |
|
BLAKE2b-256 | 3589f5f4e48b72fca04458a2fe4f4b02e10f95fb47772b0d0ea889ac929c3b1e |