# Genomics API . annotations

## Instance Methods

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.

Creates a new annotation. Caller must have WRITE permission for the associated annotation set.

Deletes an annotation. Caller must have WRITE permission for the associated annotation set.

Gets an annotation. Caller must have READ permission for the associated annotation set.

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.

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.

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.

### Method Details

`batchCreate(body)`

    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.

    If 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.

    Args:
      body: object, The request body. (required)
        The object takes the form of:

    {
        "annotations": [ # The annotations to be created. At most 4096 can be specified in a single request.
          { # 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'.
            "info": { # A string which maps to an array of values.
              "a_key": [ # A string which maps to an array of values.
                "A String",
              ],
            },
            "name": "A String", # The display name of this annotation.
            "type": "A String", # The data type for this annotation. Must match the containing annotation set's type.
            "variant": { # A Variant annotation. # 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.
              "type": "A String", # Type has been adapted from ClinVar's list of variant types.
              "effect": "A String", # Effect of the variant on the coding sequence.
              "transcriptIds": [ # Google annotation IDs of the transcripts affected by this variant. These should be provided when the variant is created.
                "A String",
              ],
              "alternateBases": "A String", # 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": "A String", # 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/
              "conditions": [ # The set of conditions associated with this variant. A condition describes the way a variant influences human health.
                {
                  "conceptId": "A String", # The MedGen concept id associated with this gene. Search for these IDs at http://www.ncbi.nlm.nih.gov/medgen/
                  "omimId": "A String", # The OMIM id for this condition. Search for these IDs at http://omim.org/
                  "externalIds": [ # The set of external IDs for this condition.
                    {
                      "sourceName": "A String", # The name of the source of this data.
                      "id": "A String", # The id used by the source of this data.
                    },
                  ],
                  "names": [ # A set of names for the condition.
                    "A String",
                  ],
                },
              ],
              "geneId": "A String", # Google annotation ID of the gene affected by this variant. This should be provided when the variant is created.
            },
            "annotationSetId": "A String", # The ID of the containing annotation set.
            "position": { # A 0-based half-open genomic coordinate range over a reference sequence, for representing the position of a genomic resource. # The position of this annotation on the reference sequence.
              "start": "A String", # The start position of the range on the reference, 0-based inclusive.
              "referenceId": "A String", # The ID of the Google Genomics reference associated with this range.
              "end": "A String", # The end position of the range on the reference, 0-based exclusive.
              "reverseStrand": True or False, # 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.
              "referenceName": "A String", # The display name corresponding to the reference specified by referenceId, for example chr1, 1, or chrX.
            },
            "transcript": { # A transcript represents the assertion that a particular region of the reference genome may be transcribed as RNA. # 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.
              "codingSequence": { # 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.
                  #
                  # Note 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.
                "start": "A String", # 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.
                "end": "A String", # 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.
              },
              "geneId": "A String", # The annotation ID of the gene from which this transcript is transcribed.
              "exons": [ # The exons that compose this transcript. This field should be unset for genomes where transcript splicing does not occur, for example prokaryotes.
                  #
                  #
                  # Introns 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.
                  #
                  #
                  # Exonic 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.
                  #
                  #
                  # Exons are ordered by start position and may not overlap.
                {
                  "start": "A String", # 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.
                  "frame": { # Wrapper message for `int32`. # 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.
                      #
                      # Unset 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.
                      #
                      # The JSON representation for `Int32Value` is JSON number.
                    "value": 42, # The int32 value.
                  },
                  "end": "A String", # 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.
                },
              ],
            },
            "id": "A String", # The generated unique ID for this annotation.
          },
        ],
      }

    Returns:
      An object of the form:

        {
        "entries": [ # The resulting per-annotation entries, ordered consistently with the original request.
          {
            "status": { # The resulting status for this annotation operation.
              "message": "A String", # Error message for this status, if any.
              "code": 42, # The HTTP status code for this operation.
            },
            "annotation": { # 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'. # The annotation, if any.
              "info": { # A string which maps to an array of values.
                "a_key": [ # A string which maps to an array of values.
                  "A String",
                ],
              },
              "name": "A String", # The display name of this annotation.
              "type": "A String", # The data type for this annotation. Must match the containing annotation set's type.
              "variant": { # A Variant annotation. # 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.
                "type": "A String", # Type has been adapted from ClinVar's list of variant types.
                "effect": "A String", # Effect of the variant on the coding sequence.
                "transcriptIds": [ # Google annotation IDs of the transcripts affected by this variant. These should be provided when the variant is created.
                  "A String",
                ],
                "alternateBases": "A String", # 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": "A String", # 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/
                "conditions": [ # The set of conditions associated with this variant. A condition describes the way a variant influences human health.
                  {
                    "conceptId": "A String", # The MedGen concept id associated with this gene. Search for these IDs at http://www.ncbi.nlm.nih.gov/medgen/
                    "omimId": "A String", # The OMIM id for this condition. Search for these IDs at http://omim.org/
                    "externalIds": [ # The set of external IDs for this condition.
                      {
                        "sourceName": "A String", # The name of the source of this data.
                        "id": "A String", # The id used by the source of this data.
                      },
                    ],
                    "names": [ # A set of names for the condition.
                      "A String",
                    ],
                  },
                ],
                "geneId": "A String", # Google annotation ID of the gene affected by this variant. This should be provided when the variant is created.
              },
              "annotationSetId": "A String", # The ID of the containing annotation set.
              "position": { # A 0-based half-open genomic coordinate range over a reference sequence, for representing the position of a genomic resource. # The position of this annotation on the reference sequence.
                "start": "A String", # The start position of the range on the reference, 0-based inclusive.
                "referenceId": "A String", # The ID of the Google Genomics reference associated with this range.
                "end": "A String", # The end position of the range on the reference, 0-based exclusive.
                "reverseStrand": True or False, # 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.
                "referenceName": "A String", # The display name corresponding to the reference specified by referenceId, for example chr1, 1, or chrX.
              },
              "transcript": { # A transcript represents the assertion that a particular region of the reference genome may be transcribed as RNA. # 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.
                "codingSequence": { # 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.
                    #
                    # Note 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.
                  "start": "A String", # 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.
                  "end": "A String", # 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.
                },
                "geneId": "A String", # The annotation ID of the gene from which this transcript is transcribed.
                "exons": [ # The exons that compose this transcript. This field should be unset for genomes where transcript splicing does not occur, for example prokaryotes.
                    #
                    #
                    # Introns 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.
                    #
                    #
                    # Exonic 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.
                    #
                    #
                    # Exons are ordered by start position and may not overlap.
                  {
                    "start": "A String", # 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.
                    "frame": { # Wrapper message for `int32`. # 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.
                        #
                        # Unset 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.
                        #
                        # The JSON representation for `Int32Value` is JSON number.
                      "value": 42, # The int32 value.
                    },
                    "end": "A String", # 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.
                  },
                ],
              },
              "id": "A String", # The generated unique ID for this annotation.
            },
          },
        ],
      }

`create(body)`

    Creates a new annotation. Caller must have WRITE permission for the associated annotation set.

    Args:
      body: object, The request body. (required)
        The object takes the form of:

    { # 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'.
      "info": { # A string which maps to an array of values.
        "a_key": [ # A string which maps to an array of values.
          "A String",
        ],
      },
      "name": "A String", # The display name of this annotation.
      "type": "A String", # The data type for this annotation. Must match the containing annotation set's type.
      "variant": { # A Variant annotation. # 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.
        "type": "A String", # Type has been adapted from ClinVar's list of variant types.
        "effect": "A String", # Effect of the variant on the coding sequence.
        "transcriptIds": [ # Google annotation IDs of the transcripts affected by this variant. These should be provided when the variant is created.
          "A String",
        ],
        "alternateBases": "A String", # 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": "A String", # 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/
        "conditions": [ # The set of conditions associated with this variant. A condition describes the way a variant influences human health.
          {
            "conceptId": "A String", # The MedGen concept id associated with this gene. Search for these IDs at http://www.ncbi.nlm.nih.gov/medgen/
            "omimId": "A String", # The OMIM id for this condition. Search for these IDs at http://omim.org/
            "externalIds": [ # The set of external IDs for this condition.
              {
                "sourceName": "A String", # The name of the source of this data.
                "id": "A String", # The id used by the source of this data.
              },
            ],
            "names": [ # A set of names for the condition.
              "A String",
            ],
          },
        ],
        "geneId": "A String", # Google annotation ID of the gene affected by this variant. This should be provided when the variant is created.
      },
      "annotationSetId": "A String", # The ID of the containing annotation set.
      "position": { # A 0-based half-open genomic coordinate range over a reference sequence, for representing the position of a genomic resource. # The position of this annotation on the reference sequence.
        "start": "A String", # The start position of the range on the reference, 0-based inclusive.
        "referenceId": "A String", # The ID of the Google Genomics reference associated with this range.
        "end": "A String", # The end position of the range on the reference, 0-based exclusive.
        "reverseStrand": True or False, # 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.
        "referenceName": "A String", # The display name corresponding to the reference specified by referenceId, for example chr1, 1, or chrX.
      },
      "transcript": { # A transcript represents the assertion that a particular region of the reference genome may be transcribed as RNA. # 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.
        "codingSequence": { # 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.
            #
            # Note 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.
          "start": "A String", # 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.
          "end": "A String", # 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.
        },
        "geneId": "A String", # The annotation ID of the gene from which this transcript is transcribed.
        "exons": [ # The exons that compose this transcript. This field should be unset for genomes where transcript splicing does not occur, for example prokaryotes.
            #
            #
            # Introns 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.
            #
            #
            # Exonic 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.
            #
            #
            # Exons are ordered by start position and may not overlap.
          {
            "start": "A String", # 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.
            "frame": { # Wrapper message for `int32`. # 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.
                #
                # Unset 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.
                #
                # The JSON representation for `Int32Value` is JSON number.
              "value": 42, # The int32 value.
            },
            "end": "A String", # 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.
          },
        ],
      },
      "id": "A String", # The generated unique ID for this annotation.
    }

    Returns:
      An object of the form:

        { # 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'.
        "info": { # A string which maps to an array of values.
          "a_key": [ # A string which maps to an array of values.
            "A String",
          ],
        },
        "name": "A String", # The display name of this annotation.
        "type": "A String", # The data type for this annotation. Must match the containing annotation set's type.
        "variant": { # A Variant annotation. # 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.
          "type": "A String", # Type has been adapted from ClinVar's list of variant types.
          "effect": "A String", # Effect of the variant on the coding sequence.
          "transcriptIds": [ # Google annotation IDs of the transcripts affected by this variant. These should be provided when the variant is created.
            "A String",
          ],
          "alternateBases": "A String", # 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": "A String", # 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/
          "conditions": [ # The set of conditions associated with this variant. A condition describes the way a variant influences human health.
            {
              "conceptId": "A String", # The MedGen concept id associated with this gene. Search for these IDs at http://www.ncbi.nlm.nih.gov/medgen/
              "omimId": "A String", # The OMIM id for this condition. Search for these IDs at http://omim.org/
              "externalIds": [ # The set of external IDs for this condition.
                {
                  "sourceName": "A String", # The name of the source of this data.
                  "id": "A String", # The id used by the source of this data.
                },
              ],
              "names": [ # A set of names for the condition.
                "A String",
              ],
            },
          ],
          "geneId": "A String", # Google annotation ID of the gene affected by this variant. This should be provided when the variant is created.
        },
        "annotationSetId": "A String", # The ID of the containing annotation set.
        "position": { # A 0-based half-open genomic coordinate range over a reference sequence, for representing the position of a genomic resource. # The position of this annotation on the reference sequence.
          "start": "A String", # The start position of the range on the reference, 0-based inclusive.
          "referenceId": "A String", # The ID of the Google Genomics reference associated with this range.
          "end": "A String", # The end position of the range on the reference, 0-based exclusive.
          "reverseStrand": True or False, # 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.
          "referenceName": "A String", # The display name corresponding to the reference specified by referenceId, for example chr1, 1, or chrX.
        },
        "transcript": { # A transcript represents the assertion that a particular region of the reference genome may be transcribed as RNA. # 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.
          "codingSequence": { # 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.
              #
              # Note 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.
            "start": "A String", # 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.
            "end": "A String", # 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.
          },
          "geneId": "A String", # The annotation ID of the gene from which this transcript is transcribed.
          "exons": [ # The exons that compose this transcript. This field should be unset for genomes where transcript splicing does not occur, for example prokaryotes.
              #
              #
              # Introns 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.
              #
              #
              # Exonic 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.
              #
              #
              # Exons are ordered by start position and may not overlap.
            {
              "start": "A String", # 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.
              "frame": { # Wrapper message for `int32`. # 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.
                  #
                  # Unset 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.
                  #
                  # The JSON representation for `Int32Value` is JSON number.
                "value": 42, # The int32 value.
              },
              "end": "A String", # 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.
            },
          ],
        },
        "id": "A String", # The generated unique ID for this annotation.
      }

`delete(annotationId)`

    Deletes an annotation. Caller must have WRITE permission for the associated annotation set.

    Args:
      annotationId: string, The ID of the annotation set to be deleted. (required)

`get(annotationId)`

    Gets an annotation. Caller must have READ permission for the associated annotation set.

    Args:
      annotationId: string, The ID of the annotation set to be retrieved. (required)

    Returns:
      An object of the form:

        { # 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'.
        "info": { # A string which maps to an array of values.
          "a_key": [ # A string which maps to an array of values.
            "A String",
          ],
        },
        "name": "A String", # The display name of this annotation.
        "type": "A String", # The data type for this annotation. Must match the containing annotation set's type.
        "variant": { # A Variant annotation. # 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.
          "type": "A String", # Type has been adapted from ClinVar's list of variant types.
          "effect": "A String", # Effect of the variant on the coding sequence.
          "transcriptIds": [ # Google annotation IDs of the transcripts affected by this variant. These should be provided when the variant is created.
            "A String",
          ],
          "alternateBases": "A String", # 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": "A String", # 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/
          "conditions": [ # The set of conditions associated with this variant. A condition describes the way a variant influences human health.
            {
              "conceptId": "A String", # The MedGen concept id associated with this gene. Search for these IDs at http://www.ncbi.nlm.nih.gov/medgen/
              "omimId": "A String", # The OMIM id for this condition. Search for these IDs at http://omim.org/
              "externalIds": [ # The set of external IDs for this condition.
                {
                  "sourceName": "A String", # The name of the source of this data.
                  "id": "A String", # The id used by the source of this data.
                },
              ],
              "names": [ # A set of names for the condition.
                "A String",
              ],
            },
          ],
          "geneId": "A String", # Google annotation ID of the gene affected by this variant. This should be provided when the variant is created.
        },
        "annotationSetId": "A String", # The ID of the containing annotation set.
        "position": { # A 0-based half-open genomic coordinate range over a reference sequence, for representing the position of a genomic resource. # The position of this annotation on the reference sequence.
          "start": "A String", # The start position of the range on the reference, 0-based inclusive.
          "referenceId": "A String", # The ID of the Google Genomics reference associated with this range.
          "end": "A String", # The end position of the range on the reference, 0-based exclusive.
          "reverseStrand": True or False, # 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.
          "referenceName": "A String", # The display name corresponding to the reference specified by referenceId, for example chr1, 1, or chrX.
        },
        "transcript": { # A transcript represents the assertion that a particular region of the reference genome may be transcribed as RNA. # 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.
          "codingSequence": { # 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.
              #
              # Note 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.
            "start": "A String", # 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.
            "end": "A String", # 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.
          },
          "geneId": "A String", # The annotation ID of the gene from which this transcript is transcribed.
          "exons": [ # The exons that compose this transcript. This field should be unset for genomes where transcript splicing does not occur, for example prokaryotes.
              #
              #
              # Introns 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.
              #
              #
              # Exonic 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.
              #
              #
              # Exons are ordered by start position and may not overlap.
            {
              "start": "A String", # 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.
              "frame": { # Wrapper message for `int32`. # 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.
                  #
                  # Unset 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.
                  #
                  # The JSON representation for `Int32Value` is JSON number.
                "value": 42, # The int32 value.
              },
              "end": "A String", # 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.
            },
          ],
        },
        "id": "A String", # The generated unique ID for this annotation.
      }

`patch(annotationId, body)`

    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.

    Args:
      annotationId: string, The ID of the annotation set to be updated. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # 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'.
      "info": { # A string which maps to an array of values.
        "a_key": [ # A string which maps to an array of values.
          "A String",
        ],
      },
      "name": "A String", # The display name of this annotation.
      "type": "A String", # The data type for this annotation. Must match the containing annotation set's type.
      "variant": { # A Variant annotation. # 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.
        "type": "A String", # Type has been adapted from ClinVar's list of variant types.
        "effect": "A String", # Effect of the variant on the coding sequence.
        "transcriptIds": [ # Google annotation IDs of the transcripts affected by this variant. These should be provided when the variant is created.
          "A String",
        ],
        "alternateBases": "A String", # 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": "A String", # 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/
        "conditions": [ # The set of conditions associated with this variant. A condition describes the way a variant influences human health.
          {
            "conceptId": "A String", # The MedGen concept id associated with this gene. Search for these IDs at http://www.ncbi.nlm.nih.gov/medgen/
            "omimId": "A String", # The OMIM id for this condition. Search for these IDs at http://omim.org/
            "externalIds": [ # The set of external IDs for this condition.
              {
                "sourceName": "A String", # The name of the source of this data.
                "id": "A String", # The id used by the source of this data.
              },
            ],
            "names": [ # A set of names for the condition.
              "A String",
            ],
          },
        ],
        "geneId": "A String", # Google annotation ID of the gene affected by this variant. This should be provided when the variant is created.
      },
      "annotationSetId": "A String", # The ID of the containing annotation set.
      "position": { # A 0-based half-open genomic coordinate range over a reference sequence, for representing the position of a genomic resource. # The position of this annotation on the reference sequence.
        "start": "A String", # The start position of the range on the reference, 0-based inclusive.
        "referenceId": "A String", # The ID of the Google Genomics reference associated with this range.
        "end": "A String", # The end position of the range on the reference, 0-based exclusive.
        "reverseStrand": True or False, # 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.
        "referenceName": "A String", # The display name corresponding to the reference specified by referenceId, for example chr1, 1, or chrX.
      },
      "transcript": { # A transcript represents the assertion that a particular region of the reference genome may be transcribed as RNA. # 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.
        "codingSequence": { # 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.
            #
            # Note 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.
          "start": "A String", # 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.
          "end": "A String", # 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.
        },
        "geneId": "A String", # The annotation ID of the gene from which this transcript is transcribed.
        "exons": [ # The exons that compose this transcript. This field should be unset for genomes where transcript splicing does not occur, for example prokaryotes.
            #
            #
            # Introns 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.
            #
            #
            # Exonic 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.
            #
            #
            # Exons are ordered by start position and may not overlap.
          {
            "start": "A String", # 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.
            "frame": { # Wrapper message for `int32`. # 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.
                #
                # Unset 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.
                #
                # The JSON representation for `Int32Value` is JSON number.
              "value": 42, # The int32 value.
            },
            "end": "A String", # 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.
          },
        ],
      },
      "id": "A String", # The generated unique ID for this annotation.
    }

    Returns:
      An object of the form:

        { # 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'.
        "info": { # A string which maps to an array of values.
          "a_key": [ # A string which maps to an array of values.
            "A String",
          ],
        },
        "name": "A String", # The display name of this annotation.
        "type": "A String", # The data type for this annotation. Must match the containing annotation set's type.
        "variant": { # A Variant annotation. # 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.
          "type": "A String", # Type has been adapted from ClinVar's list of variant types.
          "effect": "A String", # Effect of the variant on the coding sequence.
          "transcriptIds": [ # Google annotation IDs of the transcripts affected by this variant. These should be provided when the variant is created.
            "A String",
          ],
          "alternateBases": "A String", # 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": "A String", # 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/
          "conditions": [ # The set of conditions associated with this variant. A condition describes the way a variant influences human health.
            {
              "conceptId": "A String", # The MedGen concept id associated with this gene. Search for these IDs at http://www.ncbi.nlm.nih.gov/medgen/
              "omimId": "A String", # The OMIM id for this condition. Search for these IDs at http://omim.org/
              "externalIds": [ # The set of external IDs for this condition.
                {
                  "sourceName": "A String", # The name of the source of this data.
                  "id": "A String", # The id used by the source of this data.
                },
              ],
              "names": [ # A set of names for the condition.
                "A String",
              ],
            },
          ],
          "geneId": "A String", # Google annotation ID of the gene affected by this variant. This should be provided when the variant is created.
        },
        "annotationSetId": "A String", # The ID of the containing annotation set.
        "position": { # A 0-based half-open genomic coordinate range over a reference sequence, for representing the position of a genomic resource. # The position of this annotation on the reference sequence.
          "start": "A String", # The start position of the range on the reference, 0-based inclusive.
          "referenceId": "A String", # The ID of the Google Genomics reference associated with this range.
          "end": "A String", # The end position of the range on the reference, 0-based exclusive.
          "reverseStrand": True or False, # 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.
          "referenceName": "A String", # The display name corresponding to the reference specified by referenceId, for example chr1, 1, or chrX.
        },
        "transcript": { # A transcript represents the assertion that a particular region of the reference genome may be transcribed as RNA. # 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.
          "codingSequence": { # 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.
              #
              # Note 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.
            "start": "A String", # 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.
            "end": "A String", # 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.
          },
          "geneId": "A String", # The annotation ID of the gene from which this transcript is transcribed.
          "exons": [ # The exons that compose this transcript. This field should be unset for genomes where transcript splicing does not occur, for example prokaryotes.
              #
              #
              # Introns 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.
              #
              #
              # Exonic 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.
              #
              #
              # Exons are ordered by start position and may not overlap.
            {
              "start": "A String", # 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.
              "frame": { # Wrapper message for `int32`. # 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.
                  #
                  # Unset 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.
                  #
                  # The JSON representation for `Int32Value` is JSON number.
                "value": 42, # The int32 value.
              },
              "end": "A String", # 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.
            },
          ],
        },
        "id": "A String", # The generated unique ID for this annotation.
      }

`search(body)`

    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.

    Args:
      body: object, The request body. (required)
        The object takes the form of:

    {
        "pageToken": "A String", # 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": { # A 0-based half-open genomic coordinate range for search requests. # If specified, this query matches only annotations that overlap this range.
          "start": "A String", # The start position of the range on the reference, 0-based inclusive. If specified, referenceId or referenceName must also be specified. Defaults to 0.
          "referenceId": "A String", # The ID of the reference to query. At most one of referenceId and referenceName should be specified.
          "end": "A String", # 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.
          "referenceName": "A String", # 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.
        },
        "annotationSetIds": [ # 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.
          "A String",
        ],
        "pageSize": 42, # Specifies number of results to return in a single page. If unspecified, it will default to 256. The maximum value is 2048.
      }

    Returns:
      An object of the form:

        {
        "nextPageToken": "A String", # 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.
        "annotations": [ # The matching annotations.
          { # 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'.
            "info": { # A string which maps to an array of values.
              "a_key": [ # A string which maps to an array of values.
                "A String",
              ],
            },
            "name": "A String", # The display name of this annotation.
            "type": "A String", # The data type for this annotation. Must match the containing annotation set's type.
            "variant": { # A Variant annotation. # 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.
              "type": "A String", # Type has been adapted from ClinVar's list of variant types.
              "effect": "A String", # Effect of the variant on the coding sequence.
              "transcriptIds": [ # Google annotation IDs of the transcripts affected by this variant. These should be provided when the variant is created.
                "A String",
              ],
              "alternateBases": "A String", # 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": "A String", # 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/
              "conditions": [ # The set of conditions associated with this variant. A condition describes the way a variant influences human health.
                {
                  "conceptId": "A String", # The MedGen concept id associated with this gene. Search for these IDs at http://www.ncbi.nlm.nih.gov/medgen/
                  "omimId": "A String", # The OMIM id for this condition. Search for these IDs at http://omim.org/
                  "externalIds": [ # The set of external IDs for this condition.
                    {
                      "sourceName": "A String", # The name of the source of this data.
                      "id": "A String", # The id used by the source of this data.
                    },
                  ],
                  "names": [ # A set of names for the condition.
                    "A String",
                  ],
                },
              ],
              "geneId": "A String", # Google annotation ID of the gene affected by this variant. This should be provided when the variant is created.
            },
            "annotationSetId": "A String", # The ID of the containing annotation set.
            "position": { # A 0-based half-open genomic coordinate range over a reference sequence, for representing the position of a genomic resource. # The position of this annotation on the reference sequence.
              "start": "A String", # The start position of the range on the reference, 0-based inclusive.
              "referenceId": "A String", # The ID of the Google Genomics reference associated with this range.
              "end": "A String", # The end position of the range on the reference, 0-based exclusive.
              "reverseStrand": True or False, # 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.
              "referenceName": "A String", # The display name corresponding to the reference specified by referenceId, for example chr1, 1, or chrX.
            },
            "transcript": { # A transcript represents the assertion that a particular region of the reference genome may be transcribed as RNA. # 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.
              "codingSequence": { # 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.
                  #
                  # Note 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.
                "start": "A String", # 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.
                "end": "A String", # 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.
              },
              "geneId": "A String", # The annotation ID of the gene from which this transcript is transcribed.
              "exons": [ # The exons that compose this transcript. This field should be unset for genomes where transcript splicing does not occur, for example prokaryotes.
                  #
                  #
                  # Introns 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.
                  #
                  #
                  # Exonic 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.
                  #
                  #
                  # Exons are ordered by start position and may not overlap.
                {
                  "start": "A String", # 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.
                  "frame": { # Wrapper message for `int32`. # 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.
                      #
                      # Unset 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.
                      #
                      # The JSON representation for `Int32Value` is JSON number.
                    "value": 42, # The int32 value.
                  },
                  "end": "A String", # 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.
                },
              ],
            },
            "id": "A String", # The generated unique ID for this annotation.
          },
        ],
      }

`update(annotationId, body)`

    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.

    Args:
      annotationId: string, The ID of the annotation set to be updated. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # 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'.
      "info": { # A string which maps to an array of values.
        "a_key": [ # A string which maps to an array of values.
          "A String",
        ],
      },
      "name": "A String", # The display name of this annotation.
      "type": "A String", # The data type for this annotation. Must match the containing annotation set's type.
      "variant": { # A Variant annotation. # 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.
        "type": "A String", # Type has been adapted from ClinVar's list of variant types.
        "effect": "A String", # Effect of the variant on the coding sequence.
        "transcriptIds": [ # Google annotation IDs of the transcripts affected by this variant. These should be provided when the variant is created.
          "A String",
        ],
        "alternateBases": "A String", # 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": "A String", # 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/
        "conditions": [ # The set of conditions associated with this variant. A condition describes the way a variant influences human health.
          {
            "conceptId": "A String", # The MedGen concept id associated with this gene. Search for these IDs at http://www.ncbi.nlm.nih.gov/medgen/
            "omimId": "A String", # The OMIM id for this condition. Search for these IDs at http://omim.org/
            "externalIds": [ # The set of external IDs for this condition.
              {
                "sourceName": "A String", # The name of the source of this data.
                "id": "A String", # The id used by the source of this data.
              },
            ],
            "names": [ # A set of names for the condition.
              "A String",
            ],
          },
        ],
        "geneId": "A String", # Google annotation ID of the gene affected by this variant. This should be provided when the variant is created.
      },
      "annotationSetId": "A String", # The ID of the containing annotation set.
      "position": { # A 0-based half-open genomic coordinate range over a reference sequence, for representing the position of a genomic resource. # The position of this annotation on the reference sequence.
        "start": "A String", # The start position of the range on the reference, 0-based inclusive.
        "referenceId": "A String", # The ID of the Google Genomics reference associated with this range.
        "end": "A String", # The end position of the range on the reference, 0-based exclusive.
        "reverseStrand": True or False, # 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.
        "referenceName": "A String", # The display name corresponding to the reference specified by referenceId, for example chr1, 1, or chrX.
      },
      "transcript": { # A transcript represents the assertion that a particular region of the reference genome may be transcribed as RNA. # 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.
        "codingSequence": { # 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.
            #
            # Note 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.
          "start": "A String", # 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.
          "end": "A String", # 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.
        },
        "geneId": "A String", # The annotation ID of the gene from which this transcript is transcribed.
        "exons": [ # The exons that compose this transcript. This field should be unset for genomes where transcript splicing does not occur, for example prokaryotes.
            #
            #
            # Introns 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.
            #
            #
            # Exonic 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.
            #
            #
            # Exons are ordered by start position and may not overlap.
          {
            "start": "A String", # 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.
            "frame": { # Wrapper message for `int32`. # 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.
                #
                # Unset 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.
                #
                # The JSON representation for `Int32Value` is JSON number.
              "value": 42, # The int32 value.
            },
            "end": "A String", # 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.
          },
        ],
      },
      "id": "A String", # The generated unique ID for this annotation.
    }

    Returns:
      An object of the form:

        { # 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'.
        "info": { # A string which maps to an array of values.
          "a_key": [ # A string which maps to an array of values.
            "A String",
          ],
        },
        "name": "A String", # The display name of this annotation.
        "type": "A String", # The data type for this annotation. Must match the containing annotation set's type.
        "variant": { # A Variant annotation. # 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.
          "type": "A String", # Type has been adapted from ClinVar's list of variant types.
          "effect": "A String", # Effect of the variant on the coding sequence.
          "transcriptIds": [ # Google annotation IDs of the transcripts affected by this variant. These should be provided when the variant is created.
            "A String",
          ],
          "alternateBases": "A String", # 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": "A String", # 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/
          "conditions": [ # The set of conditions associated with this variant. A condition describes the way a variant influences human health.
            {
              "conceptId": "A String", # The MedGen concept id associated with this gene. Search for these IDs at http://www.ncbi.nlm.nih.gov/medgen/
              "omimId": "A String", # The OMIM id for this condition. Search for these IDs at http://omim.org/
              "externalIds": [ # The set of external IDs for this condition.
                {
                  "sourceName": "A String", # The name of the source of this data.
                  "id": "A String", # The id used by the source of this data.
                },
              ],
              "names": [ # A set of names for the condition.
                "A String",
              ],
            },
          ],
          "geneId": "A String", # Google annotation ID of the gene affected by this variant. This should be provided when the variant is created.
        },
        "annotationSetId": "A String", # The ID of the containing annotation set.
        "position": { # A 0-based half-open genomic coordinate range over a reference sequence, for representing the position of a genomic resource. # The position of this annotation on the reference sequence.
          "start": "A String", # The start position of the range on the reference, 0-based inclusive.
          "referenceId": "A String", # The ID of the Google Genomics reference associated with this range.
          "end": "A String", # The end position of the range on the reference, 0-based exclusive.
          "reverseStrand": True or False, # 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.
          "referenceName": "A String", # The display name corresponding to the reference specified by referenceId, for example chr1, 1, or chrX.
        },
        "transcript": { # A transcript represents the assertion that a particular region of the reference genome may be transcribed as RNA. # 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.
          "codingSequence": { # 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.
              #
              # Note 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.
            "start": "A String", # 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.
            "end": "A String", # 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.
          },
          "geneId": "A String", # The annotation ID of the gene from which this transcript is transcribed.
          "exons": [ # The exons that compose this transcript. This field should be unset for genomes where transcript splicing does not occur, for example prokaryotes.
              #
              #
              # Introns 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.
              #
              #
              # Exonic 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.
              #
              #
              # Exons are ordered by start position and may not overlap.
            {
              "start": "A String", # 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.
              "frame": { # Wrapper message for `int32`. # 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.
                  #
                  # Unset 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.
                  #
                  # The JSON representation for `Int32Value` is JSON number.
                "value": 42, # The int32 value.
              },
              "end": "A String", # 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.
            },
          ],
        },
        "id": "A String", # The generated unique ID for this annotation.
      }