Skip to content

format_parameters

lijiaping edited this page Apr 25, 2019 · 1 revision

parameters.conf

该文件定义了每个项目的具体信息,包括样品信息,每个App的参数、输入输出等。

Samples

所有与样品相关的信息

Samples: # 样品列表
- sample_name: NB_A # 样品名
  data: # 数据列表
    - fq1: /home/lijiaping/BCS/samples/NB_A_1.fq # 第一组数据的fq1,会自动填入App中input为fq1的位置。
      fq2: /home/lijiaping/BCS/samples/NB_A_2.fq
      seq_type: Hiseq # 关于该组数据的其他信息,可用于处理不同类型的数据。
- sample_name: NB_B
  data:
    - fq1: /home/lijiaping/BCS/samples/NB_B_1.fq
      fq2: /home/lijiaping/BCS/samples/NB_B_2.fq
      seq_type: Hiseq
...

Groups

分组信息。

Groups:
  NA: [NB_A, NB_B] # 样品NB_A, NB_B为NA组
  S: [NB_S1, NB_S2]
  HBRR: [HBRR1, HBRR2, HBRR3]
  UHRR: [UHRR1, UHRR2, UHRR3]

CommonParameters

App中共用的参数,省去单独设置每个App的苦劳。每个App中的设置可以覆盖此处的值。

CommonParameters:
  APP_PATH: /users/liumingyue/pipeline/Macro_RNA/Macro_RNA_v1.0/ # App所在路径,若使用Docker,可以没有
  DEBUG: 'YES'
  BENCHMARK: 'NO' # 是否记录资源消耗日志
  ENV_PATH: /data/local/ # 环境路径,若使用Docker,可以没有
  ON_GENEDOCK: 'NO' # 可用于判断生成适配什么环境的代码
  SOFT_PATH: /data/software/ # 软件路径,若使用Docker,可以没有
  WORKSPACE: /home/lijiaping/snap_test/result/ # 项目输出路径
  NGS: 'YES'    #### Next Generation Sequencing, YES/NO
  Logo: 'YES' #### Report add logo, YES/NO
  project_description: '宏转录组测试报告'
  ContractID: BYHKTW00320170-test # 项目编号
  ContactEmail: [email protected] 
...

CommonData

App中共用的输入数据,通常为数据库文件路径。省去设置单个App的麻烦,每个App中的设置可以覆盖此处的值。

CommonData:
  diamond_index: /users/liumingyue/pipeline/Macro_RNA/Macro_RNA_v1.0/example/result/process/Annotation/nr/index/nr.dmnd
  go_obo: /data/database/pub/go/RNA/20160303/gene_ontology.1_2.obo
  goclass: oss://igenecode-bcs/database/pub/go/RNA/20160303/go.class # 可以直接使用阿里云上已存在的资源

App参数或输入文件设置

App的参数或输入文件配置。可以使用阿里上已存在的文件。分组等需要多个脚本并行跑的推荐使用列表形式的参数。如果只写出部分App,则只会执行列出的App。

Filter_rRNA: # 模块名,与dependencies里面一致
  RMrRNA_SOAP2: # App名,可以为alias App名
    soap_args: '-m 0 -x 1000 -s 40 -l 32 -v 5 -r 2 -p 3' # App参数
    rRNA_index: /users/liumingyue/database/Macro_rRNA/Fungi_rRNA/Fungi_rRNA.fa.index # App输入文件
  RMrRNA_Statistic: null # 若无需设置,写null。若不写,则该App不会被执行
ClusterDiff:
  DiffCluster_Pheatmap:
    DiffHierClust_Plan: # 分组、比较方案等,建议用列表形式更清晰。列表形式的参数会自动拆分成对应个数的脚本执行。一个App中如果有多个列表,必须保证列表长度一致,且一一对应。
    - 'PossionDis:NB_A&NB_B'
    - 'PossionDis:NB_S1&NB_S2'
GeneDiffExp:
  DiffExp_Venn:
    Venn_Plan:
       - [~UHRR1|HBRR1@PossionDis, ~UHRR2|HBRR2@PossionDis, ~UHRR3|HBRR3@PossionDis] # 内部会转成{'case': 'UHRR1', 'control': 'HBRR1', 'method': 'PossionDis'}
       - [~UHRR1|HBRR1@PossionDis, ~UHRR2|HBRR2@PossionDis]
       - [~UHRR|HBRR@DESeq2, ~UHRR|HBRR@NOISeq]
  heatmap:
    group_info:
      - ~NB_A;NB_B;NB_S1;NB_S2 # 内部会转成{'elements': ['NB_A', 'NB_B', 'NB_S1', 'NB_S2']}
Annotation:
  Split_fa:
    shell_num: 1..10 # 生成1到10的序列列表

引用

支持引用外部文件或内部已定义过的任意内容,以达到简化parameter.conf文件的效果。

外部文件

将外部指定yaml文件插入作为parameter.conf的一部分。

Samples: !include samples.yaml

内部引用

引用内部已经定义过的内容,实现一次定义多次使用。默认以.分隔key。

CommonParameters:
  ContactEmail: [email protected]
OSS:
  upload:
    Email: !refer CommonParameters.ContactEmail

辅助脚本

置于Miscellaneous模块下的App不会被纳入流程的一部分,而是作为需要手动执行的辅助脚本存在。

Miscellaneous: # 该模块下的App只生成脚本,不会被纳入依赖关系中。
  OSS_upload: null
Clone this wiki locally