yaml.dump似乎在第一个键下的第二行中添加了两个破折号

问题描述 投票:0回答:1

我正在使用yaml.dump来为snakemake配置生成yaml文件,但我一直收到错误Config file must be given as JSON or YAML with keys at top level

我认为这可能与从yaml.dump中输出的yaml文件格式不正确有关:

输入:

with open("yaml-config-files/"+args.name+".yaml", "w") as outfile:
    ruamel.yaml.dump(yaml_dict, outfile, default_flow_style=False)

输出:

- samples:
  - - Unmap_54_1.fastq
    - Unmap_51_2.fastq
    - Unmap_55_2.fastq
    - Unmap_50_1.fastq
    - Unmap_16_1.fastq
    - Unmap_13_2.fastq
    - Unmap_17_2.fastq
    - Unmap_12_1.fastq
    - Unmap_31_1.fastq
    - Unmap_34_2.fastq
    - Unmap_30_2.fastq
    - Unmap_35_1.fastq
    - Unmap_06_2.fastq
    - Unmap_03_1.fastq
    - Unmap_07_1.fastq
    - Unmap_02_2.fastq
    - Unmap_28_1.fastq
    - Unmap_21_2.fastq
    - Unmap_24_1.fastq
    - Unmap_25_2.fastq
    - Unmap_44_2.fastq
    - Unmap_41_1.fastq
    - Unmap_40_2.fastq
    - Unmap_02_1.fastq
    - Unmap_07_2.fastq
    - Unmap_03_2.fastq
    - Unmap_06_1.fastq
    - Unmap_25_1.fastq
    - Unmap_24_2.fastq
    - Unmap_21_1.fastq
    - Unmap_28_2.fastq
    - Unmap_40_1.fastq
    - Unmap_41_2.fastq
    - Unmap_44_1.fastq
    - Unmap_50_2.fastq
    - Unmap_55_1.fastq
    - Unmap_51_1.fastq
    - Unmap_54_2.fastq
    - Unmap_12_2.fastq
    - Unmap_17_1.fastq
    - Unmap_13_1.fastq
    - Unmap_16_2.fastq
    - Unmap_35_2.fastq
    - Unmap_30_1.fastq
    - Unmap_34_1.fastq
    - Unmap_31_2.fastq
    - Unmap_27_1.fastq
    - Unmap_22_2.fastq
    - Unmap_26_2.fastq
    - Unmap_23_1.fastq
    - Unmap_05_2.fastq
    - Unmap_01_2.fastq
    - Unmap_04_1.fastq
    - Unmap_09_2.fastq
    - Unmap_08_1.fastq
    - Unmap_42_1.fastq
    - Unmap_47_2.fastq
    - Unmap_43_2.fastq
    - Unmap_46_1.fastq
    - Unmap_52_2.fastq
    - Unmap_57_1.fastq
    - Unmap_53_1.fastq
    - Unmap_56_2.fastq
    - Unmap_37_2.fastq
    - Unmap_36_1.fastq
    - Unmap_33_2.fastq
    - Unmap_19_1.fastq
    - Unmap_18_2.fastq
    - Unmap_10_2.fastq
    - Unmap_15_1.fastq
    - Unmap_11_1.fastq
    - Unmap_14_2.fastq
    - Unmap_56_1.fastq
    - Unmap_53_2.fastq
    - Unmap_57_2.fastq
    - Unmap_52_1.fastq
    - Unmap_33_1.fastq
    - Unmap_36_2.fastq
    - Unmap_37_1.fastq
    - Unmap_14_1.fastq
    - Unmap_11_2.fastq
    - Unmap_15_2.fastq
    - Unmap_10_1.fastq
    - Unmap_18_1.fastq
    - Unmap_19_2.fastq
    - Unmap_23_2.fastq
    - Unmap_26_1.fastq
    - Unmap_22_1.fastq
    - Unmap_27_2.fastq
    - Unmap_08_2.fastq
    - Unmap_09_1.fastq
    - Unmap_04_2.fastq
    - Unmap_01_1.fastq
    - Unmap_05_1.fastq
    - Unmap_46_2.fastq
    - Unmap_43_1.fastq
    - Unmap_47_1.fastq
    - Unmap_42_2.fastq
- path_to_files:
  - /home/lamma/ABR/Each_reads

第二行有一个额外的破折号,有人知道为什么会这样吗,这会导致我看到的错误吗?

编辑:我正在如下填充我的yaml_dict:

yaml_dict = [{'samples' : [[os.path.basename(file) for file in glob.glob(path+"/*."+args.type)]]},
             {'path_to_files' : [path]}]
python yaml snakemake
1个回答
0
投票

我认为第二个破折号可能来自输入数据格式:

这里是一个可能导致输入数据的示例。

© www.soinside.com 2019 - 2024. All rights reserved.