The goal of this format is to capture information about RNA-seq experiments and their samples, in a way that is readable and writable by both humans and computers. The YAML files should be usable as "experimental design" input for automated data analysis pipelines and for importing RNA-seq results into data management systems. For general information about YAML see e.g. https://en.wikipedia.org/wiki/YAML#Basic_components.
YAML files containing RNA-seq metadata are composed of the following sections:
experiment:
General information about the experiment
materials:
List of sample materials used (e.g. cell lines)
treatments:
List of treatments applied (e.g. compounds)
conditions:
List of conditions (combinations of material and treatments) and corresponding samples
comparisons:
List of comparisons between conditions (e.g. differential gene expression analysis)
extra:
Optional section with additional informationEach entry in the "materials" and "treatments" sections starts with a user-defined label that is then referenced in the "conditions" section. Similarly, each "conditions" entry starts with a user-defined label that is referenced in the "comparisons" section.
See the slide deck in the "doc" folder and the example files in "examples" for more details.
The Python script validate_yaml.py contains a definition of the full schema of the format.
It can be used to validate an input file against the schema (plus additional consistency constraints).
It can also convert the YAML file to JSON, and export sample information to CSV for RNA-seq data analysis.