{
 "kind": "discovery#restDescription",
 "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/r3Yw5MfzaLpocptE3LE-pmOG6uY\"",
 "discoveryVersion": "v1",
 "id": "genomics:v1beta2",
 "name": "genomics",
 "version": "v1beta2",
 "revision": "20150812",
 "title": "Genomics API",
 "description": "Provides access to Genomics data.",
 "ownerDomain": "google.com",
 "ownerName": "Google",
 "icons": {
  "x16": "http://www.google.com/images/icons/product/search-16.gif",
  "x32": "http://www.google.com/images/icons/product/search-32.gif"
 },
 "documentationLink": "https://developers.google.com/genomics/v1beta2/reference",
 "protocol": "rest",
 "baseUrl": "https://www.googleapis.com/genomics/v1beta2/",
 "basePath": "/genomics/v1beta2/",
 "rootUrl": "https://www.googleapis.com/",
 "servicePath": "genomics/v1beta2/",
 "batchPath": "batch",
 "parameters": {
  "alt": {
   "type": "string",
   "description": "Data format for the response.",
   "default": "json",
   "enum": [
    "json"
   ],
   "enumDescriptions": [
    "Responses with Content-Type of application/json"
   ],
   "location": "query"
  },
  "fields": {
   "type": "string",
   "description": "Selector specifying which fields to include in a partial response.",
   "location": "query"
  },
  "key": {
   "type": "string",
   "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
   "location": "query"
  },
  "oauth_token": {
   "type": "string",
   "description": "OAuth 2.0 token for the current user.",
   "location": "query"
  },
  "prettyPrint": {
   "type": "boolean",
   "description": "Returns response with indentations and line breaks.",
   "default": "true",
   "location": "query"
  },
  "quotaUser": {
   "type": "string",
   "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. Overrides userIp if both are provided.",
   "location": "query"
  },
  "userIp": {
   "type": "string",
   "description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.",
   "location": "query"
  }
 },
 "auth": {
  "oauth2": {
   "scopes": {
    "https://www.googleapis.com/auth/bigquery": {
     "description": "View and manage your data in Google BigQuery"
    },
    "https://www.googleapis.com/auth/cloud-platform": {
     "description": "View and manage your data across Google Cloud Platform services"
    },
    "https://www.googleapis.com/auth/devstorage.read_write": {
     "description": "Manage your data in Google Cloud Storage"
    },
    "https://www.googleapis.com/auth/genomics": {
     "description": "View and manage Genomics data"
    },
    "https://www.googleapis.com/auth/genomics.readonly": {
     "description": "View Genomics data"
    }
   }
  }
 },
 "schemas": {
  "AlignReadGroupSetsRequest": {
   "id": "AlignReadGroupSetsRequest",
   "type": "object",
   "description": "The read group set align request.",
   "properties": {
    "bamSourceUris": {
     "type": "array",
     "description": "The BAM source files for alignment. Exactly one of readGroupSetId, bamSourceUris, interleavedFastqSource or pairedFastqSource must be provided. The caller must have READ permissions for these files.",
     "items": {
      "type": "string"
     }
    },
    "datasetId": {
     "type": "string",
     "description": "Required. The ID of the dataset the newly aligned read group sets will belong to. The caller must have WRITE permissions to this dataset."
    },
    "interleavedFastqSource": {
     "$ref": "InterleavedFastqSource",
     "description": "The interleaved FASTQ source files for alignment, where both members of each pair of reads are found on consecutive records within the same FASTQ file. Exactly one of readGroupSetId, bamSourceUris, interleavedFastqSource or pairedFastqSource must be provided."
    },
    "pairedFastqSource": {
     "$ref": "PairedFastqSource",
     "description": "The paired end FASTQ source files for alignment, where each member of a pair of reads are found in separate files. Exactly one of readGroupSetId, bamSourceUris, interleavedFastqSource or pairedFastqSource must be provided."
    },
    "readGroupSetId": {
     "type": "string",
     "description": "The ID of the read group set which will be aligned. A new read group set will be generated to hold the aligned data, the originals will not be modified. The caller must have READ permissions for this read group set. Exactly one of readGroupSetId, bamSourceUris, interleavedFastqSource or pairedFastqSource must be provided."
    }
   }
  },
  "AlignReadGroupSetsResponse": {
   "id": "AlignReadGroupSetsResponse",
   "type": "object",
   "description": "The read group set align response.",
   "properties": {
    "jobId": {
     "type": "string",
     "description": "A job ID that can be used to get status information."
    }
   }
  },
  "Annotation": {
   "id": "Annotation",
   "type": "object",
   "description": "An annotation describes a region of reference genome. The value of an annotation may be one of several canonical types, supplemented by arbitrary info tags. A variant annotation is represented by one or more of these canonical types. An annotation is not inherently associated with a specific sample or individual (though a client could choose to use annotations in this way). Example canonical annotation types are 'Gene' and 'Variant'.",
   "properties": {
    "annotationSetId": {
     "type": "string",
     "description": "The ID of the containing annotation set."
    },
    "id": {
     "type": "string",
     "description": "The generated unique ID for this annotation."
    },
    "info": {
     "type": "object",
     "description": "A string which maps to an array of values.",
     "additionalProperties": {
      "type": "array",
      "description": "A string which maps to an array of values.",
      "items": {
       "type": "string"
      }
     }
    },
    "name": {
     "type": "string",
     "description": "The display name of this annotation."
    },
    "position": {
     "$ref": "RangePosition",
     "description": "The position of this annotation on the reference sequence."
    },
    "transcript": {
     "$ref": "Transcript",
     "description": "A transcript value represents the assertion that a particular region of the reference genome may be transcribed as RNA. An alternative splicing pattern would be represented as a separate transcript object. This field is only set for annotations of type TRANSCRIPT."
    },
    "type": {
     "type": "string",
     "description": "The data type for this annotation. Must match the containing annotation set's type.",
     "enum": [
      "GENE",
      "GENERIC",
      "TRANSCRIPT",
      "VARIANT"
     ],
     "enumDescriptions": [
      "",
      "",
      "",
      ""
     ]
    },
    "variant": {
     "$ref": "VariantAnnotation",
     "description": "A variant annotation, which describes the effect of a variant on the genome, the coding sequence, and/or higher level consequences at the organism level e.g. pathogenicity. This field is only set for annotations of type VARIANT."
    }
   }
  },
  "AnnotationSet": {
   "id": "AnnotationSet",
   "type": "object",
   "description": "An annotation set is a logical grouping of annotations that share consistent type information and provenance. Examples of annotation sets include 'all genes from refseq', and 'all variant annotations from ClinVar'.",
   "properties": {
    "datasetId": {
     "type": "string",
     "description": "The ID of the containing dataset."
    },
    "id": {
     "type": "string",
     "description": "The generated unique ID for this annotation set."
    },
    "info": {
     "type": "object",
     "description": "A string which maps to an array of values.",
     "additionalProperties": {
      "type": "array",
      "description": "A string which maps to an array of values.",
      "items": {
       "type": "string"
      }
     }
    },
    "name": {
     "type": "string",
     "description": "The display name for this annotation set."
    },
    "referenceSetId": {
     "type": "string",
     "description": "The ID of the reference set that defines the coordinate space for this set's annotations."
    },
    "sourceUri": {
     "type": "string",
     "description": "The source URI describing the file from which this annotation set was generated, if any."
    },
    "type": {
     "type": "string",
     "description": "The type of annotations contained within this set.",
     "enum": [
      "GENE",
      "GENERIC",
      "TRANSCRIPT",
      "VARIANT"
     ],
     "enumDescriptions": [
      "",
      "",
      "",
      ""
     ]
    }
   }
  },
  "BatchAnnotationsResponse": {
   "id": "BatchAnnotationsResponse",
   "type": "object",
   "properties": {
    "entries": {
     "type": "array",
     "description": "The resulting per-annotation entries, ordered consistently with the original request.",
     "items": {
      "$ref": "BatchAnnotationsResponseEntry"
     }
    }
   }
  },
  "BatchAnnotationsResponseEntry": {
   "id": "BatchAnnotationsResponseEntry",
   "type": "object",
   "properties": {
    "annotation": {
     "$ref": "Annotation",
     "description": "The annotation, if any."
    },
    "status": {
     "$ref": "BatchAnnotationsResponseEntryStatus",
     "description": "The resulting status for this annotation operation."
    }
   }
  },
  "BatchAnnotationsResponseEntryStatus": {
   "id": "BatchAnnotationsResponseEntryStatus",
   "type": "object",
   "description": "",
   "properties": {
    "code": {
     "type": "integer",
     "description": "The HTTP status code for this operation.",
     "format": "int32"
    },
    "message": {
     "type": "string",
     "description": "Error message for this status, if any."
    }
   }
  },
  "BatchCreateAnnotationsRequest": {
   "id": "BatchCreateAnnotationsRequest",
   "type": "object",
   "properties": {
    "annotations": {
     "type": "array",
     "description": "The annotations to be created. At most 4096 can be specified in a single request.",
     "items": {
      "$ref": "Annotation"
     }
    }
   }
  },
  "Call": {
   "id": "Call",
   "type": "object",
   "description": "A call represents the determination of genotype with respect to a particular variant. It may include associated information such as quality and phasing. For example, a call might assign a probability of 0.32 to the occurrence of a SNP named rs1234 in a call set with the name NA12345.",
   "properties": {
    "callSetId": {
     "type": "string",
     "description": "The ID of the call set this variant call belongs to."
    },
    "callSetName": {
     "type": "string",
     "description": "The name of the call set this variant call belongs to."
    },
    "genotype": {
     "type": "array",
     "description": "The genotype of this variant call. Each value represents either the value of the referenceBases field or a 1-based index into alternateBases. If a variant had a referenceBases value of T and an alternateBases value of [\"A\", \"C\"], and the genotype was [2, 1], that would mean the call represented the heterozygous value CA for this variant. If the genotype was instead [0, 1], the represented value would be TA. Ordering of the genotype values is important if the phaseset is present. If a genotype is not called (that is, a . is present in the GT string) -1 is returned.",
     "items": {
      "type": "integer",
      "format": "int32"
     }
    },
    "genotypeLikelihood": {
     "type": "array",
     "description": "The genotype likelihoods for this variant call. Each array entry represents how likely a specific genotype is for this call. The value ordering is defined by the GL tag in the VCF spec. If Phred-scaled genotype likelihood scores (PL) are available and log10(P) genotype likelihood scores (GL) are not, PL scores are converted to GL scores. If both are available, PL scores are stored in info.",
     "items": {
      "type": "number",
      "format": "double"
     }
    },
    "info": {
     "type": "object",
     "description": "A string which maps to an array of values.",
     "additionalProperties": {
      "type": "array",
      "description": "A string which maps to an array of values.",
      "items": {
       "type": "string"
      }
     }
    },
    "phaseset": {
     "type": "string",
     "description": "If this field is present, this variant call's genotype ordering implies the phase of the bases and is consistent with any other variant calls in the same reference sequence which have the same phaseset value. When importing data from VCF, if the genotype data was phased but no phase set was specified this field will be set to *."
    }
   }
  },
  "CallReadGroupSetsRequest": {
   "id": "CallReadGroupSetsRequest",
   "type": "object",
   "description": "The read group set call request.",
   "properties": {
    "datasetId": {
     "type": "string",
     "description": "Required. The ID of the dataset the called variants will belong to. The caller must have WRITE permissions to this dataset."
    },
    "readGroupSetId": {
     "type": "string",
     "description": "The IDs of the read group sets which will be called. The caller must have READ permissions for these read group sets. One of readGroupSetId or sourceUris must be provided."
    },
    "sourceUris": {
     "type": "array",
     "description": "A list of URIs pointing at BAM files in Google Cloud Storage which will be called. FASTQ files are not allowed. The caller must have READ permissions for these files. One of readGroupSetId or sourceUris must be provided.",
     "items": {
      "type": "string"
     }
    }
   }
  },
  "CallReadGroupSetsResponse": {
   "id": "CallReadGroupSetsResponse",
   "type": "object",
   "description": "The read group set call response.",
   "properties": {
    "jobId": {
     "type": "string",
     "description": "A job ID that can be used to get status information."
    }
   }
  },
  "CallSet": {
   "id": "CallSet",
   "type": "object",
   "description": "A call set is a collection of variant calls, typically for one sample. It belongs to a variant set.",
   "properties": {
    "created": {
     "type": "string",
     "description": "The date this call set was created in milliseconds from the epoch.",
     "format": "int64"
    },
    "id": {
     "type": "string",
     "description": "The Google generated ID of the call set, immutable."
    },
    "info": {
     "type": "object",
     "description": "A string which maps to an array of values.",
     "additionalProperties": {
      "type": "array",
      "description": "A string which maps to an array of values.",
      "items": {
       "type": "string"
      }
     }
    },
    "name": {
     "type": "string",
     "description": "The call set name."
    },
    "sampleId": {
     "type": "string",
     "description": "The sample ID this call set corresponds to."
    },
    "variantSetIds": {
     "type": "array",
     "description": "The IDs of the variant sets this call set belongs to.",
     "items": {
      "type": "string"
     }
    }
   }
  },
  "CigarUnit": {
   "id": "CigarUnit",
   "type": "object",
   "description": "A single CIGAR operation.",
   "properties": {
    "operation": {
     "type": "string",
     "enum": [
      "ALIGNMENT_MATCH",
      "CLIP_HARD",
      "CLIP_SOFT",
      "DELETE",
      "INSERT",
      "OPERATION_UNSPECIFIED",
      "PAD",
      "SEQUENCE_MATCH",
      "SEQUENCE_MISMATCH",
      "SKIP"
     ],
     "enumDescriptions": [
      "",
      "",
      "",
      "",
      "",
      "",
      "",
      "",
      "",
      ""
     ]
    },
    "operationLength": {
     "type": "string",
     "description": "The number of bases that the operation runs for. Required.",
     "format": "int64"
    },
    "referenceSequence": {
     "type": "string",
     "description": "referenceSequence is only used at mismatches (SEQUENCE_MISMATCH) and deletions (DELETE). Filling this field replaces SAM's MD tag. If the relevant information is not available, this field is unset."
    }
   }
  },
  "CoverageBucket": {
   "id": "CoverageBucket",
   "type": "object",
   "description": "A bucket over which read coverage has been precomputed. A bucket corresponds to a specific range of the reference sequence.",
   "properties": {
    "meanCoverage": {
     "type": "number",
     "description": "The average number of reads which are aligned to each individual reference base in this bucket.",
     "format": "float"
    },
    "range": {
     "$ref": "Range",
     "description": "The genomic coordinate range spanned by this bucket."
    }
   }
  },
  "Dataset": {
   "id": "Dataset",
   "type": "object",
   "description": "A Dataset is a collection of genomic data.",
   "properties": {
    "createTime": {
     "type": "string",
     "description": "The time this dataset was created, in seconds from the epoch.",
     "format": "int64"
    },
    "id": {
     "type": "string",
     "description": "The Google generated ID of the dataset, immutable."
    },
    "isPublic": {
     "type": "boolean",
     "description": "Flag indicating whether or not a dataset is publicly viewable. If a dataset is not public, it inherits viewing permissions from its project."
    },
    "name": {
     "type": "string",
     "description": "The dataset name."
    },
    "projectNumber": {
     "type": "string",
     "description": "The Google Developers Console project number that this dataset belongs to.",
     "format": "int64"
    }
   }
  },
  "ExperimentalCreateJobRequest": {
   "id": "ExperimentalCreateJobRequest",
   "type": "object",
   "description": "The job creation request.",
   "properties": {
    "align": {
     "type": "boolean",
     "description": "Specifies whether or not to run the alignment pipeline. Either align or callVariants must be set."
    },
    "callVariants": {
     "type": "boolean",
     "description": "Specifies whether or not to run the variant calling pipeline. Either align or callVariants must be set."
    },
    "gcsOutputPath": {
     "type": "string",
     "description": "Specifies where to copy the results of certain pipelines. This should be in the form of gs://bucket/path."
    },
    "pairedSourceUris": {
     "type": "array",
     "description": "A list of Google Cloud Storage URIs of paired end .fastq files to operate upon. If specified, this represents the second file of each paired .fastq file. The first file of each pair should be specified in sourceUris.",
     "items": {
      "type": "string"
     }
    },
    "projectNumber": {
     "type": "string",
     "description": "Required. The Google Cloud Project ID with which to associate the request.",
     "format": "int64"
    },
    "sourceUris": {
     "type": "array",
     "description": "A list of Google Cloud Storage URIs of data files to operate upon. These can be .bam, interleaved .fastq, or paired .fastq. If specifying paired .fastq files, the first of each pair of files should be listed here, and the second of each pair should be listed in pairedSourceUris.",
     "items": {
      "type": "string"
     }
    }
   }
  },
  "ExperimentalCreateJobResponse": {
   "id": "ExperimentalCreateJobResponse",
   "type": "object",
   "description": "The job creation response.",
   "properties": {
    "jobId": {
     "type": "string",
     "description": "A job ID that can be used to get status information."
    }
   }
  },
  "ExportReadGroupSetsRequest": {
   "id": "ExportReadGroupSetsRequest",
   "type": "object",
   "description": "The read group set export request.",
   "properties": {
    "exportUri": {
     "type": "string",
     "description": "Required. A Google Cloud Storage URI for the exported BAM file. The currently authenticated user must have write access to the new file. An error will be returned if the URI already contains data."
    },
    "projectNumber": {
     "type": "string",
     "description": "Required. The Google Developers Console project number that owns this export.",
     "format": "int64"
    },
    "readGroupSetIds": {
     "type": "array",
     "description": "Required. The IDs of the read group sets to export.",
     "items": {
      "type": "string"
     }
    },
    "referenceNames": {
     "type": "array",
     "description": "The reference names to export. If this is not specified, all reference sequences, including unmapped reads, are exported. Use * to export only unmapped reads.",
     "items": {
      "type": "string"
     }
    }
   }
  },
  "ExportReadGroupSetsResponse": {
   "id": "ExportReadGroupSetsResponse",
   "type": "object",
   "description": "The read group set export response.",
   "properties": {
    "jobId": {
     "type": "string",
     "description": "A job ID that can be used to get status information."
    }
   }
  },
  "ExportVariantSetRequest": {
   "id": "ExportVariantSetRequest",
   "type": "object",
   "description": "The variant data export request.",
   "properties": {
    "bigqueryDataset": {
     "type": "string",
     "description": "Required. The BigQuery dataset to export data to. This dataset must already exist. Note that this is distinct from the Genomics concept of \"dataset\"."
    },
    "bigqueryTable": {
     "type": "string",
     "description": "Required. The BigQuery table to export data to. If the table doesn't exist, it will be created. If it already exists, it will be overwritten."
    },
    "callSetIds": {
     "type": "array",
     "description": "If provided, only variant call information from the specified call sets will be exported. By default all variant calls are exported.",
     "items": {
      "type": "string"
     }
    },
    "format": {
     "type": "string",
     "description": "The format for the exported data.",
     "enum": [
      "BIGQUERY"
     ],
     "enumDescriptions": [
      ""
     ]
    },
    "projectNumber": {
     "type": "string",
     "description": "Required. The Google Cloud project number that owns the destination BigQuery dataset. The caller must have WRITE access to this project. This project will also own the resulting export job.",
     "format": "int64"
    }
   }
  },
  "ExportVariantSetResponse": {
   "id": "ExportVariantSetResponse",
   "type": "object",
   "description": "The variant data export response.",
   "properties": {
    "jobId": {
     "type": "string",
     "description": "A job ID that can be used to get status information."
    }
   }
  },
  "ExternalId": {
   "id": "ExternalId",
   "type": "object",
   "description": "",
   "properties": {
    "id": {
     "type": "string",
     "description": "The id used by the source of this data."
    },
    "sourceName": {
     "type": "string",
     "description": "The name of the source of this data."
    }
   }
  },
  "FastqMetadata": {
   "id": "FastqMetadata",
   "type": "object",
   "properties": {
    "libraryName": {
     "type": "string",
     "description": "Optionally specifies the library name for alignment from FASTQ."
    },
    "platformName": {
     "type": "string",
     "description": "Optionally specifies the platform name for alignment from FASTQ. For example: CAPILLARY, LS454, ILLUMINA, SOLID, HELICOS, IONTORRENT, PACBIO."
    },
    "platformUnit": {
     "type": "string",
     "description": "Optionally specifies the platform unit for alignment from FASTQ. For example: flowcell-barcode.lane for Illumina or slide for SOLID."
    },
    "readGroupName": {
     "type": "string",
     "description": "Optionally specifies the read group name for alignment from FASTQ."
    },
    "sampleName": {
     "type": "string",
     "description": "Optionally specifies the sample name for alignment from FASTQ."
    }
   }
  },
  "ImportReadGroupSetsRequest": {
   "id": "ImportReadGroupSetsRequest",
   "type": "object",
   "description": "The read group set import request.",
   "properties": {
    "datasetId": {
     "type": "string",
     "description": "Required. The ID of the dataset these read group sets will belong to. The caller must have WRITE permissions to this dataset."
    },
    "partitionStrategy": {
     "type": "string",
     "description": "The partition strategy describes how read groups are partitioned into read group sets.",
     "enum": [
      "MERGE_ALL",
      "PER_FILE_PER_SAMPLE"
     ],
     "enumDescriptions": [
      "",
      ""
     ]
    },
    "referenceSetId": {
     "type": "string",
     "description": "The reference set to which the imported read group sets are aligned to, if any. The reference names of this reference set must be a superset of those found in the imported file headers. If no reference set id is provided, a best effort is made to associate with a matching reference set."
    },
    "sourceUris": {
     "type": "array",
     "description": "A list of URIs pointing at BAM files in Google Cloud Storage.",
     "items": {
      "type": "string"
     }
    }
   }
  },
  "ImportReadGroupSetsResponse": {
   "id": "ImportReadGroupSetsResponse",
   "type": "object",
   "description": "The read group set import response.",
   "properties": {
    "jobId": {
     "type": "string",
     "description": "A job ID that can be used to get status information."
    }
   }
  },
  "ImportVariantsRequest": {
   "id": "ImportVariantsRequest",
   "type": "object",
   "description": "The variant data import request.",
   "properties": {
    "format": {
     "type": "string",
     "description": "The format of the variant data being imported. If unspecified, defaults to to \"VCF\".",
     "enum": [
      "COMPLETE_GENOMICS",
      "VCF"
     ],
     "enumDescriptions": [
      "",
      ""
     ]
    },
    "normalizeReferenceNames": {
     "type": "boolean",
     "description": "Convert reference names to the canonical representation. hg19 haploytypes (those reference names containing \"_hap\") are not modified in any way. All other reference names are modified according to the following rules: The reference name is capitalized. The \"chr\" prefix is dropped for all autosomes and sex chromsomes. For example \"chr17\" becomes \"17\" and \"chrX\" becomes \"X\". All mitochondrial chromosomes (\"chrM\", \"chrMT\", etc) become \"MT\"."
    },
    "sourceUris": {
     "type": "array",
     "description": "A list of URIs referencing variant files in Google Cloud Storage. URIs can include wildcards as described here. Note that recursive wildcards ('**') are not supported.",
     "items": {
      "type": "string"
     }
    }
   }
  },
  "ImportVariantsResponse": {
   "id": "ImportVariantsResponse",
   "type": "object",
   "description": "The variant data import response.",
   "properties": {
    "jobId": {
     "type": "string",
     "description": "A job ID that can be used to get status information."
    }
   }
  },
  "Int32Value": {
   "id": "Int32Value",
   "type": "object",
   "description": "Wrapper message for `int32`.\n\nThe JSON representation for `Int32Value` is JSON number.",
   "properties": {
    "value": {
     "type": "integer",
     "description": "The int32 value.",
     "format": "int32"
    }
   }
  },
  "InterleavedFastqSource": {
   "id": "InterleavedFastqSource",
   "type": "object",
   "description": "Describes an interleaved FASTQ file source for alignment.",
   "properties": {
    "metadata": {
     "$ref": "FastqMetadata",
     "description": "Optionally specifies the metadata to be associated with the final aligned read group set."
    },
    "sourceUris": {
     "type": "array",
     "description": "A list of URIs pointing at interleaved FASTQ files in Google Cloud Storage which will be aligned. The caller must have READ permissions for these files.",
     "items": {
      "type": "string"
     }
    }
   }
  },
  "Job": {
   "id": "Job",
   "type": "object",
   "description": "A Job represents an ongoing process that can be monitored for status information.",
   "properties": {
    "created": {
     "type": "string",
     "description": "The date this job was created, in milliseconds from the epoch.",
     "format": "int64"
    },
    "detailedStatus": {
     "type": "string",
     "description": "A more detailed description of this job's current status."
    },
    "errors": {
     "type": "array",
     "description": "Any errors that occurred during processing.",
     "items": {
      "type": "string"
     }
    },
    "id": {
     "type": "string",
     "description": "The job ID."
    },
    "importedIds": {
     "type": "array",
     "description": "If this Job represents an import, this field will contain the IDs of the objects that were successfully imported.",
     "items": {
      "type": "string"
     }
    },
    "projectNumber": {
     "type": "string",
     "description": "The Google Developers Console project number to which this job belongs.",
     "format": "int64"
    },
    "request": {
     "$ref": "JobRequest",
     "description": "A summarized representation of the original service request."
    },
    "status": {
     "type": "string",
     "description": "The status of this job.",
     "enum": [
      "CANCELED",
      "FAILURE",
      "NEW",
      "PENDING",
      "RUNNING",
      "SUCCESS",
      "UNKNOWN_STATUS"
     ],
     "enumDescriptions": [
      "",
      "",
      "",
      "",
      "",
      "",
      ""
     ]
    },
    "warnings": {
     "type": "array",
     "description": "Any warnings that occurred during processing.",
     "items": {
      "type": "string"
     }
    }
   }
  },
  "JobRequest": {
   "id": "JobRequest",
   "type": "object",
   "description": "A summary representation of the service request that spawned the job.",
   "properties": {
    "destination": {
     "type": "array",
     "description": "The data destination of the request, for example, a Google BigQuery Table or Dataset ID.",
     "items": {
      "type": "string"
     }
    },
    "source": {
     "type": "array",
     "description": "The data source of the request, for example, a Google Cloud Storage object path or Readset ID.",
     "items": {
      "type": "string"
     }
    },
    "type": {
     "type": "string",
     "description": "The original request type.",
     "enum": [
      "ALIGN_READSETS",
      "CALL_READSETS",
      "EXPERIMENTAL_CREATE_JOB",
      "EXPORT_READSETS",
      "EXPORT_VARIANTS",
      "IMPORT_READSETS",
      "IMPORT_VARIANTS",
      "UNKNOWN_TYPE"
     ],
     "enumDescriptions": [
      "",
      "",
      "",
      "",
      "",
      "",
      "",
      ""
     ]
    }
   }
  },
  "KeyValue": {
   "id": "KeyValue",
   "type": "object",
   "description": "Used to hold basic key value information.",
   "properties": {
    "key": {
     "type": "string",
     "description": "A string which maps to an array of values."
    },
    "value": {
     "type": "array",
     "description": "The string values.",
     "items": {
      "type": "string"
     }
    }
   }
  },
  "LinearAlignment": {
   "id": "LinearAlignment",
   "type": "object",
   "description": "A linear alignment can be represented by one CIGAR string. Describes the mapped position and local alignment of the read to the reference.",
   "properties": {
    "cigar": {
     "type": "array",
     "description": "Represents the local alignment of this sequence (alignment matches, indels, etc) against the reference.",
     "items": {
      "$ref": "CigarUnit"
     }
    },
    "mappingQuality": {
     "type": "integer",
     "description": "The mapping quality of this alignment. Represents how likely the read maps to this position as opposed to other locations.",
     "format": "int32"
    },
    "position": {
     "$ref": "Position",
     "description": "The position of this alignment."
    }
   }
  },
  "ListBasesResponse": {
   "id": "ListBasesResponse",
   "type": "object",
   "properties": {
    "nextPageToken": {
     "type": "string",
     "description": "The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results. This field will be empty if there aren't any additional results."
    },
    "offset": {
     "type": "string",
     "description": "The offset position (0-based) of the given sequence from the start of this Reference. This value will differ for each page in a paginated request.",
     "format": "int64"
    },
    "sequence": {
     "type": "string",
     "description": "A substring of the bases that make up this reference."
    }
   }
  },
  "ListCoverageBucketsResponse": {
   "id": "ListCoverageBucketsResponse",
   "type": "object",
   "properties": {
    "bucketWidth": {
     "type": "string",
     "description": "The length of each coverage bucket in base pairs. Note that buckets at the end of a reference sequence may be shorter. This value is omitted if the bucket width is infinity (the default behaviour, with no range or targetBucketWidth).",
     "format": "int64"
    },
    "coverageBuckets": {
     "type": "array",
     "description": "The coverage buckets. The list of buckets is sparse; a bucket with 0 overlapping reads is not returned. A bucket never crosses more than one reference sequence. Each bucket has width bucketWidth, unless its end is the end of the reference sequence.",
     "items": {
      "$ref": "CoverageBucket"
     }
    },
    "nextPageToken": {
     "type": "string",
     "description": "The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results. This field will be empty if there aren't any additional results."
    }
   }
  },
  "ListDatasetsResponse": {
   "id": "ListDatasetsResponse",
   "type": "object",
   "description": "The dataset list response.",
   "properties": {
    "datasets": {
     "type": "array",
     "description": "The list of matching Datasets.",
     "items": {
      "$ref": "Dataset"
     }
    },
    "nextPageToken": {
     "type": "string",
     "description": "The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results. This field will be empty if there aren't any additional results."
    }
   }
  },
  "MergeVariantsRequest": {
   "id": "MergeVariantsRequest",
   "type": "object",
   "properties": {
    "variants": {
     "type": "array",
     "description": "The variants to be merged with existing variants.",
     "items": {
      "$ref": "Variant"
     }
    }
   }
  },
  "Metadata": {
   "id": "Metadata",
   "type": "object",
   "description": "Metadata describes a single piece of variant call metadata. These data include a top level key and either a single value string (value) or a list of key-value pairs (info.) Value and info are mutually exclusive.",
   "properties": {
    "description": {
     "type": "string",
     "description": "A textual description of this metadata."
    },
    "id": {
     "type": "string",
     "description": "User-provided ID field, not enforced by this API. Two or more pieces of structured metadata with identical id and key fields are considered equivalent."
    },
    "info": {
     "type": "object",
     "description": "A string which maps to an array of values.",
     "additionalProperties": {
      "type": "array",
      "description": "A string which maps to an array of values.",
      "items": {
       "type": "string"
      }
     }
    },
    "key": {
     "type": "string",
     "description": "The top-level key."
    },
    "number": {
     "type": "string",
     "description": "The number of values that can be included in a field described by this metadata."
    },
    "type": {
     "type": "string",
     "description": "The type of data. Possible types include: Integer, Float, Flag, Character, and String.",
     "enum": [
      "CHARACTER",
      "FLAG",
      "FLOAT",
      "INTEGER",
      "STRING",
      "UNKNOWN_TYPE"
     ],
     "enumDescriptions": [
      "",
      "",
      "",
      "",
      "",
      ""
     ]
    },
    "value": {
     "type": "string",
     "description": "The value field for simple metadata"
    }
   }
  },
  "PairedFastqSource": {
   "id": "PairedFastqSource",
   "type": "object",
   "description": "Describes a paired-end FASTQ file source for alignment.",
   "properties": {
    "firstSourceUris": {
     "type": "array",
     "description": "A list of URIs pointing at paired end FASTQ files in Google Cloud Storage which will be aligned. The first of each paired file should be specified here, in an order that matches the second of each paired file specified in secondSourceUris. For example: firstSourceUris: [file1_1.fq, file2_1.fq], secondSourceUris: [file1_2.fq, file2_2.fq]. The caller must have READ permissions for these files.",
     "items": {
      "type": "string"
     }
    },
    "metadata": {
     "$ref": "FastqMetadata",
     "description": "Optionally specifies the metadata to be associated with the final aligned read group set."
    },
    "secondSourceUris": {
     "type": "array",
     "description": "A list of URIs pointing at paired end FASTQ files in Google Cloud Storage which will be aligned. The second of each paired file should be specified here, in an order that matches the first of each paired file specified in firstSourceUris. For example: firstSourceUris: [file1_1.fq, file2_1.fq], secondSourceUris: [file1_2.fq, file2_2.fq]. The caller must have READ permissions for these files.",
     "items": {
      "type": "string"
     }
    }
   }
  },
  "Position": {
   "id": "Position",
   "type": "object",
   "description": "An abstraction for referring to a genomic position, in relation to some already known reference. For now, represents a genomic position as a reference name, a base number on that reference (0-based), and a determination of forward or reverse strand.",
   "properties": {
    "position": {
     "type": "string",
     "description": "The 0-based offset from the start of the forward strand for that reference.",
     "format": "int64"
    },
    "referenceName": {
     "type": "string",
     "description": "The name of the reference in whatever reference set is being used."
    },
    "reverseStrand": {
     "type": "boolean",
     "description": "Whether this position is on the reverse strand, as opposed to the forward strand."
    }
   }
  },
  "QueryRange": {
   "id": "QueryRange",
   "type": "object",
   "description": "A 0-based half-open genomic coordinate range for search requests.",
   "properties": {
    "end": {
     "type": "string",
     "description": "The end position of the range on the reference, 0-based exclusive. If specified, referenceId or referenceName must also be specified. If unset or 0, defaults to the length of the reference.",
     "format": "int64"
    },
    "referenceId": {
     "type": "string",
     "description": "The ID of the reference to query. At most one of referenceId and referenceName should be specified."
    },
    "referenceName": {
     "type": "string",
     "description": "The name of the reference to query, within the reference set associated with this query. At most one of referenceId and referenceName pshould be specified."
    },
    "start": {
     "type": "string",
     "description": "The start position of the range on the reference, 0-based inclusive. If specified, referenceId or referenceName must also be specified. Defaults to 0.",
     "format": "int64"
    }
   }
  },
  "Range": {
   "id": "Range",
   "type": "object",
   "description": "A 0-based half-open genomic coordinate range over a reference sequence.",
   "properties": {
    "end": {
     "type": "string",
     "description": "The end position of the range on the reference, 0-based exclusive. If specified, referenceName must also be specified.",
     "format": "int64"
    },
    "referenceName": {
     "type": "string",
     "description": "The reference sequence name, for example chr1, 1, or chrX."
    },
    "start": {
     "type": "string",
     "description": "The start position of the range on the reference, 0-based inclusive. If specified, referenceName must also be specified.",
     "format": "int64"
    }
   }
  },
  "RangePosition": {
   "id": "RangePosition",
   "type": "object",
   "description": "A 0-based half-open genomic coordinate range over a reference sequence, for representing the position of a genomic resource.",
   "properties": {
    "end": {
     "type": "string",
     "description": "The end position of the range on the reference, 0-based exclusive.",
     "format": "int64"
    },
    "referenceId": {
     "type": "string",
     "description": "The ID of the Google Genomics reference associated with this range."
    },
    "referenceName": {
     "type": "string",
     "description": "The display name corresponding to the reference specified by referenceId, for example chr1, 1, or chrX."
    },
    "reverseStrand": {
     "type": "boolean",
     "description": "Whether this range refers to the reverse strand, as opposed to the forward strand. Note that regardless of this field, the start/end position of the range always refer to the forward strand."
    },
    "start": {
     "type": "string",
     "description": "The start position of the range on the reference, 0-based inclusive.",
     "format": "int64"
    }
   }
  },
  "Read": {
   "id": "Read",
   "type": "object",
   "description": "A read alignment describes a linear alignment of a string of DNA to a reference sequence, in addition to metadata about the fragment (the molecule of DNA sequenced) and the read (the bases which were read by the sequencer). A read is equivalent to a line in a SAM file. A read belongs to exactly one read group and exactly one read group set. Generating a reference-aligned sequence string When interacting with mapped reads, it's often useful to produce a string representing the local alignment of the read to reference. The following pseudocode demonstrates one way of doing this:\nout = \"\" offset = 0 for c in read.alignment.cigar { switch c.operation { case \"ALIGNMENT_MATCH\", \"SEQUENCE_MATCH\", \"SEQUENCE_MISMATCH\": out += read.alignedSequence[offset:offset+c.operationLength] offset += c.operationLength break case \"CLIP_SOFT\", \"INSERT\": offset += c.operationLength break case \"PAD\": out += repeat(\"*\", c.operationLength) break case \"DELETE\": out += repeat(\"-\", c.operationLength) break case \"SKIP\": out += repeat(\" \", c.operationLength) break case \"CLIP_HARD\": break } } return out\nConverting to SAM's CIGAR string The following pseudocode generates a SAM CIGAR string from the cigar field. Note that this is a lossy conversion (cigar.referenceSequence is lost).\ncigarMap = { \"ALIGNMENT_MATCH\": \"M\", \"INSERT\": \"I\", \"DELETE\": \"D\", \"SKIP\": \"N\", \"CLIP_SOFT\": \"S\", \"CLIP_HARD\": \"H\", \"PAD\": \"P\", \"SEQUENCE_MATCH\": \"=\", \"SEQUENCE_MISMATCH\": \"X\", } cigarStr = \"\" for c in read.alignment.cigar { cigarStr += c.operationLength + cigarMap[c.operation] } return cigarStr",
   "properties": {
    "alignedQuality": {
     "type": "array",
     "description": "The quality of the read sequence contained in this alignment record. alignedSequence and alignedQuality may be shorter than the full read sequence and quality. This will occur if the alignment is part of a chimeric alignment, or if the read was trimmed. When this occurs, the CIGAR for this read will begin/end with a hard clip operator that will indicate the length of the excised sequence.",
     "items": {
      "type": "integer",
      "format": "int32"
     }
    },
    "alignedSequence": {
     "type": "string",
     "description": "The bases of the read sequence contained in this alignment record, without CIGAR operations applied. alignedSequence and alignedQuality may be shorter than the full read sequence and quality. This will occur if the alignment is part of a chimeric alignment, or if the read was trimmed. When this occurs, the CIGAR for this read will begin/end with a hard clip operator that will indicate the length of the excised sequence."
    },
    "alignment": {
     "$ref": "LinearAlignment",
     "description": "The linear alignment for this alignment record. This field will be unset if the read is unmapped."
    },
    "duplicateFragment": {
     "type": "boolean",
     "description": "The fragment is a PCR or optical duplicate (SAM flag 0x400)"
    },
    "failedVendorQualityChecks": {
     "type": "boolean",
     "description": "SAM flag 0x200"
    },
    "fragmentLength": {
     "type": "integer",
     "description": "The observed length of the fragment, equivalent to TLEN in SAM.",
     "format": "int32"
    },
    "fragmentName": {
     "type": "string",
     "description": "The fragment name. Equivalent to QNAME (query template name) in SAM."
    },
    "id": {
     "type": "string",
     "description": "The unique ID for this read. This is a generated unique ID, not to be confused with fragmentName."
    },
    "info": {
     "type": "object",
     "description": "A string which maps to an array of values.",
     "additionalProperties": {
      "type": "array",
      "description": "A string which maps to an array of values.",
      "items": {
       "type": "string"
      }
     }
    },
    "nextMatePosition": {
     "$ref": "Position",
     "description": "The position of the primary alignment of the (readNumber+1)%numberReads read in the fragment. It replaces mate position and mate strand in SAM. This field will be unset if that read is unmapped or if the fragment only has a single read."
    },
    "numberReads": {
     "type": "integer",
     "description": "The number of reads in the fragment (extension to SAM flag 0x1).",
     "format": "int32"
    },
    "properPlacement": {
     "type": "boolean",
     "description": "The orientation and the distance between reads from the fragment are consistent with the sequencing protocol (SAM flag 0x2)"
    },
    "readGroupId": {
     "type": "string",
     "description": "The ID of the read group this read belongs to. (Every read must belong to exactly one read group.)"
    },
    "readGroupSetId": {
     "type": "string",
     "description": "The ID of the read group set this read belongs to. (Every read must belong to exactly one read group set.)"
    },
    "readNumber": {
     "type": "integer",
     "description": "The read number in sequencing. 0-based and less than numberReads. This field replaces SAM flag 0x40 and 0x80.",
     "format": "int32"
    },
    "secondaryAlignment": {
     "type": "boolean",
     "description": "Whether this alignment is secondary. Equivalent to SAM flag 0x100. A secondary alignment represents an alternative to the primary alignment for this read. Aligners may return secondary alignments if a read can map ambiguously to multiple coordinates in the genome. By convention, each read has one and only one alignment where both secondaryAlignment and supplementaryAlignment are false."
    },
    "supplementaryAlignment": {
     "type": "boolean",
     "description": "Whether this alignment is supplementary. Equivalent to SAM flag 0x800. Supplementary alignments are used in the representation of a chimeric alignment. In a chimeric alignment, a read is split into multiple linear alignments that map to different reference contigs. The first linear alignment in the read will be designated as the representative alignment; the remaining linear alignments will be designated as supplementary alignments. These alignments may have different mapping quality scores. In each linear alignment in a chimeric alignment, the read will be hard clipped. The alignedSequence and alignedQuality fields in the alignment record will only represent the bases for its respective linear alignment."
    }
   }
  },
  "ReadGroup": {
   "id": "ReadGroup",
   "type": "object",
   "description": "A read group is all the data that's processed the same way by the sequencer.",
   "properties": {
    "datasetId": {
     "type": "string",
     "description": "The ID of the dataset this read group belongs to."
    },
    "description": {
     "type": "string",
     "description": "A free-form text description of this read group."
    },
    "experiment": {
     "$ref": "ReadGroupExperiment",
     "description": "The experiment used to generate this read group."
    },
    "id": {
     "type": "string",
     "description": "The generated unique read group ID. Note: This is different than the @RG ID field in the SAM spec. For that value, see the name field."
    },
    "info": {
     "type": "object",
     "description": "A string which maps to an array of values.",
     "additionalProperties": {
      "type": "array",
      "description": "A string which maps to an array of values.",
      "items": {
       "type": "string"
      }
     }
    },
    "name": {
     "type": "string",
     "description": "The read group name. This corresponds to the @RG ID field in the SAM spec."
    },
    "predictedInsertSize": {
     "type": "integer",
     "description": "The predicted insert size of this read group. The insert size is the length the sequenced DNA fragment from end-to-end, not including the adapters.",
     "format": "int32"
    },
    "programs": {
     "type": "array",
     "description": "The programs used to generate this read group. Programs are always identical for all read groups within a read group set. For this reason, only the first read group in a returned set will have this field populated.",
     "items": {
      "$ref": "ReadGroupProgram"
     }
    },
    "referenceSetId": {
     "type": "string",
     "description": "The reference set the reads in this read group are aligned to. Required if there are any read alignments."
    },
    "sampleId": {
     "type": "string",
     "description": "The sample this read group's data was generated from. Note: This is not an actual ID within this repository, but rather an identifier for a sample which may be meaningful to some external system."
    }
   }
  },
  "ReadGroupExperiment": {
   "id": "ReadGroupExperiment",
   "type": "object",
   "properties": {
    "instrumentModel": {
     "type": "string",
     "description": "The instrument model used as part of this experiment. This maps to sequencing technology in BAM."
    },
    "libraryId": {
     "type": "string",
     "description": "The library used as part of this experiment. Note: This is not an actual ID within this repository, but rather an identifier for a library which may be meaningful to some external system."
    },
    "platformUnit": {
     "type": "string",
     "description": "The platform unit used as part of this experiment e.g. flowcell-barcode.lane for Illumina or slide for SOLiD. Corresponds to the"
    },
    "sequencingCenter": {
     "type": "string",
     "description": "The sequencing center used as part of this experiment."
    }
   }
  },
  "ReadGroupProgram": {
   "id": "ReadGroupProgram",
   "type": "object",
   "properties": {
    "commandLine": {
     "type": "string",
     "description": "The command line used to run this program."
    },
    "id": {
     "type": "string",
     "description": "The user specified locally unique ID of the program. Used along with prevProgramId to define an ordering between programs."
    },
    "name": {
     "type": "string",
     "description": "The name of the program."
    },
    "prevProgramId": {
     "type": "string",
     "description": "The ID of the program run before this one."
    },
    "version": {
     "type": "string",
     "description": "The version of the program run."
    }
   }
  },
  "ReadGroupSet": {
   "id": "ReadGroupSet",
   "type": "object",
   "description": "A read group set is a logical collection of read groups, which are collections of reads produced by a sequencer. A read group set typically models reads corresponding to one sample, sequenced one way, and aligned one way.  \n- A read group set belongs to one dataset.\n- A read group belongs to one read group set.\n- A read belongs to one read group.",
   "properties": {
    "datasetId": {
     "type": "string",
     "description": "The dataset ID."
    },
    "filename": {
     "type": "string",
     "description": "The filename of the original source file for this read group set, if any."
    },
    "id": {
     "type": "string",
     "description": "The read group set ID."
    },
    "info": {
     "type": "object",
     "description": "A string which maps to an array of values.",
     "additionalProperties": {
      "type": "array",
      "description": "A string which maps to an array of values.",
      "items": {
       "type": "string"
      }
     }
    },
    "name": {
     "type": "string",
     "description": "The read group set name. By default this will be initialized to the sample name of the sequenced data contained in this set."
    },
    "readGroups": {
     "type": "array",
     "description": "The read groups in this set. There are typically 1-10 read groups in a read group set.",
     "items": {
      "$ref": "ReadGroup"
     }
    },
    "referenceSetId": {
     "type": "string",
     "description": "The reference set the reads in this read group set are aligned to."
    }
   }
  },
  "Reference": {
   "id": "Reference",
   "type": "object",
   "description": "A reference is a canonical assembled DNA sequence, intended to act as a reference coordinate space for other genomic annotations. A single reference might represent the human chromosome 1 or mitochandrial DNA, for instance. A reference belongs to one or more reference sets.",
   "properties": {
    "id": {
     "type": "string",
     "description": "The Google generated immutable ID of the reference."
    },
    "length": {
     "type": "string",
     "description": "The length of this reference's sequence.",
     "format": "int64"
    },
    "md5checksum": {
     "type": "string",
     "description": "MD5 of the upper-case sequence excluding all whitespace characters (this is equivalent to SQ:M5 in SAM). This value is represented in lower case hexadecimal format."
    },
    "name": {
     "type": "string",
     "description": "The name of this reference, for example 22."
    },
    "ncbiTaxonId": {
     "type": "integer",
     "description": "ID from http://www.ncbi.nlm.nih.gov/taxonomy (e.g. 9606-\u003ehuman) if not specified by the containing reference set.",
     "format": "int32"
    },
    "sourceAccessions": {
     "type": "array",
     "description": "All known corresponding accession IDs in INSDC (GenBank/ENA/DDBJ) ideally with a version number, for example GCF_000001405.26.",
     "items": {
      "type": "string"
     }
    },
    "sourceURI": {
     "type": "string",
     "description": "The URI from which the sequence was obtained. Specifies a FASTA format file/string with one name, sequence pair."
    }
   }
  },
  "ReferenceBound": {
   "id": "ReferenceBound",
   "type": "object",
   "description": "ReferenceBound records an upper bound for the starting coordinate of variants in a particular reference.",
   "properties": {
    "referenceName": {
     "type": "string",
     "description": "The reference the bound is associate with."
    },
    "upperBound": {
     "type": "string",
     "description": "An upper bound (inclusive) on the starting coordinate of any variant in the reference sequence.",
     "format": "int64"
    }
   }
  },
  "ReferenceSet": {
   "id": "ReferenceSet",
   "type": "object",
   "description": "A reference set is a set of references which typically comprise a reference assembly for a species, such as GRCh38 which is representative of the human genome. A reference set defines a common coordinate space for comparing reference-aligned experimental data. A reference set contains 1 or more references.",
   "properties": {
    "assemblyId": {
     "type": "string",
     "description": "Public id of this reference set, such as GRCh37."
    },
    "description": {
     "type": "string",
     "description": "Free text description of this reference set."
    },
    "id": {
     "type": "string",
     "description": "The Google generated immutable ID of the reference set."
    },
    "md5checksum": {
     "type": "string",
     "description": "Order-independent MD5 checksum which identifies this reference set. The checksum is computed by sorting all lower case hexidecimal string reference.md5checksum (for all reference in this set) in ascending lexicographic order, concatenating, and taking the MD5 of that value. The resulting value is represented in lower case hexadecimal format."
    },
    "ncbiTaxonId": {
     "type": "integer",
     "description": "ID from http://www.ncbi.nlm.nih.gov/taxonomy (e.g. 9606-\u003ehuman) indicating the species which this assembly is intended to model. Note that contained references may specify a different ncbiTaxonId, as assemblies may contain reference sequences which do not belong to the modeled species, e.g. EBV in a human reference genome.",
     "format": "int32"
    },
    "referenceIds": {
     "type": "array",
     "description": "The IDs of the reference objects that are part of this set. Reference.md5checksum must be unique within this set.",
     "items": {
      "type": "string"
     }
    },
    "sourceAccessions": {
     "type": "array",
     "description": "All known corresponding accession IDs in INSDC (GenBank/ENA/DDBJ) ideally with a version number, for example NC_000001.11.",
     "items": {
      "type": "string"
     }
    },
    "sourceURI": {
     "type": "string",
     "description": "The URI from which the references were obtained."
    }
   }
  },
  "SearchAnnotationSetsRequest": {
   "id": "SearchAnnotationSetsRequest",
   "type": "object",
   "properties": {
    "datasetIds": {
     "type": "array",
     "description": "The dataset IDs to search within. Caller must have READ access to these datasets.",
     "items": {
      "type": "string"
     }
    },
    "name": {
     "type": "string",
     "description": "Only return annotations sets for which a substring of the name matches this string (case insensitive)."
    },
    "pageSize": {
     "type": "integer",
     "description": "Specifies number of results to return in a single page. If unspecified, it will default to 128. The maximum value is 1024.",
     "format": "int32"
    },
    "pageToken": {
     "type": "string",
     "description": "The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response."
    },
    "referenceSetId": {
     "type": "string",
     "description": "If specified, only annotation sets associated with the given reference set are returned."
    },
    "types": {
     "type": "array",
     "description": "If specified, only annotation sets that have any of these types are returned.",
     "items": {
      "type": "string",
      "enum": [
       "GENE",
       "GENERIC",
       "TRANSCRIPT",
       "VARIANT"
      ],
      "enumDescriptions": [
       "",
       "",
       "",
       ""
      ]
     }
    }
   }
  },
  "SearchAnnotationSetsResponse": {
   "id": "SearchAnnotationSetsResponse",
   "type": "object",
   "properties": {
    "annotationSets": {
     "type": "array",
     "description": "The matching annotation sets.",
     "items": {
      "$ref": "AnnotationSet"
     }
    },
    "nextPageToken": {
     "type": "string",
     "description": "The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results. This field will be empty if there aren't any additional results."
    }
   }
  },
  "SearchAnnotationsRequest": {
   "id": "SearchAnnotationsRequest",
   "type": "object",
   "properties": {
    "annotationSetIds": {
     "type": "array",
     "description": "The annotation sets to search within. The caller must have READ access to these annotation sets. Required. All queried annotation sets must have the same type.",
     "items": {
      "type": "string"
     }
    },
    "pageSize": {
     "type": "integer",
     "description": "Specifies number of results to return in a single page. If unspecified, it will default to 256. The maximum value is 2048.",
     "format": "int32"
    },
    "pageToken": {
     "type": "string",
     "description": "The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response."
    },
    "range": {
     "$ref": "QueryRange",
     "description": "If specified, this query matches only annotations that overlap this range."
    }
   }
  },
  "SearchAnnotationsResponse": {
   "id": "SearchAnnotationsResponse",
   "type": "object",
   "properties": {
    "annotations": {
     "type": "array",
     "description": "The matching annotations.",
     "items": {
      "$ref": "Annotation"
     }
    },
    "nextPageToken": {
     "type": "string",
     "description": "The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results. This field will be empty if there aren't any additional results."
    }
   }
  },
  "SearchCallSetsRequest": {
   "id": "SearchCallSetsRequest",
   "type": "object",
   "description": "The call set search request.",
   "properties": {
    "name": {
     "type": "string",
     "description": "Only return call sets for which a substring of the name matches this string."
    },
    "pageSize": {
     "type": "integer",
     "description": "The maximum number of call sets to return. If unspecified, defaults to 1000.",
     "format": "int32"
    },
    "pageToken": {
     "type": "string",
     "description": "The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response."
    },
    "variantSetIds": {
     "type": "array",
     "description": "Restrict the query to call sets within the given variant sets. At least one ID must be provided.",
     "items": {
      "type": "string"
     }
    }
   }
  },
  "SearchCallSetsResponse": {
   "id": "SearchCallSetsResponse",
   "type": "object",
   "description": "The call set search response.",
   "properties": {
    "callSets": {
     "type": "array",
     "description": "The list of matching call sets.",
     "items": {
      "$ref": "CallSet"
     }
    },
    "nextPageToken": {
     "type": "string",
     "description": "The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results. This field will be empty if there aren't any additional results."
    }
   }
  },
  "SearchJobsRequest": {
   "id": "SearchJobsRequest",
   "type": "object",
   "description": "The jobs search request.",
   "properties": {
    "createdAfter": {
     "type": "string",
     "description": "If specified, only jobs created on or after this date, given in milliseconds since Unix epoch, will be returned.",
     "format": "int64"
    },
    "createdBefore": {
     "type": "string",
     "description": "If specified, only jobs created prior to this date, given in milliseconds since Unix epoch, will be returned.",
     "format": "int64"
    },
    "pageSize": {
     "type": "integer",
     "description": "Specifies the number of results to return in a single page. Defaults to 128. The maximum value is 256.",
     "format": "int32"
    },
    "pageToken": {
     "type": "string",
     "description": "The continuation token which is used to page through large result sets. To get the next page of results, set this parameter to the value of the nextPageToken from the previous response."
    },
    "projectNumber": {
     "type": "string",
     "description": "Required. Only return jobs which belong to this Google Developers Console project.",
     "format": "int64"
    },
    "status": {
     "type": "array",
     "description": "Only return jobs which have a matching status.",
     "items": {
      "type": "string",
      "enum": [
       "CANCELED",
       "FAILURE",
       "NEW",
       "PENDING",
       "RUNNING",
       "SUCCESS",
       "UNKNOWN_STATUS"
      ],
      "enumDescriptions": [
       "",
       "",
       "",
       "",
       "",
       "",
       ""
      ]
     }
    }
   }
  },
  "SearchJobsResponse": {
   "id": "SearchJobsResponse",
   "type": "object",
   "description": "The job search response.",
   "properties": {
    "jobs": {
     "type": "array",
     "description": "The list of jobs results, ordered newest to oldest.",
     "items": {
      "$ref": "Job"
     }
    },
    "nextPageToken": {
     "type": "string",
     "description": "The continuation token which is used to page through large result sets. Provide this value is a subsequent request to return the next page of results. This field will be empty if there are no more results."
    }
   }
  },
  "SearchReadGroupSetsRequest": {
   "id": "SearchReadGroupSetsRequest",
   "type": "object",
   "description": "The read group set search request.",
   "properties": {
    "datasetIds": {
     "type": "array",
     "description": "Restricts this query to read group sets within the given datasets. At least one ID must be provided.",
     "items": {
      "type": "string"
     }
    },
    "name": {
     "type": "string",
     "description": "Only return read group sets for which a substring of the name matches this string."
    },
    "pageSize": {
     "type": "integer",
     "description": "Specifies number of results to return in a single page. If unspecified, it will default to 256. The maximum value is 1024.",
     "format": "int32"
    },
    "pageToken": {
     "type": "string",
     "description": "The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response."
    }
   }
  },
  "SearchReadGroupSetsResponse": {
   "id": "SearchReadGroupSetsResponse",
   "type": "object",
   "description": "The read group set search response.",
   "properties": {
    "nextPageToken": {
     "type": "string",
     "description": "The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results. This field will be empty if there aren't any additional results."
    },
    "readGroupSets": {
     "type": "array",
     "description": "The list of matching read group sets.",
     "items": {
      "$ref": "ReadGroupSet"
     }
    }
   }
  },
  "SearchReadsRequest": {
   "id": "SearchReadsRequest",
   "type": "object",
   "description": "The read search request.",
   "properties": {
    "end": {
     "type": "string",
     "description": "The end position of the range on the reference, 0-based exclusive. If specified, referenceName must also be specified.",
     "format": "int64"
    },
    "pageSize": {
     "type": "integer",
     "description": "Specifies number of results to return in a single page. If unspecified, it will default to 256. The maximum value is 2048.",
     "format": "int32"
    },
    "pageToken": {
     "type": "string",
     "description": "The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response."
    },
    "readGroupIds": {
     "type": "array",
     "description": "The IDs of the read groups within which to search for reads. All specified read groups must belong to the same read group sets. Must specify one of readGroupSetIds or readGroupIds.",
     "items": {
      "type": "string"
     }
    },
    "readGroupSetIds": {
     "type": "array",
     "description": "The IDs of the read groups sets within which to search for reads. All specified read group sets must be aligned against a common set of reference sequences; this defines the genomic coordinates for the query. Must specify one of readGroupSetIds or readGroupIds.",
     "items": {
      "type": "string"
     }
    },
    "referenceName": {
     "type": "string",
     "description": "The reference sequence name, for example chr1, 1, or chrX. If set to *, only unmapped reads are returned."
    },
    "start": {
     "type": "string",
     "description": "The start position of the range on the reference, 0-based inclusive. If specified, referenceName must also be specified.",
     "format": "int64"
    }
   }
  },
  "SearchReadsResponse": {
   "id": "SearchReadsResponse",
   "type": "object",
   "description": "The read search response.",
   "properties": {
    "alignments": {
     "type": "array",
     "description": "The list of matching alignments sorted by mapped genomic coordinate, if any, ascending in position within the same reference. Unmapped reads, which have no position, are returned contiguously and are sorted in ascending lexicographic order by fragment name.",
     "items": {
      "$ref": "Read"
     }
    },
    "nextPageToken": {
     "type": "string",
     "description": "The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results. This field will be empty if there aren't any additional results."
    }
   }
  },
  "SearchReferenceSetsRequest": {
   "id": "SearchReferenceSetsRequest",
   "type": "object",
   "description": "",
   "properties": {
    "accessions": {
     "type": "array",
     "description": "If present, return references for which the accession matches any of these strings. Best to give a version number, for example GCF_000001405.26. If only the main accession number is given then all records with that main accession will be returned, whichever version. Note that different versions will have different sequences.",
     "items": {
      "type": "string"
     }
    },
    "assemblyId": {
     "type": "string",
     "description": "If present, return reference sets for which a substring of their assemblyId matches this string (case insensitive)."
    },
    "md5checksums": {
     "type": "array",
     "description": "If present, return references for which the md5checksum matches. See ReferenceSet.md5checksum for details.",
     "items": {
      "type": "string"
     }
    },
    "pageSize": {
     "type": "integer",
     "description": "Specifies the maximum number of results to return in a single page.",
     "format": "int32"
    },
    "pageToken": {
     "type": "string",
     "description": "The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response."
    }
   }
  },
  "SearchReferenceSetsResponse": {
   "id": "SearchReferenceSetsResponse",
   "type": "object",
   "properties": {
    "nextPageToken": {
     "type": "string",
     "description": "The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results. This field will be empty if there aren't any additional results."
    },
    "referenceSets": {
     "type": "array",
     "description": "The matching references sets.",
     "items": {
      "$ref": "ReferenceSet"
     }
    }
   }
  },
  "SearchReferencesRequest": {
   "id": "SearchReferencesRequest",
   "type": "object",
   "description": "",
   "properties": {
    "accessions": {
     "type": "array",
     "description": "If present, return references for which the accession matches this string. Best to give a version number, for example GCF_000001405.26. If only the main accession number is given then all records with that main accession will be returned, whichever version. Note that different versions will have different sequences.",
     "items": {
      "type": "string"
     }
    },
    "md5checksums": {
     "type": "array",
     "description": "If present, return references for which the md5checksum matches. See Reference.md5checksum for construction details.",
     "items": {
      "type": "string"
     }
    },
    "pageSize": {
     "type": "integer",
     "description": "Specifies the maximum number of results to return in a single page.",
     "format": "int32"
    },
    "pageToken": {
     "type": "string",
     "description": "The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response."
    },
    "referenceSetId": {
     "type": "string",
     "description": "If present, return only references which belong to this reference set."
    }
   }
  },
  "SearchReferencesResponse": {
   "id": "SearchReferencesResponse",
   "type": "object",
   "properties": {
    "nextPageToken": {
     "type": "string",
     "description": "The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results. This field will be empty if there aren't any additional results."
    },
    "references": {
     "type": "array",
     "description": "The matching references.",
     "items": {
      "$ref": "Reference"
     }
    }
   }
  },
  "SearchVariantSetsRequest": {
   "id": "SearchVariantSetsRequest",
   "type": "object",
   "description": "The search variant sets request.",
   "properties": {
    "datasetIds": {
     "type": "array",
     "description": "Exactly one dataset ID must be provided here. Only variant sets which belong to this dataset will be returned.",
     "items": {
      "type": "string"
     }
    },
    "pageSize": {
     "type": "integer",
     "description": "The maximum number of variant sets to return in a request.",
     "format": "int32"
    },
    "pageToken": {
     "type": "string",
     "description": "The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response."
    }
   }
  },
  "SearchVariantSetsResponse": {
   "id": "SearchVariantSetsResponse",
   "type": "object",
   "description": "The search variant sets response.",
   "properties": {
    "nextPageToken": {
     "type": "string",
     "description": "The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results. This field will be empty if there aren't any additional results."
    },
    "variantSets": {
     "type": "array",
     "description": "The variant sets belonging to the requested dataset.",
     "items": {
      "$ref": "VariantSet"
     }
    }
   }
  },
  "SearchVariantsRequest": {
   "id": "SearchVariantsRequest",
   "type": "object",
   "description": "The variant search request.",
   "properties": {
    "callSetIds": {
     "type": "array",
     "description": "Only return variant calls which belong to call sets with these ids. Leaving this blank returns all variant calls. If a variant has no calls belonging to any of these call sets, it won't be returned at all. Currently, variants with no calls from any call set will never be returned.",
     "items": {
      "type": "string"
     }
    },
    "end": {
     "type": "string",
     "description": "The end of the window, 0-based exclusive. If unspecified or 0, defaults to the length of the reference.",
     "format": "int64"
    },
    "maxCalls": {
     "type": "integer",
     "description": "The maximum number of calls to return. However, at least one variant will always be returned, even if it has more calls than this limit. If unspecified, defaults to 5000.",
     "format": "int32"
    },
    "pageSize": {
     "type": "integer",
     "description": "The maximum number of variants to return. If unspecified, defaults to 5000.",
     "format": "int32"
    },
    "pageToken": {
     "type": "string",
     "description": "The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response."
    },
    "referenceName": {
     "type": "string",
     "description": "Required. Only return variants in this reference sequence."
    },
    "start": {
     "type": "string",
     "description": "The beginning of the window (0-based, inclusive) for which overlapping variants should be returned. If unspecified, defaults to 0.",
     "format": "int64"
    },
    "variantName": {
     "type": "string",
     "description": "Only return variants which have exactly this name."
    },
    "variantSetIds": {
     "type": "array",
     "description": "At most one variant set ID must be provided. Only variants from this variant set will be returned. If omitted, a call set id must be included in the request.",
     "items": {
      "type": "string"
     }
    }
   }
  },
  "SearchVariantsResponse": {
   "id": "SearchVariantsResponse",
   "type": "object",
   "description": "The variant search response.",
   "properties": {
    "nextPageToken": {
     "type": "string",
     "description": "The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results. This field will be empty if there aren't any additional results."
    },
    "variants": {
     "type": "array",
     "description": "The list of matching Variants.",
     "items": {
      "$ref": "Variant"
     }
    }
   }
  },
  "Transcript": {
   "id": "Transcript",
   "type": "object",
   "description": "A transcript represents the assertion that a particular region of the reference genome may be transcribed as RNA.",
   "properties": {
    "codingSequence": {
     "$ref": "TranscriptCodingSequence",
     "description": "The range of the coding sequence for this transcript, if any. To determine the exact ranges of coding sequence, intersect this range with those of the exons, if any. If there are any exons, the codingSequence must start and end within them.\n\nNote that in some cases, the reference genome will not exactly match the observed mRNA transcript e.g. due to variance in the source genome from reference. In these cases, exon.frame will not necessarily match the expected reference reading frame and coding exon reference bases cannot necessarily be concatenated to produce the original transcript mRNA."
    },
    "exons": {
     "type": "array",
     "description": "The exons that compose this transcript. This field should be unset for genomes where transcript splicing does not occur, for example prokaryotes.\n\n\nIntrons are regions of the transcript that are not included in the spliced RNA product. Though not explicitly modeled here, intron ranges can be deduced; all regions of this transcript that are not exons are introns.\n\n\nExonic sequences do not necessarily code for a translational product (amino acids). Only the regions of exons bounded by the codingSequence correspond to coding DNA sequence.\n\n\nExons are ordered by start position and may not overlap.",
     "items": {
      "$ref": "TranscriptExon"
     }
    },
    "geneId": {
     "type": "string",
     "description": "The annotation ID of the gene from which this transcript is transcribed."
    }
   }
  },
  "TranscriptCodingSequence": {
   "id": "TranscriptCodingSequence",
   "type": "object",
   "properties": {
    "end": {
     "type": "string",
     "description": "The end of the coding sequence on this annotation's reference sequence, 0-based exclusive. Note that this position is relative to the reference start, and not the containing annotation start.",
     "format": "int64"
    },
    "start": {
     "type": "string",
     "description": "The start of the coding sequence on this annotation's reference sequence, 0-based inclusive. Note that this position is relative to the reference start, and not the containing annotation start.",
     "format": "int64"
    }
   }
  },
  "TranscriptExon": {
   "id": "TranscriptExon",
   "type": "object",
   "properties": {
    "end": {
     "type": "string",
     "description": "The end position of the exon on this annotation's reference sequence, 0-based exclusive. Note that this is relative to the reference start, and not the containing annotation start.",
     "format": "int64"
    },
    "frame": {
     "$ref": "Int32Value",
     "description": "The frame of this exon. Contains a value of 0, 1, or 2, which indicates the offset of the first coding base of the exon within the reading frame of the coding DNA sequence, if any. This field is dependent on the strandedness of this annotation (see Annotation.position.reverseStrand). For forward stranded annotations, this offset is relative to the exon.start. For reverse strand annotations, this offset is relative to the exon.end-1.\n\nUnset if this exon does not intersect the coding sequence. Upon creation of a transcript, the frame must be populated for all or none of the coding exons."
    },
    "start": {
     "type": "string",
     "description": "The start position of the exon on this annotation's reference sequence, 0-based inclusive. Note that this is relative to the reference start, and not the containing annotation start.",
     "format": "int64"
    }
   }
  },
  "Variant": {
   "id": "Variant",
   "type": "object",
   "description": "A variant represents a change in DNA sequence relative to a reference sequence. For example, a variant could represent a SNP or an insertion. Variants belong to a variant set. Each of the calls on a variant represent a determination of genotype with respect to that variant. For example, a call might assign probability of 0.32 to the occurrence of a SNP named rs1234 in a sample named NA12345. A call belongs to a call set, which contains related calls typically from one sample.",
   "properties": {
    "alternateBases": {
     "type": "array",
     "description": "The bases that appear instead of the reference bases.",
     "items": {
      "type": "string"
     }
    },
    "calls": {
     "type": "array",
     "description": "The variant calls for this particular variant. Each one represents the determination of genotype with respect to this variant.",
     "items": {
      "$ref": "Call"
     }
    },
    "created": {
     "type": "string",
     "description": "The date this variant was created, in milliseconds from the epoch.",
     "format": "int64"
    },
    "end": {
     "type": "string",
     "description": "The end position (0-based) of this variant. This corresponds to the first base after the last base in the reference allele. So, the length of the reference allele is (end - start). This is useful for variants that don't explicitly give alternate bases, for example large deletions.",
     "format": "int64"
    },
    "filter": {
     "type": "array",
     "description": "A list of filters (normally quality filters) this variant has failed. PASS indicates this variant has passed all filters.",
     "items": {
      "type": "string"
     }
    },
    "id": {
     "type": "string",
     "description": "The Google generated ID of the variant, immutable."
    },
    "info": {
     "type": "object",
     "description": "A string which maps to an array of values.",
     "additionalProperties": {
      "type": "array",
      "description": "A string which maps to an array of values.",
      "items": {
       "type": "string"
      }
     }
    },
    "names": {
     "type": "array",
     "description": "Names for the variant, for example a RefSNP ID.",
     "items": {
      "type": "string"
     }
    },
    "quality": {
     "type": "number",
     "description": "A measure of how likely this variant is to be real. A higher value is better.",
     "format": "double"
    },
    "referenceBases": {
     "type": "string",
     "description": "The reference bases for this variant. They start at the given position."
    },
    "referenceName": {
     "type": "string",
     "description": "The reference on which this variant occurs. (such as chr20 or X)"
    },
    "start": {
     "type": "string",
     "description": "The position at which this variant occurs (0-based). This corresponds to the first base of the string of reference bases.",
     "format": "int64"
    },
    "variantSetId": {
     "type": "string",
     "description": "The ID of the variant set this variant belongs to."
    }
   }
  },
  "VariantAnnotation": {
   "id": "VariantAnnotation",
   "type": "object",
   "description": "A Variant annotation.",
   "properties": {
    "alternateBases": {
     "type": "string",
     "description": "The alternate allele for this variant. If multiple alternate alleles exist at this location, create a separate variant for each one, as they may represent distinct conditions."
    },
    "clinicalSignificance": {
     "type": "string",
     "description": "Describes the clinical significance of a variant. It is adapted from the ClinVar controlled vocabulary for clinical significance described at: http://www.ncbi.nlm.nih.gov/clinvar/docs/clinsig/",
     "enum": [
      "ASSOCIATION",
      "BENIGN",
      "CLINICAL_SIGNIFICANCE_UNSPECIFIED",
      "CONFERS_SENSITIVITY",
      "DRUG_RESPONSE",
      "HISTOCOMPATIBILITY",
      "LIKELY_BENIGN",
      "LIKELY_PATHOGENIC",
      "MULTIPLE_REPORTED",
      "OTHER",
      "PATHOGENIC",
      "PROTECTIVE",
      "RISK_FACTOR",
      "UNCERTAIN"
     ],
     "enumDescriptions": [
      "",
      "",
      "",
      "",
      "",
      "",
      "",
      "",
      "",
      "",
      "",
      "",
      "",
      ""
     ]
    },
    "conditions": {
     "type": "array",
     "description": "The set of conditions associated with this variant. A condition describes the way a variant influences human health.",
     "items": {
      "$ref": "VariantAnnotationCondition"
     }
    },
    "effect": {
     "type": "string",
     "description": "Effect of the variant on the coding sequence.",
     "enum": [
      "EFFECT_UNSPECIFIED",
      "FRAMESHIFT",
      "FRAME_PRESERVING_INDEL",
      "NONSYNONYMOUS_SNP",
      "OTHER",
      "SPLICE_SITE_DISRUPTION",
      "STOP_GAIN",
      "STOP_LOSS",
      "SYNONYMOUS_SNP"
     ],
     "enumDescriptions": [
      "",
      "",
      "",
      "",
      "",
      "",
      "",
      "",
      ""
     ]
    },
    "geneId": {
     "type": "string",
     "description": "Google annotation ID of the gene affected by this variant. This should be provided when the variant is created."
    },
    "transcriptIds": {
     "type": "array",
     "description": "Google annotation IDs of the transcripts affected by this variant. These should be provided when the variant is created.",
     "items": {
      "type": "string"
     }
    },
    "type": {
     "type": "string",
     "description": "Type has been adapted from ClinVar's list of variant types.",
     "enum": [
      "CNV",
      "DELETION",
      "INSERTION",
      "OTHER",
      "SNP",
      "STRUCTURAL",
      "SUBSTITUTION",
      "TYPE_UNSPECIFIED"
     ],
     "enumDescriptions": [
      "",
      "",
      "",
      "",
      "",
      "",
      "",
      ""
     ]
    }
   }
  },
  "VariantAnnotationCondition": {
   "id": "VariantAnnotationCondition",
   "type": "object",
   "description": "",
   "properties": {
    "conceptId": {
     "type": "string",
     "description": "The MedGen concept id associated with this gene. Search for these IDs at http://www.ncbi.nlm.nih.gov/medgen/"
    },
    "externalIds": {
     "type": "array",
     "description": "The set of external IDs for this condition.",
     "items": {
      "$ref": "ExternalId"
     }
    },
    "names": {
     "type": "array",
     "description": "A set of names for the condition.",
     "items": {
      "type": "string"
     }
    },
    "omimId": {
     "type": "string",
     "description": "The OMIM id for this condition. Search for these IDs at http://omim.org/"
    }
   }
  },
  "VariantSet": {
   "id": "VariantSet",
   "type": "object",
   "description": "A variant set is a collection of call sets and variants. It contains summary statistics of those contents. A variant set belongs to a dataset.",
   "properties": {
    "datasetId": {
     "type": "string",
     "description": "The dataset to which this variant set belongs. Immutable."
    },
    "id": {
     "type": "string",
     "description": "The Google-generated ID of the variant set. Immutable."
    },
    "metadata": {
     "type": "array",
     "description": "The metadata associated with this variant set.",
     "items": {
      "$ref": "Metadata"
     }
    },
    "referenceBounds": {
     "type": "array",
     "description": "A list of all references used by the variants in a variant set with associated coordinate upper bounds for each one.",
     "items": {
      "$ref": "ReferenceBound"
     }
    }
   }
  }
 },
 "resources": {
  "annotationSets": {
   "methods": {
    "create": {
     "id": "genomics.annotationSets.create",
     "path": "annotationSets",
     "httpMethod": "POST",
     "description": "Creates a new annotation set. Caller must have WRITE permission for the associated dataset.",
     "request": {
      "$ref": "AnnotationSet"
     },
     "response": {
      "$ref": "AnnotationSet"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics"
     ]
    },
    "delete": {
     "id": "genomics.annotationSets.delete",
     "path": "annotationSets/{annotationSetId}",
     "httpMethod": "DELETE",
     "description": "Deletes an annotation set. Caller must have WRITE permission for the associated annotation set.",
     "parameters": {
      "annotationSetId": {
       "type": "string",
       "description": "The ID of the annotation set to be deleted.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "annotationSetId"
     ],
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics"
     ]
    },
    "get": {
     "id": "genomics.annotationSets.get",
     "path": "annotationSets/{annotationSetId}",
     "httpMethod": "GET",
     "description": "Gets an annotation set. Caller must have READ permission for the associated dataset.",
     "parameters": {
      "annotationSetId": {
       "type": "string",
       "description": "The ID of the annotation set to be retrieved.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "annotationSetId"
     ],
     "response": {
      "$ref": "AnnotationSet"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics",
      "https://www.googleapis.com/auth/genomics.readonly"
     ]
    },
    "patch": {
     "id": "genomics.annotationSets.patch",
     "path": "annotationSets/{annotationSetId}",
     "httpMethod": "PATCH",
     "description": "Updates an annotation set. The update must respect all mutability restrictions and other invariants described on the annotation set resource. Caller must have WRITE permission for the associated dataset. This method supports patch semantics.",
     "parameters": {
      "annotationSetId": {
       "type": "string",
       "description": "The ID of the annotation set to be updated.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "annotationSetId"
     ],
     "request": {
      "$ref": "AnnotationSet"
     },
     "response": {
      "$ref": "AnnotationSet"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics"
     ]
    },
    "search": {
     "id": "genomics.annotationSets.search",
     "path": "annotationSets/search",
     "httpMethod": "POST",
     "description": "Searches for annotation sets that match the given criteria. Results are returned in a deterministic order. Caller must have READ permission for the queried datasets.",
     "request": {
      "$ref": "SearchAnnotationSetsRequest"
     },
     "response": {
      "$ref": "SearchAnnotationSetsResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics",
      "https://www.googleapis.com/auth/genomics.readonly"
     ]
    },
    "update": {
     "id": "genomics.annotationSets.update",
     "path": "annotationSets/{annotationSetId}",
     "httpMethod": "PUT",
     "description": "Updates an annotation set. The update must respect all mutability restrictions and other invariants described on the annotation set resource. Caller must have WRITE permission for the associated dataset.",
     "parameters": {
      "annotationSetId": {
       "type": "string",
       "description": "The ID of the annotation set to be updated.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "annotationSetId"
     ],
     "request": {
      "$ref": "AnnotationSet"
     },
     "response": {
      "$ref": "AnnotationSet"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics"
     ]
    }
   }
  },
  "annotations": {
   "methods": {
    "batchCreate": {
     "id": "genomics.annotations.batchCreate",
     "path": "annotations:batchCreate",
     "httpMethod": "POST",
     "description": "Creates one or more new annotations atomically. All annotations must belong to the same annotation set. Caller must have WRITE permission for this annotation set. For optimal performance, batch positionally adjacent annotations together.\n\n\nIf the request has a systemic issue, such as an attempt to write to an inaccessible annotation set, the entire RPC will fail accordingly. For lesser data issues, when possible an error will be isolated to the corresponding batch entry in the response; the remaining well formed annotations will be created normally.",
     "request": {
      "$ref": "BatchCreateAnnotationsRequest"
     },
     "response": {
      "$ref": "BatchAnnotationsResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics"
     ]
    },
    "create": {
     "id": "genomics.annotations.create",
     "path": "annotations",
     "httpMethod": "POST",
     "description": "Creates a new annotation. Caller must have WRITE permission for the associated annotation set.",
     "request": {
      "$ref": "Annotation"
     },
     "response": {
      "$ref": "Annotation"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics"
     ]
    },
    "delete": {
     "id": "genomics.annotations.delete",
     "path": "annotations/{annotationId}",
     "httpMethod": "DELETE",
     "description": "Deletes an annotation. Caller must have WRITE permission for the associated annotation set.",
     "parameters": {
      "annotationId": {
       "type": "string",
       "description": "The ID of the annotation set to be deleted.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "annotationId"
     ],
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics"
     ]
    },
    "get": {
     "id": "genomics.annotations.get",
     "path": "annotations/{annotationId}",
     "httpMethod": "GET",
     "description": "Gets an annotation. Caller must have READ permission for the associated annotation set.",
     "parameters": {
      "annotationId": {
       "type": "string",
       "description": "The ID of the annotation set to be retrieved.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "annotationId"
     ],
     "response": {
      "$ref": "Annotation"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics",
      "https://www.googleapis.com/auth/genomics.readonly"
     ]
    },
    "patch": {
     "id": "genomics.annotations.patch",
     "path": "annotations/{annotationId}",
     "httpMethod": "PATCH",
     "description": "Updates an annotation. The update must respect all mutability restrictions and other invariants described on the annotation resource. Caller must have WRITE permission for the associated dataset. This method supports patch semantics.",
     "parameters": {
      "annotationId": {
       "type": "string",
       "description": "The ID of the annotation set to be updated.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "annotationId"
     ],
     "request": {
      "$ref": "Annotation"
     },
     "response": {
      "$ref": "Annotation"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics"
     ]
    },
    "search": {
     "id": "genomics.annotations.search",
     "path": "annotations/search",
     "httpMethod": "POST",
     "description": "Searches for annotations that match the given criteria. Results are returned ordered by start position. Annotations that have matching start positions are ordered deterministically. Caller must have READ permission for the queried annotation sets.",
     "request": {
      "$ref": "SearchAnnotationsRequest"
     },
     "response": {
      "$ref": "SearchAnnotationsResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics",
      "https://www.googleapis.com/auth/genomics.readonly"
     ]
    },
    "update": {
     "id": "genomics.annotations.update",
     "path": "annotations/{annotationId}",
     "httpMethod": "PUT",
     "description": "Updates an annotation. The update must respect all mutability restrictions and other invariants described on the annotation resource. Caller must have WRITE permission for the associated dataset.",
     "parameters": {
      "annotationId": {
       "type": "string",
       "description": "The ID of the annotation set to be updated.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "annotationId"
     ],
     "request": {
      "$ref": "Annotation"
     },
     "response": {
      "$ref": "Annotation"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics"
     ]
    }
   }
  },
  "callsets": {
   "methods": {
    "create": {
     "id": "genomics.callsets.create",
     "path": "callsets",
     "httpMethod": "POST",
     "description": "Creates a new call set.",
     "request": {
      "$ref": "CallSet"
     },
     "response": {
      "$ref": "CallSet"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics"
     ]
    },
    "delete": {
     "id": "genomics.callsets.delete",
     "path": "callsets/{callSetId}",
     "httpMethod": "DELETE",
     "description": "Deletes a call set.",
     "parameters": {
      "callSetId": {
       "type": "string",
       "description": "The ID of the call set to be deleted.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "callSetId"
     ],
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics"
     ]
    },
    "get": {
     "id": "genomics.callsets.get",
     "path": "callsets/{callSetId}",
     "httpMethod": "GET",
     "description": "Gets a call set by ID.",
     "parameters": {
      "callSetId": {
       "type": "string",
       "description": "The ID of the call set.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "callSetId"
     ],
     "response": {
      "$ref": "CallSet"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics",
      "https://www.googleapis.com/auth/genomics.readonly"
     ]
    },
    "patch": {
     "id": "genomics.callsets.patch",
     "path": "callsets/{callSetId}",
     "httpMethod": "PATCH",
     "description": "Updates a call set. This method supports patch semantics.",
     "parameters": {
      "callSetId": {
       "type": "string",
       "description": "The ID of the call set to be updated.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "callSetId"
     ],
     "request": {
      "$ref": "CallSet"
     },
     "response": {
      "$ref": "CallSet"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics"
     ]
    },
    "search": {
     "id": "genomics.callsets.search",
     "path": "callsets/search",
     "httpMethod": "POST",
     "description": "Gets a list of call sets matching the criteria.\n\nImplements GlobalAllianceApi.searchCallSets.",
     "request": {
      "$ref": "SearchCallSetsRequest"
     },
     "response": {
      "$ref": "SearchCallSetsResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics",
      "https://www.googleapis.com/auth/genomics.readonly"
     ]
    },
    "update": {
     "id": "genomics.callsets.update",
     "path": "callsets/{callSetId}",
     "httpMethod": "PUT",
     "description": "Updates a call set.",
     "parameters": {
      "callSetId": {
       "type": "string",
       "description": "The ID of the call set to be updated.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "callSetId"
     ],
     "request": {
      "$ref": "CallSet"
     },
     "response": {
      "$ref": "CallSet"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics"
     ]
    }
   }
  },
  "datasets": {
   "methods": {
    "create": {
     "id": "genomics.datasets.create",
     "path": "datasets",
     "httpMethod": "POST",
     "description": "Creates a new dataset.",
     "request": {
      "$ref": "Dataset"
     },
     "response": {
      "$ref": "Dataset"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics"
     ]
    },
    "delete": {
     "id": "genomics.datasets.delete",
     "path": "datasets/{datasetId}",
     "httpMethod": "DELETE",
     "description": "Deletes a dataset.",
     "parameters": {
      "datasetId": {
       "type": "string",
       "description": "The ID of the dataset to be deleted.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "datasetId"
     ],
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics"
     ]
    },
    "get": {
     "id": "genomics.datasets.get",
     "path": "datasets/{datasetId}",
     "httpMethod": "GET",
     "description": "Gets a dataset by ID.",
     "parameters": {
      "datasetId": {
       "type": "string",
       "description": "The ID of the dataset.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "datasetId"
     ],
     "response": {
      "$ref": "Dataset"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics",
      "https://www.googleapis.com/auth/genomics.readonly"
     ]
    },
    "list": {
     "id": "genomics.datasets.list",
     "path": "datasets",
     "httpMethod": "GET",
     "description": "Lists datasets within a project.",
     "parameters": {
      "pageSize": {
       "type": "integer",
       "description": "The maximum number of results returned by this request. If unspecified, defaults to 50.",
       "format": "int32",
       "location": "query"
      },
      "pageToken": {
       "type": "string",
       "description": "The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.",
       "location": "query"
      },
      "projectNumber": {
       "type": "string",
       "description": "Required. The project to list datasets for.",
       "format": "int64",
       "location": "query"
      }
     },
     "response": {
      "$ref": "ListDatasetsResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics",
      "https://www.googleapis.com/auth/genomics.readonly"
     ]
    },
    "patch": {
     "id": "genomics.datasets.patch",
     "path": "datasets/{datasetId}",
     "httpMethod": "PATCH",
     "description": "Updates a dataset. This method supports patch semantics.",
     "parameters": {
      "datasetId": {
       "type": "string",
       "description": "The ID of the dataset to be updated.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "datasetId"
     ],
     "request": {
      "$ref": "Dataset"
     },
     "response": {
      "$ref": "Dataset"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics"
     ]
    },
    "undelete": {
     "id": "genomics.datasets.undelete",
     "path": "datasets/{datasetId}/undelete",
     "httpMethod": "POST",
     "description": "Undeletes a dataset by restoring a dataset which was deleted via this API. This operation is only possible for a week after the deletion occurred.",
     "parameters": {
      "datasetId": {
       "type": "string",
       "description": "The ID of the dataset to be undeleted.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "datasetId"
     ],
     "response": {
      "$ref": "Dataset"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics"
     ]
    },
    "update": {
     "id": "genomics.datasets.update",
     "path": "datasets/{datasetId}",
     "httpMethod": "PUT",
     "description": "Updates a dataset.",
     "parameters": {
      "datasetId": {
       "type": "string",
       "description": "The ID of the dataset to be updated.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "datasetId"
     ],
     "request": {
      "$ref": "Dataset"
     },
     "response": {
      "$ref": "Dataset"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics"
     ]
    }
   }
  },
  "experimental": {
   "resources": {
    "jobs": {
     "methods": {
      "create": {
       "id": "genomics.experimental.jobs.create",
       "path": "experimental/jobs/create",
       "httpMethod": "POST",
       "description": "Creates and asynchronously runs an ad-hoc job. This is an experimental call and may be removed or changed at any time.",
       "request": {
        "$ref": "ExperimentalCreateJobRequest"
       },
       "response": {
        "$ref": "ExperimentalCreateJobResponse"
       },
       "scopes": [
        "https://www.googleapis.com/auth/cloud-platform",
        "https://www.googleapis.com/auth/devstorage.read_write",
        "https://www.googleapis.com/auth/genomics"
       ]
      }
     }
    }
   }
  },
  "jobs": {
   "methods": {
    "cancel": {
     "id": "genomics.jobs.cancel",
     "path": "jobs/{jobId}/cancel",
     "httpMethod": "POST",
     "description": "Cancels a job by ID. Note that it is possible for partial results to be generated and stored for cancelled jobs.",
     "parameters": {
      "jobId": {
       "type": "string",
       "description": "Required. The ID of the job.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "jobId"
     ],
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics"
     ]
    },
    "get": {
     "id": "genomics.jobs.get",
     "path": "jobs/{jobId}",
     "httpMethod": "GET",
     "description": "Gets a job by ID.",
     "parameters": {
      "jobId": {
       "type": "string",
       "description": "Required. The ID of the job.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "jobId"
     ],
     "response": {
      "$ref": "Job"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics",
      "https://www.googleapis.com/auth/genomics.readonly"
     ]
    },
    "search": {
     "id": "genomics.jobs.search",
     "path": "jobs/search",
     "httpMethod": "POST",
     "description": "Gets a list of jobs matching the criteria.",
     "request": {
      "$ref": "SearchJobsRequest"
     },
     "response": {
      "$ref": "SearchJobsResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics",
      "https://www.googleapis.com/auth/genomics.readonly"
     ]
    }
   }
  },
  "readgroupsets": {
   "methods": {
    "align": {
     "id": "genomics.readgroupsets.align",
     "path": "readgroupsets/align",
     "httpMethod": "POST",
     "description": "Aligns read data from existing read group sets or files from Google Cloud Storage. See the  alignment and variant calling documentation for more details.",
     "request": {
      "$ref": "AlignReadGroupSetsRequest"
     },
     "response": {
      "$ref": "AlignReadGroupSetsResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/devstorage.read_write",
      "https://www.googleapis.com/auth/genomics"
     ]
    },
    "call": {
     "id": "genomics.readgroupsets.call",
     "path": "readgroupsets/call",
     "httpMethod": "POST",
     "description": "Calls variants on read data from existing read group sets or files from Google Cloud Storage. See the  alignment and variant calling documentation for more details.",
     "request": {
      "$ref": "CallReadGroupSetsRequest"
     },
     "response": {
      "$ref": "CallReadGroupSetsResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/devstorage.read_write",
      "https://www.googleapis.com/auth/genomics"
     ]
    },
    "delete": {
     "id": "genomics.readgroupsets.delete",
     "path": "readgroupsets/{readGroupSetId}",
     "httpMethod": "DELETE",
     "description": "Deletes a read group set.",
     "parameters": {
      "readGroupSetId": {
       "type": "string",
       "description": "The ID of the read group set to be deleted. The caller must have WRITE permissions to the dataset associated with this read group set.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "readGroupSetId"
     ],
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics"
     ]
    },
    "export": {
     "id": "genomics.readgroupsets.export",
     "path": "readgroupsets/export",
     "httpMethod": "POST",
     "description": "Exports read group sets to a BAM file in Google Cloud Storage.\n\nNote that currently there may be some differences between exported BAM files and the original BAM file at the time of import. See ImportReadGroupSets for details.",
     "request": {
      "$ref": "ExportReadGroupSetsRequest"
     },
     "response": {
      "$ref": "ExportReadGroupSetsResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/devstorage.read_write",
      "https://www.googleapis.com/auth/genomics"
     ]
    },
    "get": {
     "id": "genomics.readgroupsets.get",
     "path": "readgroupsets/{readGroupSetId}",
     "httpMethod": "GET",
     "description": "Gets a read group set by ID.",
     "parameters": {
      "readGroupSetId": {
       "type": "string",
       "description": "The ID of the read group set.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "readGroupSetId"
     ],
     "response": {
      "$ref": "ReadGroupSet"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics",
      "https://www.googleapis.com/auth/genomics.readonly"
     ]
    },
    "import": {
     "id": "genomics.readgroupsets.import",
     "path": "readgroupsets/import",
     "httpMethod": "POST",
     "description": "Creates read group sets by asynchronously importing the provided information. The caller must have WRITE permissions to the dataset.\n\nNotes on BAM import:  \n- Tags will be converted to strings - tag types are not preserved\n- Comments (@CO) in the input file header are not imported\n- Original order of reference headers is not preserved\n- Any reverse stranded unmapped reads will be reverse complemented, and their qualities (and \"BQ\" tag, if any) will be reversed\n- Unmapped reads will be stripped of positional information (referenceName and position)",
     "request": {
      "$ref": "ImportReadGroupSetsRequest"
     },
     "response": {
      "$ref": "ImportReadGroupSetsResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/devstorage.read_write",
      "https://www.googleapis.com/auth/genomics"
     ]
    },
    "patch": {
     "id": "genomics.readgroupsets.patch",
     "path": "readgroupsets/{readGroupSetId}",
     "httpMethod": "PATCH",
     "description": "Updates a read group set. This method supports patch semantics.",
     "parameters": {
      "readGroupSetId": {
       "type": "string",
       "description": "The ID of the read group set to be updated. The caller must have WRITE permissions to the dataset associated with this read group set.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "readGroupSetId"
     ],
     "request": {
      "$ref": "ReadGroupSet"
     },
     "response": {
      "$ref": "ReadGroupSet"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics"
     ]
    },
    "search": {
     "id": "genomics.readgroupsets.search",
     "path": "readgroupsets/search",
     "httpMethod": "POST",
     "description": "Searches for read group sets matching the criteria.\n\nImplements GlobalAllianceApi.searchReadGroupSets.",
     "request": {
      "$ref": "SearchReadGroupSetsRequest"
     },
     "response": {
      "$ref": "SearchReadGroupSetsResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics",
      "https://www.googleapis.com/auth/genomics.readonly"
     ]
    },
    "update": {
     "id": "genomics.readgroupsets.update",
     "path": "readgroupsets/{readGroupSetId}",
     "httpMethod": "PUT",
     "description": "Updates a read group set.",
     "parameters": {
      "readGroupSetId": {
       "type": "string",
       "description": "The ID of the read group set to be updated. The caller must have WRITE permissions to the dataset associated with this read group set.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "readGroupSetId"
     ],
     "request": {
      "$ref": "ReadGroupSet"
     },
     "response": {
      "$ref": "ReadGroupSet"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics"
     ]
    }
   },
   "resources": {
    "coveragebuckets": {
     "methods": {
      "list": {
       "id": "genomics.readgroupsets.coveragebuckets.list",
       "path": "readgroupsets/{readGroupSetId}/coveragebuckets",
       "httpMethod": "GET",
       "description": "Lists fixed width coverage buckets for a read group set, each of which correspond to a range of a reference sequence. Each bucket summarizes coverage information across its corresponding genomic range.\n\nCoverage is defined as the number of reads which are aligned to a given base in the reference sequence. Coverage buckets are available at several precomputed bucket widths, enabling retrieval of various coverage 'zoom levels'. The caller must have READ permissions for the target read group set.",
       "parameters": {
        "pageSize": {
         "type": "integer",
         "description": "The maximum number of results to return in a single page. If unspecified, defaults to 1024. The maximum value is 2048.",
         "format": "int32",
         "location": "query"
        },
        "pageToken": {
         "type": "string",
         "description": "The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.",
         "location": "query"
        },
        "range.end": {
         "type": "string",
         "description": "The end position of the range on the reference, 0-based exclusive. If specified, referenceName must also be specified.",
         "format": "int64",
         "location": "query"
        },
        "range.referenceName": {
         "type": "string",
         "description": "The reference sequence name, for example chr1, 1, or chrX.",
         "location": "query"
        },
        "range.start": {
         "type": "string",
         "description": "The start position of the range on the reference, 0-based inclusive. If specified, referenceName must also be specified.",
         "format": "int64",
         "location": "query"
        },
        "readGroupSetId": {
         "type": "string",
         "description": "Required. The ID of the read group set over which coverage is requested.",
         "required": true,
         "location": "path"
        },
        "targetBucketWidth": {
         "type": "string",
         "description": "The desired width of each reported coverage bucket in base pairs. This will be rounded down to the nearest precomputed bucket width; the value of which is returned as bucketWidth in the response. Defaults to infinity (each bucket spans an entire reference sequence) or the length of the target range, if specified. The smallest precomputed bucketWidth is currently 2048 base pairs; this is subject to change.",
         "format": "int64",
         "location": "query"
        }
       },
       "parameterOrder": [
        "readGroupSetId"
       ],
       "response": {
        "$ref": "ListCoverageBucketsResponse"
       },
       "scopes": [
        "https://www.googleapis.com/auth/cloud-platform",
        "https://www.googleapis.com/auth/genomics",
        "https://www.googleapis.com/auth/genomics.readonly"
       ]
      }
     }
    }
   }
  },
  "reads": {
   "methods": {
    "search": {
     "id": "genomics.reads.search",
     "path": "reads/search",
     "httpMethod": "POST",
     "description": "Gets a list of reads for one or more read group sets. Reads search operates over a genomic coordinate space of reference sequence & position defined over the reference sequences to which the requested read group sets are aligned.\n\nIf a target positional range is specified, search returns all reads whose alignment to the reference genome overlap the range. A query which specifies only read group set IDs yields all reads in those read group sets, including unmapped reads.\n\nAll reads returned (including reads on subsequent pages) are ordered by genomic coordinate (reference sequence & position). Reads with equivalent genomic coordinates are returned in a deterministic order.\n\nImplements GlobalAllianceApi.searchReads.",
     "request": {
      "$ref": "SearchReadsRequest"
     },
     "response": {
      "$ref": "SearchReadsResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics",
      "https://www.googleapis.com/auth/genomics.readonly"
     ]
    }
   }
  },
  "references": {
   "methods": {
    "get": {
     "id": "genomics.references.get",
     "path": "references/{referenceId}",
     "httpMethod": "GET",
     "description": "Gets a reference.\n\nImplements GlobalAllianceApi.getReference.",
     "parameters": {
      "referenceId": {
       "type": "string",
       "description": "The ID of the reference.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "referenceId"
     ],
     "response": {
      "$ref": "Reference"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics",
      "https://www.googleapis.com/auth/genomics.readonly"
     ]
    },
    "search": {
     "id": "genomics.references.search",
     "path": "references/search",
     "httpMethod": "POST",
     "description": "Searches for references which match the given criteria.\n\nImplements GlobalAllianceApi.searchReferences.",
     "request": {
      "$ref": "SearchReferencesRequest"
     },
     "response": {
      "$ref": "SearchReferencesResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics",
      "https://www.googleapis.com/auth/genomics.readonly"
     ]
    }
   },
   "resources": {
    "bases": {
     "methods": {
      "list": {
       "id": "genomics.references.bases.list",
       "path": "references/{referenceId}/bases",
       "httpMethod": "GET",
       "description": "Lists the bases in a reference, optionally restricted to a range.\n\nImplements GlobalAllianceApi.getReferenceBases.",
       "parameters": {
        "end": {
         "type": "string",
         "description": "The end position (0-based, exclusive) of this query. Defaults to the length of this reference.",
         "format": "int64",
         "location": "query"
        },
        "pageSize": {
         "type": "integer",
         "description": "Specifies the maximum number of bases to return in a single page.",
         "format": "int32",
         "location": "query"
        },
        "pageToken": {
         "type": "string",
         "description": "The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.",
         "location": "query"
        },
        "referenceId": {
         "type": "string",
         "description": "The ID of the reference.",
         "required": true,
         "location": "path"
        },
        "start": {
         "type": "string",
         "description": "The start position (0-based) of this query. Defaults to 0.",
         "format": "int64",
         "location": "query"
        }
       },
       "parameterOrder": [
        "referenceId"
       ],
       "response": {
        "$ref": "ListBasesResponse"
       },
       "scopes": [
        "https://www.googleapis.com/auth/cloud-platform",
        "https://www.googleapis.com/auth/genomics",
        "https://www.googleapis.com/auth/genomics.readonly"
       ]
      }
     }
    }
   }
  },
  "referencesets": {
   "methods": {
    "get": {
     "id": "genomics.referencesets.get",
     "path": "referencesets/{referenceSetId}",
     "httpMethod": "GET",
     "description": "Gets a reference set.\n\nImplements GlobalAllianceApi.getReferenceSet.",
     "parameters": {
      "referenceSetId": {
       "type": "string",
       "description": "The ID of the reference set.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "referenceSetId"
     ],
     "response": {
      "$ref": "ReferenceSet"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics",
      "https://www.googleapis.com/auth/genomics.readonly"
     ]
    },
    "search": {
     "id": "genomics.referencesets.search",
     "path": "referencesets/search",
     "httpMethod": "POST",
     "description": "Searches for reference sets which match the given criteria.\n\nImplements GlobalAllianceApi.searchReferenceSets.",
     "request": {
      "$ref": "SearchReferenceSetsRequest"
     },
     "response": {
      "$ref": "SearchReferenceSetsResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics",
      "https://www.googleapis.com/auth/genomics.readonly"
     ]
    }
   }
  },
  "variants": {
   "methods": {
    "create": {
     "id": "genomics.variants.create",
     "path": "variants",
     "httpMethod": "POST",
     "description": "Creates a new variant.",
     "request": {
      "$ref": "Variant"
     },
     "response": {
      "$ref": "Variant"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics"
     ]
    },
    "delete": {
     "id": "genomics.variants.delete",
     "path": "variants/{variantId}",
     "httpMethod": "DELETE",
     "description": "Deletes a variant.",
     "parameters": {
      "variantId": {
       "type": "string",
       "description": "The ID of the variant to be deleted.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "variantId"
     ],
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics"
     ]
    },
    "get": {
     "id": "genomics.variants.get",
     "path": "variants/{variantId}",
     "httpMethod": "GET",
     "description": "Gets a variant by ID.",
     "parameters": {
      "variantId": {
       "type": "string",
       "description": "The ID of the variant.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "variantId"
     ],
     "response": {
      "$ref": "Variant"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics",
      "https://www.googleapis.com/auth/genomics.readonly"
     ]
    },
    "search": {
     "id": "genomics.variants.search",
     "path": "variants/search",
     "httpMethod": "POST",
     "description": "Gets a list of variants matching the criteria.\n\nImplements GlobalAllianceApi.searchVariants.",
     "request": {
      "$ref": "SearchVariantsRequest"
     },
     "response": {
      "$ref": "SearchVariantsResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics",
      "https://www.googleapis.com/auth/genomics.readonly"
     ]
    },
    "update": {
     "id": "genomics.variants.update",
     "path": "variants/{variantId}",
     "httpMethod": "PUT",
     "description": "Updates a variant's names and info fields. All other modifications are silently ignored. Returns the modified variant without its calls.",
     "parameters": {
      "variantId": {
       "type": "string",
       "description": "The ID of the variant to be updated.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "variantId"
     ],
     "request": {
      "$ref": "Variant"
     },
     "response": {
      "$ref": "Variant"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics"
     ]
    }
   }
  },
  "variantsets": {
   "methods": {
    "create": {
     "id": "genomics.variantsets.create",
     "path": "variantsets",
     "httpMethod": "POST",
     "description": "Creates a new variant set (only necessary in v1).\n\nThe provided variant set must have a valid datasetId set - all other fields are optional. Note that the id field will be ignored, as this is assigned by the server.",
     "request": {
      "$ref": "VariantSet"
     },
     "response": {
      "$ref": "VariantSet"
     }
    },
    "delete": {
     "id": "genomics.variantsets.delete",
     "path": "variantsets/{variantSetId}",
     "httpMethod": "DELETE",
     "description": "Deletes the contents of a variant set. The variant set object is not deleted.",
     "parameters": {
      "variantSetId": {
       "type": "string",
       "description": "The ID of the variant set to be deleted.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "variantSetId"
     ],
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics"
     ]
    },
    "export": {
     "id": "genomics.variantsets.export",
     "path": "variantsets/{variantSetId}/export",
     "httpMethod": "POST",
     "description": "Exports variant set data to an external destination.",
     "parameters": {
      "variantSetId": {
       "type": "string",
       "description": "Required. The ID of the variant set that contains variant data which should be exported. The caller must have READ access to this variant set.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "variantSetId"
     ],
     "request": {
      "$ref": "ExportVariantSetRequest"
     },
     "response": {
      "$ref": "ExportVariantSetResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/bigquery",
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics"
     ]
    },
    "get": {
     "id": "genomics.variantsets.get",
     "path": "variantsets/{variantSetId}",
     "httpMethod": "GET",
     "description": "Gets a variant set by ID.",
     "parameters": {
      "variantSetId": {
       "type": "string",
       "description": "Required. The ID of the variant set.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "variantSetId"
     ],
     "response": {
      "$ref": "VariantSet"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics",
      "https://www.googleapis.com/auth/genomics.readonly"
     ]
    },
    "importVariants": {
     "id": "genomics.variantsets.importVariants",
     "path": "variantsets/{variantSetId}/importVariants",
     "httpMethod": "POST",
     "description": "Creates variant data by asynchronously importing the provided information.\n\nThe variants for import will be merged with any existing data and each other according to the behavior of mergeVariants. In particular, this means for merged VCF variants that have conflicting INFO fields, some data will be arbitrarily discarded. As a special case, for single-sample VCF files, QUAL and FILTER fields will be moved to the call level; these are sometimes interpreted in a call-specific context. Imported VCF headers are appended to the metadata already in a variant set.",
     "parameters": {
      "variantSetId": {
       "type": "string",
       "description": "Required. The variant set to which variant data should be imported.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "variantSetId"
     ],
     "request": {
      "$ref": "ImportVariantsRequest"
     },
     "response": {
      "$ref": "ImportVariantsResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/devstorage.read_write",
      "https://www.googleapis.com/auth/genomics"
     ]
    },
    "mergeVariants": {
     "id": "genomics.variantsets.mergeVariants",
     "path": "variantsets/{variantSetId}/mergeVariants",
     "httpMethod": "POST",
     "description": "Merges the given variants with existing variants. Each variant will be merged with an existing variant that matches its reference sequence, start, end, reference bases, and alternative bases. If no such variant exists, a new one will be created.\n\nWhen variants are merged, the call information from the new variant is added to the existing variant, and other fields (such as key/value pairs) are discarded.",
     "parameters": {
      "variantSetId": {
       "type": "string",
       "description": "The destination variant set.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "variantSetId"
     ],
     "request": {
      "$ref": "MergeVariantsRequest"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics"
     ]
    },
    "patch": {
     "id": "genomics.variantsets.patch",
     "path": "variantsets/{variantSetId}",
     "httpMethod": "PATCH",
     "description": "Updates a variant set's metadata. All other modifications are silently ignored. This method supports patch semantics.",
     "parameters": {
      "variantSetId": {
       "type": "string",
       "description": "The ID of the variant to be updated (must already exist).",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "variantSetId"
     ],
     "request": {
      "$ref": "VariantSet"
     },
     "response": {
      "$ref": "VariantSet"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics"
     ]
    },
    "search": {
     "id": "genomics.variantsets.search",
     "path": "variantsets/search",
     "httpMethod": "POST",
     "description": "Returns a list of all variant sets matching search criteria.\n\nImplements GlobalAllianceApi.searchVariantSets.",
     "request": {
      "$ref": "SearchVariantSetsRequest"
     },
     "response": {
      "$ref": "SearchVariantSetsResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics",
      "https://www.googleapis.com/auth/genomics.readonly"
     ]
    },
    "update": {
     "id": "genomics.variantsets.update",
     "path": "variantsets/{variantSetId}",
     "httpMethod": "PUT",
     "description": "Updates a variant set's metadata. All other modifications are silently ignored.",
     "parameters": {
      "variantSetId": {
       "type": "string",
       "description": "The ID of the variant to be updated (must already exist).",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "variantSetId"
     ],
     "request": {
      "$ref": "VariantSet"
     },
     "response": {
      "$ref": "VariantSet"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform",
      "https://www.googleapis.com/auth/genomics"
     ]
    }
   }
  }
 }
}
