小编eco*_*con的帖子

Snakemake:使用run指令时如何实现log指令?

logSnakemake 允许使用指定日志文件名称的参数为每个规则创建日志。将输出结果通过管道传输到此日志相对简单shell,但我无法找出记录输出输出的方法run(即 python 脚本)。

一种解决方法是将 python 代码保存在脚本中,然后从 shell 运行它,但我想知道是否还有另一种方法?

snakemake

6
推荐指数
1
解决办法
1788
查看次数

JSON字段具有相同的名称

实际上,键必须在JSON对象中是唯一的(例如,JSON语法是否允许对象中的重复键?).但是,假设我有一个包含以下内容的文件:

{
    "a" : "1",
    "b" : "2",
    "a" : "3"
}
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法将重复键转换为数组?这样文件就变成了:

{
    "a" : [ {"key": "1"}, {"key": "3"}],
    "b" : "2"
}
Run Code Online (Sandbox Code Playgroud)

或类似的东西,但它将重复的键组合成一个数组(或查找和替代方法来提取重复的键值).

这是Java中的解决方案:将带有重复键的JSON对象转换为JSON数组

有没有办法用awk/bash/python做到这一点?

json key duplicates on-duplicate-key jq

4
推荐指数
1
解决办法
4184
查看次数

Snakemake:访问字典值的正确语法

这是我正在尝试做的事情的一个例子:

mydictionary={
'apple': 'crunchy fruit',
'banana': 'mushy and yellow'
}

rule all:
    input:
        expand('{key}.txt', key=mydictionary.keys())

rule test:
    output: temp('{f}.txt')
    shell:
        """
        echo {mydictionary[wildcards.f]} > {output}
        cat {output}
        """
Run Code Online (Sandbox Code Playgroud)

由于某种原因,我无法访问字典内容。我尝试使用双大括号,但文本文件的内容变成了文字{mydictionary[wildcards.f]}(而我想要字典中相应条目的内容)。

python snakemake

3
推荐指数
1
解决办法
1521
查看次数

标签 统计

snakemake ×2

duplicates ×1

jq ×1

json ×1

key ×1

on-duplicate-key ×1

python ×1