Skip to content
Snippets Groups Projects
Commit 0a3fd9c8 authored by Benjamin Wingfield's avatar Benjamin Wingfield
Browse files

add local schema

parent 7c2c8f3b
No related branches found
No related tags found
No related merge requests found
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "IGS4EU trigger pgsc_calc",
"type": "object",
"properties": {
"pipeline_param": {
"type": "object",
"properties": {
"nxf_params_file": {
"$ref": "nxf_params.json"
},
"target_genomes": {
"$ref": "samplesheet.json"
},
"nxf_work": {
"type": "string",
"description": "A path to the nextflow working directory in the ReadWriteMany Persistent Volume Claim shared by the driver and worker pods. Must be a unique path in the PVC not shared by other workflow instances, or weird things will happen."
},
"id": {
"type": "string",
"description": "An identifier assigned to the launched workflow instance. It should be universally unique to monitor the status of the launched workflow."
}
},
"required": [
"target_genomes",
"nxf_params_file",
"nxf_work",
"id"
]
},
"globus_details": {
"type": "object",
"properties": {
"dir_path_on_guest_collection": {
"type": "string",
"description": "A globus endpoint ID. Files are transferred from this destination to local storage."
},
"guest_collection_id": {
"type": "string",
"description": "A globus collection ID",
"format": "uuid"
}
},
"required": [
"dir_path_on_guest_collection",
"guest_collection_id"
]
}
},
"required": [
"pipeline_param",
"globus_details"
]
}
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "https://raw.githubusercontent.com/pgscatalog/pgsc_calc/dev/assets/schemas/nxf_params.json",
"title": "Nextflow JSON parameters for pgsc_calc",
"type": "object",
"properties": {
"scorefile": {
"type": "string",
"description": "Path to a scoring file"
},
"pgs_id": {
"type": "string",
"description": "PGS Catalog score ID(s), if a list separate with commas",
"pattern": "(PGS[0-9]{6}[,]?)+"
},
"pgp_id": {
"type": "string",
"description": "PGS Catalog publication ID(s), if a list separate with commas",
"pattern": "(PGP[0-9]{6}[,]?)+"
},
"trait_efo": {
"type": "string",
"description": "PGS Catalog trait ID(s), if a list separate with commas"
},
"min_overlap": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1,
"description": "Minimum proportion of variants in target genomic data matched in the provided scorefile"
},
"max_memory": {
"type": "string",
"description": "The maximum memory used by a workflow process (worker pod limit). String uses nextflow format e.g. '4.GB'"
},
"max_cpus": {
"type": "integer",
"description": "The maximum number of CPUs used by workflow process (worker pod limit).",
"minimum": 1
},
"outdir": {
"type": "string",
"description": "Path to an output directory"
},
"target_build": {
"type": "string",
"enum": [
"GRCh37",
"GRCh38"
],
"description": "Genome build of target (i.e. input) genomes"
}
},
"required": [
"target_build"
],
"oneOf": [
{
"required": [
"scorefile"
]
},
{
"required": [
"pgs_id"
]
},
{
"required": [
"pgp_id"
]
},
{
"required": [
"trait_efo"
]
}
]
}
\ No newline at end of file
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "https://raw.githubusercontent.com/pgscatalog/pgsc_calc/dev/assets/schemas/samplesheet.json",
"title": "Target genome schema",
"description": "Validates the JSON representation of a samplesheet",
"type": "array",
"uniqueItems": true,
"minItems": 1,
"items": {
"type": "object",
"properties": {
"sampleset": {
"type": "string",
"pattern": "^\\S+$",
"description": "Sampleset name must be provided and cannot contain spaces"
},
"vcf_path": {
"type": [
"string",
"null"
],
"pattern": "^\\S+\\.vcf\\.gz$",
"description": "VCF path must end with .vcf.gz, mutually exclusive with other formats",
"type": [
"null",
"string"
],
"pattern": "^\\S+\\.vcf\\.gz$",
"minLength": 5
},
"vcf_genotype_field": {
"description": "Specify whether to import genotypes (default: GT), or imputed dosages (DS) from the VCF file.",
"type": [
"string",
"null"
],
"pattern": "/^(GT|DS)$/"
},
"bed": {
"description": "Plink 1 binary genotype file",
"type": [
"string",
"null"
],
"pattern": "^.*bed$",
"minLength": 5
},
"bim": {
"description": "Plink 1 variant information file",
"type": [
"string",
"null"
],
"pattern": "^.*bim$",
"minLength": 5
},
"fam": {
"description": "Plink 1 sample information file",
"type": [
"string",
"null"
],
"pattern": "^.*fam$",
"minLength": 5
},
"pgen": {
"description": "Plink 2 binary genotype file",
"type": [
"string",
"null"
],
"pattern": "^.*pgen$",
"minLength": 6
},
"psam": {
"description": "Plink 2 sample information file",
"type": [
"string",
"null"
],
"pattern": "^.*psam$",
"minLength": 6
},
"pvar": {
"description": "Plink 2 variant information file",
"type": [
"string",
"null"
],
"pattern": "^.*pvar$",
"minLength": 6
},
"chrom": {
"description": "Specify the chromosome of associated genotyping data (must be in {1-22, X, XY, Y}). If all chromosomes are in the associated file (e.g. your data is not split by chromosome), set to null.",
"type": [
"null",
"string"
],
"minLength": 1
}
},
"required": [
"sampleset",
"chrom"
],
"dependentRequired": {
"pgen": [
"pvar",
"psam"
],
"pvar": [
"pgen",
"psam"
],
"psam": [
"pvar",
"pgen"
],
"bed": [
"bim",
"fam"
],
"bim": [
"fam",
"bed"
]
}
}
}
\ No newline at end of file
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment