-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Google Genomics SDK.
--   
--   Upload, process, query, and search Genomics data in the cloud.
--   
--   <i>Warning:</i> This is an experimental prototype/preview release
--   which is still under exploratory development and not intended for
--   public use, caveat emptor!
--   
--   This library is compatible with version <tt>v1</tt> of the API.
@package gogol-genomics
@version 0.3.0


module Network.Google.Genomics.Types

-- | Default request referring to version <tt>v1</tt> of the Genomics API.
--   This contains the host and root path used as a starting point for
--   constructing service requests.
genomicsService :: ServiceConfig

-- | View and manage Genomics data
genomicsScope :: Proxy '["https://www.googleapis.com/auth/genomics"]

-- | View and manage your data across Google Cloud Platform services
cloudPlatformScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform"]

-- | View Genomics data
genomicsReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/genomics.readonly"]

-- | Manage your data in Google Cloud Storage
storageReadWriteScope :: Proxy '["https://www.googleapis.com/auth/devstorage.read_write"]

-- | View and manage your data in Google BigQuery
bigQueryScope :: Proxy '["https://www.googleapis.com/auth/bigquery"]

-- | A mapping between info field keys and the InfoMergeOperations to be
--   performed on them. This is plumbed down to the MergeVariantRequests
--   generated by the resulting import job.
--   
--   <i>See:</i> <a>importVariantsRequestInfoMergeConfig</a> smart
--   constructor.
data ImportVariantsRequestInfoMergeConfig

-- | Creates a value of <a>ImportVariantsRequestInfoMergeConfig</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ivrimcAddtional</a></li>
--   </ul>
importVariantsRequestInfoMergeConfig :: HashMap Text Text -> ImportVariantsRequestInfoMergeConfig
ivrimcAddtional :: Lens' ImportVariantsRequestInfoMergeConfig (HashMap Text Text)

-- | A map of additional read alignment information. This must be of the
--   form map (string key mapping to a list of string values).
--   
--   <i>See:</i> <a>readInfo</a> smart constructor.
data ReadInfo

-- | Creates a value of <a>ReadInfo</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>riAddtional</a></li>
--   </ul>
readInfo :: HashMap Text [JSONValue] -> ReadInfo
riAddtional :: Lens' ReadInfo (HashMap Text [JSONValue])
data Exon

-- | Creates a value of <a>Exon</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eStart</a></li>
--   <li><a>eEnd</a></li>
--   <li><a>eFrame</a></li>
--   </ul>
exon :: Exon

-- | 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.
eStart :: Lens' Exon (Maybe Int64)

-- | 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.
eEnd :: Lens' Exon (Maybe Int64)

-- | 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.reverse_strand). 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.
eFrame :: Lens' Exon (Maybe Int32)

-- | The `Status` type defines a logical error model that is suitable for
--   different programming environments, including REST APIs and RPC APIs.
--   It is used by <a>gRPC</a>. The error model is designed to be: - Simple
--   to use and understand for most users - Flexible enough to meet
--   unexpected needs # Overview The `Status` message contains three pieces
--   of data: error code, error message, and error details. The error code
--   should be an enum value of google.rpc.Code, but it may accept
--   additional error codes if needed. The error message should be a
--   developer-facing English message that helps developers *understand*
--   and *resolve* the error. If a localized user-facing error message is
--   needed, put the localized message in the error details or localize it
--   in the client. The optional error details may contain arbitrary
--   information about the error. There is a predefined set of error detail
--   types in the package `google.rpc` which can be used for common error
--   conditions. # Language mapping The `Status` message is the logical
--   representation of the error model, but it is not necessarily the
--   actual wire format. When the `Status` message is exposed in different
--   client libraries and different wire protocols, it can be mapped
--   differently. For example, it will likely be mapped to some exceptions
--   in Java, but more likely mapped to some error codes in C. # Other uses
--   The error model and the `Status` message can be used in a variety of
--   environments, either with or without APIs, to provide a consistent
--   developer experience across different environments. Example uses of
--   this error model include: - Partial errors. If a service needs to
--   return partial errors to the client, it may embed the `Status` in the
--   normal response to indicate the partial errors. - Workflow errors. A
--   typical workflow has multiple steps. Each step may have a `Status`
--   message for error reporting purpose. - Batch operations. If a client
--   uses batch request and batch response, the `Status` message should be
--   used directly inside batch response, one for each error sub-response.
--   - Asynchronous operations. If an API call embeds asynchronous
--   operation results in its response, the status of those operations
--   should be represented directly using the `Status` message. - Logging.
--   If some API errors are stored in logs, the message `Status` could be
--   used directly after any stripping needed for security/privacy reasons.
--   
--   <i>See:</i> <a>status</a> smart constructor.
data Status

-- | Creates a value of <a>Status</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sDetails</a></li>
--   <li><a>sCode</a></li>
--   <li><a>sMessage</a></li>
--   </ul>
status :: Status

-- | A list of messages that carry the error details. There will be a
--   common set of message types for APIs to use.
sDetails :: Lens' Status [StatusDetailsItem]

-- | The status code, which should be an enum value of google.rpc.Code.
sCode :: Lens' Status (Maybe Int32)

-- | A developer-facing error message, which should be in English. Any
--   user-facing error message should be localized and sent in the
--   google.rpc.Status.details field, or localized by the client.
sMessage :: Lens' Status (Maybe Text)

-- | An OperationMetadata object. This will always be returned with the
--   Operation.
--   
--   <i>See:</i> <a>operationSchema</a> smart constructor.
data OperationSchema

-- | Creates a value of <a>OperationSchema</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>osAddtional</a></li>
--   </ul>
operationSchema :: HashMap Text JSONValue -> OperationSchema

-- | Properties of the object. Contains field 'type with type URL.
osAddtional :: Lens' OperationSchema (HashMap Text JSONValue)

-- | Effect of the variant on the coding sequence.
data VariantAnnotationEffect

-- | <pre>
--   EFFECT_UNSPECIFIED
--   </pre>
EffectUnspecified :: VariantAnnotationEffect

-- | <tt>EFFECT_OTHER</tt> `EFFECT_OTHER` should be used when no other
--   Effect will suffice.
EffectOther :: VariantAnnotationEffect

-- | <tt>FRAMESHIFT</tt> `FRAMESHIFT` indicates a mutation in which the
--   insertion or deletion of nucleotides resulted in a frameshift change.
Frameshift :: VariantAnnotationEffect

-- | <tt>FRAME_PRESERVING_INDEL</tt> `FRAME_PRESERVING_INDEL` indicates a
--   mutation in which a multiple of three nucleotides has been inserted or
--   deleted, resulting in no change to the reading frame of the coding
--   sequence.
FramePreservingIndel :: VariantAnnotationEffect

-- | <tt>SYNONYMOUS_SNP</tt> `SYNONYMOUS_SNP` indicates a single nucleotide
--   polymorphism mutation that results in no amino acid change.
SynonymousSnp :: VariantAnnotationEffect

-- | <tt>NONSYNONYMOUS_SNP</tt> `NONSYNONYMOUS_SNP` indicates a single
--   nucleotide polymorphism mutation that results in an amino acid change.
NonsynonymousSnp :: VariantAnnotationEffect

-- | <tt>STOP_GAIN</tt> `STOP_GAIN` indicates a mutation that leads to the
--   creation of a stop codon at the variant site. Frameshift mutations
--   creating downstream stop codons do not count as `STOP_GAIN`.
StopGain :: VariantAnnotationEffect

-- | <tt>STOP_LOSS</tt> `STOP_LOSS` indicates a mutation that eliminates a
--   stop codon at the variant site.
StopLoss :: VariantAnnotationEffect

-- | <tt>SPLICE_SITE_DISRUPTION</tt> `SPLICE_SITE_DISRUPTION` indicates
--   that this variant is found in a splice site for the associated
--   transcript, and alters the normal splicing pattern.
SpliceSiteDisruption :: VariantAnnotationEffect

-- | 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. For more genomics
--   resource definitions, see <a>Fundamentals of Google Genomics</a> 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.
--   
--   <i>See:</i> <a>variant</a> smart constructor.
data Variant

-- | Creates a value of <a>Variant</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vVariantSetId</a></li>
--   <li><a>vCreated</a></li>
--   <li><a>vStart</a></li>
--   <li><a>vAlternateBases</a></li>
--   <li><a>vReferenceName</a></li>
--   <li><a>vNames</a></li>
--   <li><a>vEnd</a></li>
--   <li><a>vReferenceBases</a></li>
--   <li><a>vId</a></li>
--   <li><a>vQuality</a></li>
--   <li><a>vFilter</a></li>
--   <li><a>vInfo</a></li>
--   <li><a>vCalls</a></li>
--   </ul>
variant :: Variant

-- | The ID of the variant set this variant belongs to.
vVariantSetId :: Lens' Variant (Maybe Text)

-- | The date this variant was created, in milliseconds from the epoch.
vCreated :: Lens' Variant (Maybe Int64)

-- | The position at which this variant occurs (0-based). This corresponds
--   to the first base of the string of reference bases.
vStart :: Lens' Variant (Maybe Int64)

-- | The bases that appear instead of the reference bases.
vAlternateBases :: Lens' Variant [Text]

-- | The reference on which this variant occurs. (such as `chr20` or `X`)
vReferenceName :: Lens' Variant (Maybe Text)

-- | Names for the variant, for example a RefSNP ID.
vNames :: Lens' Variant [Text]

-- | 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.
vEnd :: Lens' Variant (Maybe Int64)

-- | The reference bases for this variant. They start at the given
--   position.
vReferenceBases :: Lens' Variant (Maybe Text)

-- | The server-generated variant ID, unique across all variants.
vId :: Lens' Variant (Maybe Text)

-- | A measure of how likely this variant is to be real. A higher value is
--   better.
vQuality :: Lens' Variant (Maybe Double)

-- | A list of filters (normally quality filters) this variant has failed.
--   `PASS` indicates this variant has passed all filters.
vFilter :: Lens' Variant [Text]

-- | A map of additional variant information. This must be of the form map
--   (string key mapping to a list of string values).
vInfo :: Lens' Variant (Maybe VariantInfo)

-- | The variant calls for this particular variant. Each one represents the
--   determination of genotype with respect to this variant.
vCalls :: Lens' Variant [VariantCall]

-- | 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. 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`.
--   
--   <i>See:</i> <a>annotation</a> smart constructor.
data Annotation

-- | Creates a value of <a>Annotation</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aVariant</a></li>
--   <li><a>aAnnotationSetId</a></li>
--   <li><a>aStart</a></li>
--   <li><a>aReverseStrand</a></li>
--   <li><a>aReferenceId</a></li>
--   <li><a>aReferenceName</a></li>
--   <li><a>aName</a></li>
--   <li><a>aEnd</a></li>
--   <li><a>aId</a></li>
--   <li><a>aType</a></li>
--   <li><a>aTranscript</a></li>
--   <li><a>aInfo</a></li>
--   </ul>
annotation :: 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`.
aVariant :: Lens' Annotation (Maybe VariantAnnotation)

-- | The annotation set to which this annotation belongs.
aAnnotationSetId :: Lens' Annotation (Maybe Text)

-- | The start position of the range on the reference, 0-based inclusive.
aStart :: Lens' Annotation (Maybe Int64)

-- | 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.
aReverseStrand :: Lens' Annotation (Maybe Bool)

-- | The ID of the Google Genomics reference associated with this range.
aReferenceId :: Lens' Annotation (Maybe Text)

-- | The display name corresponding to the reference specified by
--   `referenceId`, for example `chr1`, `1`, or `chrX`.
aReferenceName :: Lens' Annotation (Maybe Text)

-- | The display name of this annotation.
aName :: Lens' Annotation (Maybe Text)

-- | The end position of the range on the reference, 0-based exclusive.
aEnd :: Lens' Annotation (Maybe Int64)

-- | The server-generated annotation ID, unique across all annotations.
aId :: Lens' Annotation (Maybe Text)

-- | The data type for this annotation. Must match the containing
--   annotation set's type.
aType :: Lens' Annotation (Maybe AnnotationType)

-- | 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`.
aTranscript :: Lens' Annotation (Maybe Transcript)

-- | A map of additional read alignment information. This must be of the
--   form map (string key mapping to a list of string values).
aInfo :: Lens' Annotation (Maybe AnnotationInfo)
data ListBasesResponse

-- | Creates a value of <a>ListBasesResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lbrNextPageToken</a></li>
--   <li><a>lbrOffSet</a></li>
--   <li><a>lbrSequence</a></li>
--   </ul>
listBasesResponse :: ListBasesResponse

-- | 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.
lbrNextPageToken :: Lens' ListBasesResponse (Maybe Text)

-- | 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.
lbrOffSet :: Lens' ListBasesResponse (Maybe Int64)

-- | A substring of the bases that make up this reference.
lbrSequence :: Lens' ListBasesResponse (Maybe Text)

-- | The response message for Operations.ListOperations.
--   
--   <i>See:</i> <a>listOperationsResponse</a> smart constructor.
data ListOperationsResponse

-- | Creates a value of <a>ListOperationsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lorNextPageToken</a></li>
--   <li><a>lorOperations</a></li>
--   </ul>
listOperationsResponse :: ListOperationsResponse

-- | The standard List next-page token.
lorNextPageToken :: Lens' ListOperationsResponse (Maybe Text)

-- | A list of operations that matches the specified filter in the request.
lorOperations :: Lens' ListOperationsResponse [Operation]

-- | Request message for `GetIamPolicy` method.
--   
--   <i>See:</i> <a>getIAMPolicyRequest</a> smart constructor.
data GetIAMPolicyRequest

-- | Creates a value of <a>GetIAMPolicyRequest</a> with the minimum fields
--   required to make a request.
getIAMPolicyRequest :: GetIAMPolicyRequest

-- | The request message for Operations.CancelOperation.
--   
--   <i>See:</i> <a>cancelOperationRequest</a> smart constructor.
data CancelOperationRequest

-- | Creates a value of <a>CancelOperationRequest</a> with the minimum
--   fields required to make a request.
cancelOperationRequest :: CancelOperationRequest

-- | A Dataset is a collection of genomic data. For more genomics resource
--   definitions, see <a>Fundamentals of Google Genomics</a>
--   
--   <i>See:</i> <a>dataSet</a> smart constructor.
data DataSet

-- | Creates a value of <a>DataSet</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsName</a></li>
--   <li><a>dsId</a></li>
--   <li><a>dsProjectId</a></li>
--   <li><a>dsCreateTime</a></li>
--   </ul>
dataSet :: DataSet

-- | The dataset name.
dsName :: Lens' DataSet (Maybe Text)

-- | The server-generated dataset ID, unique across all datasets.
dsId :: Lens' DataSet (Maybe Text)

-- | The Google Cloud project ID that this dataset belongs to.
dsProjectId :: Lens' DataSet (Maybe Text)

-- | The time this dataset was created, in seconds from the epoch.
dsCreateTime :: Lens' DataSet (Maybe UTCTime)

-- | 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. For
--   more genomics resource definitions, see <a>Fundamentals of Google
--   Genomics</a> ### Reverse-stranded reads Mapped reads (reads having a
--   non-null `alignment`) can be aligned to either the forward or the
--   reverse strand of their associated reference. Strandedness of a mapped
--   read is encoded by `alignment.position.reverseStrand`. If we consider
--   the reference to be a forward-stranded coordinate space of `[0,
--   reference.length)` with `0` as the left-most position and
--   `reference.length` as the right-most position, reads are always
--   aligned left to right. That is, `alignment.position.position` always
--   refers to the left-most reference coordinate and `alignment.cigar`
--   describes the alignment of this read to the reference from left to
--   right. All per-base fields such as `alignedSequence` and
--   `alignedQuality` share this same left-to-right orientation; this is
--   true of reads which are aligned to either strand. For reverse-stranded
--   reads, this means that `alignedSequence` is the reverse complement of
--   the bases that were originally reported by the sequencing machine. ###
--   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: out = "" 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 ###
--   Converting 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). cigarMap = {
--   "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
--   
--   <i>See:</i> <a>read'</a> smart constructor.
data Read'

-- | Creates a value of <a>Read</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rFragmentLength</a></li>
--   <li><a>rDuplicateFragment</a></li>
--   <li><a>rReadGroupSetId</a></li>
--   <li><a>rNextMatePosition</a></li>
--   <li><a>rFailedVendorQualityChecks</a></li>
--   <li><a>rAlignment</a></li>
--   <li><a>rFragmentName</a></li>
--   <li><a>rNumberReads</a></li>
--   <li><a>rId</a></li>
--   <li><a>rSecondaryAlignment</a></li>
--   <li><a>rReadGroupId</a></li>
--   <li><a>rSupplementaryAlignment</a></li>
--   <li><a>rAlignedSequence</a></li>
--   <li><a>rProperPlacement</a></li>
--   <li><a>rInfo</a></li>
--   <li><a>rReadNumber</a></li>
--   <li><a>rAlignedQuality</a></li>
--   </ul>
read' :: Read'

-- | The observed length of the fragment, equivalent to TLEN in SAM.
rFragmentLength :: Lens' Read' (Maybe Int32)

-- | The fragment is a PCR or optical duplicate (SAM flag 0x400).
rDuplicateFragment :: Lens' Read' (Maybe Bool)

-- | The ID of the read group set this read belongs to. A read belongs to
--   exactly one read group set.
rReadGroupSetId :: Lens' Read' (Maybe Text)

-- | The mapping of the primary alignment of the
--   `(readNumber+1)%numberReads` read in the fragment. It replaces mate
--   position and mate strand in SAM.
rNextMatePosition :: Lens' Read' (Maybe Position)

-- | Whether this read did not pass filters, such as platform or vendor
--   quality controls (SAM flag 0x200).
rFailedVendorQualityChecks :: Lens' Read' (Maybe Bool)

-- | The linear alignment for this alignment record. This field is null for
--   unmapped reads.
rAlignment :: Lens' Read' (Maybe LinearAlignment)

-- | The fragment name. Equivalent to QNAME (query template name) in SAM.
rFragmentName :: Lens' Read' (Maybe Text)

-- | The number of reads in the fragment (extension to SAM flag 0x1).
rNumberReads :: Lens' Read' (Maybe Int32)

-- | The server-generated read ID, unique across all reads. This is
--   different from the `fragmentName`.
rId :: Lens' Read' (Maybe Text)

-- | 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.
rSecondaryAlignment :: Lens' Read' (Maybe Bool)

-- | The ID of the read group this read belongs to. A read belongs to
--   exactly one read group. This is a server-generated ID which is
--   distinct from SAM's RG tag (for that value, see ReadGroup.name).
rReadGroupId :: Lens' Read' (Maybe Text)

-- | 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.
rSupplementaryAlignment :: Lens' Read' (Maybe Bool)

-- | The bases of the read sequence contained in this alignment record,
--   **without CIGAR operations applied** (equivalent to SEQ in SAM).
--   `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.
rAlignedSequence :: Lens' Read' (Maybe Text)

-- | The orientation and the distance between reads from the fragment are
--   consistent with the sequencing protocol (SAM flag 0x2).
rProperPlacement :: Lens' Read' (Maybe Bool)

-- | A map of additional read alignment information. This must be of the
--   form map (string key mapping to a list of string values).
rInfo :: Lens' Read' (Maybe ReadInfo)

-- | The read number in sequencing. 0-based and less than numberReads. This
--   field replaces SAM flag 0x40 and 0x80.
rReadNumber :: Lens' Read' (Maybe Int32)

-- | The quality of the read sequence contained in this alignment record
--   (equivalent to QUAL in SAM). `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.
rAlignedQuality :: Lens' Read' [Int32]

-- | Optionally provided by the caller when submitting the request that
--   creates the operation.
--   
--   <i>See:</i> <a>operationMetadataLabels</a> smart constructor.
data OperationMetadataLabels

-- | Creates a value of <a>OperationMetadataLabels</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>omlAddtional</a></li>
--   </ul>
operationMetadataLabels :: HashMap Text Text -> OperationMetadataLabels
omlAddtional :: Lens' OperationMetadataLabels (HashMap Text Text)

-- | 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.
--   
--   <i>See:</i> <a>variantCall</a> smart constructor.
data VariantCall

-- | Creates a value of <a>VariantCall</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vcGenotypeLikelihood</a></li>
--   <li><a>vcCallSetName</a></li>
--   <li><a>vcPhaseset</a></li>
--   <li><a>vcCallSetId</a></li>
--   <li><a>vcGenotype</a></li>
--   <li><a>vcInfo</a></li>
--   </ul>
variantCall :: VariantCall

-- | 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`.
vcGenotypeLikelihood :: Lens' VariantCall [Double]

-- | The name of the call set this variant call belongs to.
vcCallSetName :: Lens' VariantCall (Maybe Text)

-- | 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 `*`.
vcPhaseset :: Lens' VariantCall (Maybe Text)

-- | The ID of the call set this variant call belongs to.
vcCallSetId :: Lens' VariantCall (Maybe Text)

-- | 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.
vcGenotype :: Lens' VariantCall [Int32]

-- | A map of additional variant call information. This must be of the form
--   map (string key mapping to a list of string values).
vcInfo :: Lens' VariantCall (Maybe VariantCallInfo)
data BatchCreateAnnotationsRequest

-- | Creates a value of <a>BatchCreateAnnotationsRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bcarAnnotations</a></li>
--   <li><a>bcarRequestId</a></li>
--   </ul>
batchCreateAnnotationsRequest :: BatchCreateAnnotationsRequest

-- | The annotations to be created. At most 4096 can be specified in a
--   single request.
bcarAnnotations :: Lens' BatchCreateAnnotationsRequest [Annotation]

-- | A unique request ID which enables the server to detect duplicated
--   requests. If provided, duplicated requests will result in the same
--   response; if not provided, duplicated requests may result in
--   duplicated data. For a given annotation set, callers should not reuse
--   `request_id`s when writing different batches of annotations - behavior
--   in this case is undefined. A common approach is to use a UUID. For
--   batch jobs where worker crashes are a possibility, consider using some
--   unique variant of a worker or run ID.
bcarRequestId :: Lens' BatchCreateAnnotationsRequest (Maybe Text)
data MergeVariantsRequest

-- | Creates a value of <a>MergeVariantsRequest</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mvrVariants</a></li>
--   <li><a>mvrVariantSetId</a></li>
--   <li><a>mvrInfoMergeConfig</a></li>
--   </ul>
mergeVariantsRequest :: MergeVariantsRequest

-- | The variants to be merged with existing variants.
mvrVariants :: Lens' MergeVariantsRequest [Variant]

-- | The destination variant set.
mvrVariantSetId :: Lens' MergeVariantsRequest (Maybe Text)

-- | A mapping between info field keys and the InfoMergeOperations to be
--   performed on them.
mvrInfoMergeConfig :: Lens' MergeVariantsRequest (Maybe MergeVariantsRequestInfoMergeConfig)

-- | A read group is all the data that's processed the same way by the
--   sequencer.
--   
--   <i>See:</i> <a>readGroup</a> smart constructor.
data ReadGroup

-- | Creates a value of <a>ReadGroup</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>reaReferenceSetId</a></li>
--   <li><a>reaPrograms</a></li>
--   <li><a>reaExperiment</a></li>
--   <li><a>reaName</a></li>
--   <li><a>reaDataSetId</a></li>
--   <li><a>reaId</a></li>
--   <li><a>reaSampleId</a></li>
--   <li><a>reaPredictedInsertSize</a></li>
--   <li><a>reaDescription</a></li>
--   <li><a>reaInfo</a></li>
--   </ul>
readGroup :: ReadGroup

-- | The reference set the reads in this read group are aligned to.
reaReferenceSetId :: Lens' ReadGroup (Maybe Text)

-- | 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.
reaPrograms :: Lens' ReadGroup [Program]

-- | The experiment used to generate this read group.
reaExperiment :: Lens' ReadGroup (Maybe Experiment)

-- | The read group name. This corresponds to the 'RG ID field in the SAM
--   spec.
reaName :: Lens' ReadGroup (Maybe Text)

-- | The dataset to which this read group belongs.
reaDataSetId :: Lens' ReadGroup (Maybe Text)

-- | The server-generated read group ID, unique for all read groups. Note:
--   This is different than the 'RG ID field in the SAM spec. For that
--   value, see name.
reaId :: Lens' ReadGroup (Maybe Text)

-- | A client-supplied sample identifier for the reads in this read group.
reaSampleId :: Lens' ReadGroup (Maybe Text)

-- | 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.
reaPredictedInsertSize :: Lens' ReadGroup (Maybe Int32)

-- | A free-form text description of this read group.
reaDescription :: Lens' ReadGroup (Maybe Text)

-- | A map of additional read group information. This must be of the form
--   map (string key mapping to a list of string values).
reaInfo :: Lens' ReadGroup (Maybe ReadGroupInfo)

-- | This resource represents a long-running operation that is the result
--   of a network API call.
--   
--   <i>See:</i> <a>operation</a> smart constructor.
data Operation

-- | Creates a value of <a>Operation</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oDone</a></li>
--   <li><a>oError</a></li>
--   <li><a>oResponse</a></li>
--   <li><a>oName</a></li>
--   <li><a>oMetadata</a></li>
--   </ul>
operation :: Operation

-- | If the value is `false`, it means the operation is still in progress.
--   If true, the operation is completed, and either `error` or `response`
--   is available.
oDone :: Lens' Operation (Maybe Bool)

-- | The error result of the operation in case of failure or cancellation.
oError :: Lens' Operation (Maybe Status)

-- | If importing ReadGroupSets, an ImportReadGroupSetsResponse is
--   returned. If importing Variants, an ImportVariantsResponse is
--   returned. For pipelines and exports, an empty response is returned.
oResponse :: Lens' Operation (Maybe OperationResponse)

-- | The server-assigned name, which is only unique within the same service
--   that originally returns it. For example:
--   `operations/CJHU7Oi_ChDrveSpBRjfuL-qzoWAgEw`
oName :: Lens' Operation (Maybe Text)

-- | An OperationMetadata object. This will always be returned with the
--   Operation.
oMetadata :: Lens' Operation (Maybe OperationSchema)
data SearchReferenceSetsRequest

-- | Creates a value of <a>SearchReferenceSetsRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>srsrMD5checksums</a></li>
--   <li><a>srsrAccessions</a></li>
--   <li><a>srsrPageToken</a></li>
--   <li><a>srsrAssemblyId</a></li>
--   <li><a>srsrPageSize</a></li>
--   </ul>
searchReferenceSetsRequest :: SearchReferenceSetsRequest

-- | If present, return reference sets for which the md5checksum matches
--   exactly.
srsrMD5checksums :: Lens' SearchReferenceSetsRequest [Text]

-- | If present, return reference sets for which a prefix of any of
--   sourceAccessions match any of these strings. Accession numbers
--   typically have a main number and a version, for example
--   `NC_000001.11`.
srsrAccessions :: Lens' SearchReferenceSetsRequest [Text]

-- | 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.
srsrPageToken :: Lens' SearchReferenceSetsRequest (Maybe Text)

-- | If present, return reference sets for which a substring of their
--   `assemblyId` matches this string (case insensitive).
srsrAssemblyId :: Lens' SearchReferenceSetsRequest (Maybe Text)

-- | The maximum number of results to return in a single page. If
--   unspecified, defaults to 1024. The maximum value is 4096.
srsrPageSize :: Lens' SearchReferenceSetsRequest (Maybe Int32)

-- | A generic empty message that you can re-use to avoid defining
--   duplicated empty messages in your APIs. A typical example is to use it
--   as the request or the response type of an API method. For instance:
--   service Foo { rpc Bar(google.protobuf.Empty) returns
--   (google.protobuf.Empty); } The JSON representation for `Empty` is
--   empty JSON object `{}`.
--   
--   <i>See:</i> <a>empty</a> smart constructor.
data Empty

-- | Creates a value of <a>Empty</a> with the minimum fields required to
--   make a request.
empty :: Empty

-- | The type of annotations contained within this set.
data AnnotationSetType

-- | <pre>
--   ANNOTATION_TYPE_UNSPECIFIED
--   </pre>
ASTAnnotationTypeUnspecified :: AnnotationSetType

-- | <tt>GENERIC</tt> A `GENERIC` annotation type should be used when no
--   other annotation type will suffice. This represents an untyped
--   annotation of the reference genome.
ASTGeneric :: AnnotationSetType

-- | <tt>VARIANT</tt> A `VARIANT` annotation type.
ASTVariant :: AnnotationSetType

-- | <tt>GENE</tt> A `GENE` annotation type represents the existence of a
--   gene at the associated reference coordinates. The start coordinate is
--   typically the gene's transcription start site and the end is typically
--   the end of the gene's last exon.
ASTGene :: AnnotationSetType

-- | <tt>TRANSCRIPT</tt> A `TRANSCRIPT` annotation type represents the
--   assertion that a particular region of the reference genome may be
--   transcribed as RNA.
ASTTranscript :: AnnotationSetType
data SearchReferencesResponse

-- | Creates a value of <a>SearchReferencesResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>srrNextPageToken</a></li>
--   <li><a>srrReferences</a></li>
--   </ul>
searchReferencesResponse :: SearchReferencesResponse

-- | 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.
srrNextPageToken :: Lens' SearchReferencesResponse (Maybe Text)

-- | The matching references.
srrReferences :: Lens' SearchReferencesResponse [Reference]

-- | 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.
--   
--   <i>See:</i> <a>variantSetMetadata</a> smart constructor.
data VariantSetMetadata

-- | Creates a value of <a>VariantSetMetadata</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vsmValue</a></li>
--   <li><a>vsmKey</a></li>
--   <li><a>vsmId</a></li>
--   <li><a>vsmType</a></li>
--   <li><a>vsmNumber</a></li>
--   <li><a>vsmDescription</a></li>
--   <li><a>vsmInfo</a></li>
--   </ul>
variantSetMetadata :: VariantSetMetadata

-- | The value field for simple metadata
vsmValue :: Lens' VariantSetMetadata (Maybe Text)

-- | The top-level key.
vsmKey :: Lens' VariantSetMetadata (Maybe Text)

-- | 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.
vsmId :: Lens' VariantSetMetadata (Maybe Text)

-- | The type of data. Possible types include: Integer, Float, Flag,
--   Character, and String.
vsmType :: Lens' VariantSetMetadata (Maybe VariantSetMetadataType)

-- | The number of values that can be included in a field described by this
--   metadata.
vsmNumber :: Lens' VariantSetMetadata (Maybe Text)

-- | A textual description of this metadata.
vsmDescription :: Lens' VariantSetMetadata (Maybe Text)

-- | Remaining structured metadata key-value pairs. This must be of the
--   form map (string key mapping to a list of string values).
vsmInfo :: Lens' VariantSetMetadata (Maybe VariantSetMetadataInfo)

-- | A call set is a collection of variant calls, typically for one sample.
--   It belongs to a variant set. For more genomics resource definitions,
--   see <a>Fundamentals of Google Genomics</a>
--   
--   <i>See:</i> <a>callSet</a> smart constructor.
data CallSet

-- | Creates a value of <a>CallSet</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>csCreated</a></li>
--   <li><a>csName</a></li>
--   <li><a>csId</a></li>
--   <li><a>csSampleId</a></li>
--   <li><a>csVariantSetIds</a></li>
--   <li><a>csInfo</a></li>
--   </ul>
callSet :: CallSet

-- | The date this call set was created in milliseconds from the epoch.
csCreated :: Lens' CallSet (Maybe Int64)

-- | The call set name.
csName :: Lens' CallSet (Maybe Text)

-- | The server-generated call set ID, unique across all call sets.
csId :: Lens' CallSet (Maybe Text)

-- | The sample ID this call set corresponds to.
csSampleId :: Lens' CallSet (Maybe Text)

-- | The IDs of the variant sets this call set belongs to. This field must
--   have exactly length one, as a call set belongs to a single variant
--   set. This field is repeated for compatibility with the <a>GA4GH 0.5.1
--   API</a>.
csVariantSetIds :: Lens' CallSet [Text]

-- | A map of additional call set information. This must be of the form map
--   (string key mapping to a list of string values).
csInfo :: Lens' CallSet (Maybe CallSetInfo)

-- | A bucket over which read coverage has been precomputed. A bucket
--   corresponds to a specific range of the reference sequence.
--   
--   <i>See:</i> <a>coverageBucket</a> smart constructor.
data CoverageBucket

-- | Creates a value of <a>CoverageBucket</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cbRange</a></li>
--   <li><a>cbMeanCoverage</a></li>
--   </ul>
coverageBucket :: CoverageBucket

-- | The genomic coordinate range spanned by this bucket.
cbRange :: Lens' CoverageBucket (Maybe Range)

-- | The average number of reads which are aligned to each individual
--   reference base in this bucket.
cbMeanCoverage :: Lens' CoverageBucket (Maybe Double)
data VariantAnnotation

-- | Creates a value of <a>VariantAnnotation</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vaEffect</a></li>
--   <li><a>vaClinicalSignificance</a></li>
--   <li><a>vaAlternateBases</a></li>
--   <li><a>vaGeneId</a></li>
--   <li><a>vaConditions</a></li>
--   <li><a>vaType</a></li>
--   <li><a>vaTranscriptIds</a></li>
--   </ul>
variantAnnotation :: VariantAnnotation

-- | Effect of the variant on the coding sequence.
vaEffect :: Lens' VariantAnnotation (Maybe VariantAnnotationEffect)

-- | 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/
vaClinicalSignificance :: Lens' VariantAnnotation (Maybe VariantAnnotationClinicalSignificance)

-- | 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.
vaAlternateBases :: Lens' VariantAnnotation (Maybe Text)

-- | Google annotation ID of the gene affected by this variant. This should
--   be provided when the variant is created.
vaGeneId :: Lens' VariantAnnotation (Maybe Text)

-- | The set of conditions associated with this variant. A condition
--   describes the way a variant influences human health.
vaConditions :: Lens' VariantAnnotation [ClinicalCondition]

-- | Type has been adapted from ClinVar's list of variant types.
vaType :: Lens' VariantAnnotation (Maybe VariantAnnotationType)

-- | Google annotation IDs of the transcripts affected by this variant.
--   These should be provided when the variant is created.
vaTranscriptIds :: Lens' VariantAnnotation [Text]

-- | 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/
data VariantAnnotationClinicalSignificance

-- | <pre>
--   CLINICAL_SIGNIFICANCE_UNSPECIFIED
--   </pre>
ClinicalSignificanceUnspecified :: VariantAnnotationClinicalSignificance

-- | <tt>CLINICAL_SIGNIFICANCE_OTHER</tt> `OTHER` should be used when no
--   other clinical significance value will suffice.
ClinicalSignificanceOther :: VariantAnnotationClinicalSignificance

-- | <pre>
--   UNCERTAIN
--   </pre>
Uncertain :: VariantAnnotationClinicalSignificance

-- | <pre>
--   BENIGN
--   </pre>
Benign :: VariantAnnotationClinicalSignificance

-- | <pre>
--   LIKELY_BENIGN
--   </pre>
LikelyBenign :: VariantAnnotationClinicalSignificance

-- | <pre>
--   LIKELY_PATHOGENIC
--   </pre>
LikelyPathogenic :: VariantAnnotationClinicalSignificance

-- | <pre>
--   PATHOGENIC
--   </pre>
Pathogenic :: VariantAnnotationClinicalSignificance

-- | <pre>
--   DRUG_RESPONSE
--   </pre>
DrugResponse :: VariantAnnotationClinicalSignificance

-- | <pre>
--   HISTOCOMPATIBILITY
--   </pre>
Histocompatibility :: VariantAnnotationClinicalSignificance

-- | <pre>
--   CONFERS_SENSITIVITY
--   </pre>
ConfersSensitivity :: VariantAnnotationClinicalSignificance

-- | <pre>
--   RISK_FACTOR
--   </pre>
RiskFactor :: VariantAnnotationClinicalSignificance

-- | <pre>
--   ASSOCIATION
--   </pre>
Association :: VariantAnnotationClinicalSignificance

-- | <pre>
--   PROTECTIVE
--   </pre>
Protective :: VariantAnnotationClinicalSignificance

-- | <tt>MULTIPLE_REPORTED</tt> `MULTIPLE_REPORTED` should be used when
--   multiple clinical signficances are reported for a variant. The
--   original clinical significance values may be provided in the `info`
--   field.
MultipleReported :: VariantAnnotationClinicalSignificance

-- | The read group set search request.
--   
--   <i>See:</i> <a>searchReadGroupSetsRequest</a> smart constructor.
data SearchReadGroupSetsRequest

-- | Creates a value of <a>SearchReadGroupSetsRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>srgsrDataSetIds</a></li>
--   <li><a>srgsrName</a></li>
--   <li><a>srgsrPageToken</a></li>
--   <li><a>srgsrPageSize</a></li>
--   </ul>
searchReadGroupSetsRequest :: SearchReadGroupSetsRequest

-- | Restricts this query to read group sets within the given datasets. At
--   least one ID must be provided.
srgsrDataSetIds :: Lens' SearchReadGroupSetsRequest [Text]

-- | Only return read group sets for which a substring of the name matches
--   this string.
srgsrName :: Lens' SearchReadGroupSetsRequest (Maybe Text)

-- | 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.
srgsrPageToken :: Lens' SearchReadGroupSetsRequest (Maybe Text)

-- | The maximum number of results to return in a single page. If
--   unspecified, defaults to 256. The maximum value is 1024.
srgsrPageSize :: Lens' SearchReadGroupSetsRequest (Maybe Int32)

-- | 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. For
--   more genomics resource definitions, see <a>Fundamentals of Google
--   Genomics</a>
--   
--   <i>See:</i> <a>reference</a> smart constructor.
data Reference

-- | Creates a value of <a>Reference</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>refLength</a></li>
--   <li><a>refSourceAccessions</a></li>
--   <li><a>refMD5checksum</a></li>
--   <li><a>refName</a></li>
--   <li><a>refNcbiTaxonId</a></li>
--   <li><a>refId</a></li>
--   <li><a>refSourceURI</a></li>
--   </ul>
reference :: Reference

-- | The length of this reference's sequence.
refLength :: Lens' Reference (Maybe Int64)

-- | All known corresponding accession IDs in INSDC (GenBank/ENA/DDBJ)
--   ideally with a version number, for example `GCF_000001405.26`.
refSourceAccessions :: Lens' Reference [Text]

-- | 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.
refMD5checksum :: Lens' Reference (Maybe Text)

-- | The name of this reference, for example `22`.
refName :: Lens' Reference (Maybe Text)

-- | ID from http://www.ncbi.nlm.nih.gov/taxonomy. For example, 9606 for
--   human.
refNcbiTaxonId :: Lens' Reference (Maybe Int32)

-- | The server-generated reference ID, unique across all references.
refId :: Lens' Reference (Maybe Text)

-- | The URI from which the sequence was obtained. Typically specifies a
--   FASTA format file.
refSourceURI :: Lens' Reference (Maybe Text)

-- | A map of additional variant call information. This must be of the form
--   map (string key mapping to a list of string values).
--   
--   <i>See:</i> <a>variantCallInfo</a> smart constructor.
data VariantCallInfo

-- | Creates a value of <a>VariantCallInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vciAddtional</a></li>
--   </ul>
variantCallInfo :: HashMap Text [JSONValue] -> VariantCallInfo
vciAddtional :: Lens' VariantCallInfo (HashMap Text [JSONValue])

-- | A map of additional read group information. This must be of the form
--   map (string key mapping to a list of string values).
--   
--   <i>See:</i> <a>readGroupInfo</a> smart constructor.
data ReadGroupInfo

-- | Creates a value of <a>ReadGroupInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rgiAddtional</a></li>
--   </ul>
readGroupInfo :: HashMap Text [JSONValue] -> ReadGroupInfo
rgiAddtional :: Lens' ReadGroupInfo (HashMap Text [JSONValue])
data StatusDetailsItem

-- | Creates a value of <a>StatusDetailsItem</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sdiAddtional</a></li>
--   </ul>
statusDetailsItem :: HashMap Text JSONValue -> StatusDetailsItem

-- | Properties of the object. Contains field 'type with type URL.
sdiAddtional :: Lens' StatusDetailsItem (HashMap Text JSONValue)

-- | The call set search response.
--   
--   <i>See:</i> <a>searchCallSetsResponse</a> smart constructor.
data SearchCallSetsResponse

-- | Creates a value of <a>SearchCallSetsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>scsrNextPageToken</a></li>
--   <li><a>scsrCallSets</a></li>
--   </ul>
searchCallSetsResponse :: SearchCallSetsResponse

-- | 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.
scsrNextPageToken :: Lens' SearchCallSetsResponse (Maybe Text)

-- | The list of matching call sets.
scsrCallSets :: Lens' SearchCallSetsResponse [CallSet]

-- | Request message for `SetIamPolicy` method.
--   
--   <i>See:</i> <a>setIAMPolicyRequest</a> smart constructor.
data SetIAMPolicyRequest

-- | Creates a value of <a>SetIAMPolicyRequest</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>siprPolicy</a></li>
--   </ul>
setIAMPolicyRequest :: SetIAMPolicyRequest

-- | REQUIRED: The complete policy to be applied to the `resource`. The
--   size of the policy is limited to a few 10s of KB. An empty policy is a
--   valid policy but certain Cloud Platform services (such as Projects)
--   might reject them.
siprPolicy :: Lens' SetIAMPolicyRequest (Maybe Policy)

-- | The read search request.
--   
--   <i>See:</i> <a>searchReadsRequest</a> smart constructor.
data SearchReadsRequest

-- | Creates a value of <a>SearchReadsRequest</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>srrStart</a></li>
--   <li><a>srrReadGroupIds</a></li>
--   <li><a>srrReferenceName</a></li>
--   <li><a>srrEnd</a></li>
--   <li><a>srrPageToken</a></li>
--   <li><a>srrPageSize</a></li>
--   <li><a>srrReadGroupSetIds</a></li>
--   </ul>
searchReadsRequest :: SearchReadsRequest

-- | The start position of the range on the reference, 0-based inclusive.
--   If specified, `referenceName` must also be specified.
srrStart :: Lens' SearchReadsRequest (Maybe Int64)

-- | 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`.
srrReadGroupIds :: Lens' SearchReadsRequest [Text]

-- | The reference sequence name, for example `chr1`, `1`, or `chrX`. If
--   set to `*`, only unmapped reads are returned. If unspecified, all
--   reads (mapped and unmapped) are returned.
srrReferenceName :: Lens' SearchReadsRequest (Maybe Text)

-- | The end position of the range on the reference, 0-based exclusive. If
--   specified, `referenceName` must also be specified.
srrEnd :: Lens' SearchReadsRequest (Maybe Int64)

-- | 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.
srrPageToken :: Lens' SearchReadsRequest (Maybe Text)

-- | The maximum number of results to return in a single page. If
--   unspecified, defaults to 256. The maximum value is 2048.
srrPageSize :: Lens' SearchReadsRequest (Maybe Int32)

-- | 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`.
srrReadGroupSetIds :: Lens' SearchReadsRequest [Text]

-- | The original request that started the operation. Note that this will
--   be in current version of the API. If the operation was started with
--   v1beta2 API and a GetOperation is performed on v1 API, a v1 request
--   will be returned.
--   
--   <i>See:</i> <a>operationMetadataRequest</a> smart constructor.
data OperationMetadataRequest

-- | Creates a value of <a>OperationMetadataRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>omrAddtional</a></li>
--   </ul>
operationMetadataRequest :: HashMap Text JSONValue -> OperationMetadataRequest

-- | Properties of the object. Contains field 'type with type URL.
omrAddtional :: Lens' OperationMetadataRequest (HashMap Text JSONValue)

-- | A mapping between info field keys and the InfoMergeOperations to be
--   performed on them.
--   
--   <i>See:</i> <a>mergeVariantsRequestInfoMergeConfig</a> smart
--   constructor.
data MergeVariantsRequestInfoMergeConfig

-- | Creates a value of <a>MergeVariantsRequestInfoMergeConfig</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mvrimcAddtional</a></li>
--   </ul>
mergeVariantsRequestInfoMergeConfig :: HashMap Text Text -> MergeVariantsRequestInfoMergeConfig
mvrimcAddtional :: Lens' MergeVariantsRequestInfoMergeConfig (HashMap Text Text)

-- | A map of additional variant information. This must be of the form map
--   (string key mapping to a list of string values).
--   
--   <i>See:</i> <a>variantInfo</a> smart constructor.
data VariantInfo

-- | Creates a value of <a>VariantInfo</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>viAddtional</a></li>
--   </ul>
variantInfo :: HashMap Text [JSONValue] -> VariantInfo
viAddtional :: Lens' VariantInfo (HashMap Text [JSONValue])
data Experiment

-- | Creates a value of <a>Experiment</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eInstrumentModel</a></li>
--   <li><a>ePlatformUnit</a></li>
--   <li><a>eSequencingCenter</a></li>
--   <li><a>eLibraryId</a></li>
--   </ul>
experiment :: Experiment

-- | The instrument model used as part of this experiment. This maps to
--   sequencing technology in the SAM spec.
eInstrumentModel :: Lens' Experiment (Maybe Text)

-- | The platform unit used as part of this experiment, for example
--   flowcell-barcode.lane for Illumina or slide for SOLiD. Corresponds to
--   the 'RG PU field in the SAM spec.
ePlatformUnit :: Lens' Experiment (Maybe Text)

-- | The sequencing center used as part of this experiment.
eSequencingCenter :: Lens' Experiment (Maybe Text)

-- | A client-supplied library identifier; a library is a collection of DNA
--   fragments which have been prepared for sequencing from a sample. This
--   field is important for quality control as error or bias can be
--   introduced during sample preparation.
eLibraryId :: Lens' Experiment (Maybe Text)

-- | The search variant sets request.
--   
--   <i>See:</i> <a>searchVariantSetsRequest</a> smart constructor.
data SearchVariantSetsRequest

-- | Creates a value of <a>SearchVariantSetsRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>svsrDataSetIds</a></li>
--   <li><a>svsrPageToken</a></li>
--   <li><a>svsrPageSize</a></li>
--   </ul>
searchVariantSetsRequest :: SearchVariantSetsRequest

-- | Exactly one dataset ID must be provided here. Only variant sets which
--   belong to this dataset will be returned.
svsrDataSetIds :: Lens' SearchVariantSetsRequest [Text]

-- | 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.
svsrPageToken :: Lens' SearchVariantSetsRequest (Maybe Text)

-- | The maximum number of results to return in a single page. If
--   unspecified, defaults to 1024.
svsrPageSize :: Lens' SearchVariantSetsRequest (Maybe Int32)

-- | A map of additional read alignment information. This must be of the
--   form map (string key mapping to a list of string values).
--   
--   <i>See:</i> <a>annotationInfo</a> smart constructor.
data AnnotationInfo

-- | Creates a value of <a>AnnotationInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aiAddtional</a></li>
--   </ul>
annotationInfo :: HashMap Text [JSONValue] -> AnnotationInfo
aiAddtional :: Lens' AnnotationInfo (HashMap Text [JSONValue])
data SearchAnnotationsResponse

-- | Creates a value of <a>SearchAnnotationsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sarAnnotations</a></li>
--   <li><a>sarNextPageToken</a></li>
--   </ul>
searchAnnotationsResponse :: SearchAnnotationsResponse

-- | The matching annotations.
sarAnnotations :: Lens' SearchAnnotationsResponse [Annotation]

-- | 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.
sarNextPageToken :: Lens' SearchAnnotationsResponse (Maybe Text)
data SearchAnnotationSetsRequest

-- | Creates a value of <a>SearchAnnotationSetsRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sasrReferenceSetId</a></li>
--   <li><a>sasrTypes</a></li>
--   <li><a>sasrDataSetIds</a></li>
--   <li><a>sasrName</a></li>
--   <li><a>sasrPageToken</a></li>
--   <li><a>sasrPageSize</a></li>
--   </ul>
searchAnnotationSetsRequest :: SearchAnnotationSetsRequest

-- | If specified, only annotation sets associated with the given reference
--   set are returned.
sasrReferenceSetId :: Lens' SearchAnnotationSetsRequest (Maybe Text)

-- | If specified, only annotation sets that have any of these types are
--   returned.
sasrTypes :: Lens' SearchAnnotationSetsRequest [Text]

-- | Required. The dataset IDs to search within. Caller must have `READ`
--   access to these datasets.
sasrDataSetIds :: Lens' SearchAnnotationSetsRequest [Text]

-- | Only return annotations sets for which a substring of the name matches
--   this string (case insensitive).
sasrName :: Lens' SearchAnnotationSetsRequest (Maybe Text)

-- | 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.
sasrPageToken :: Lens' SearchAnnotationSetsRequest (Maybe Text)

-- | The maximum number of results to return in a single page. If
--   unspecified, defaults to 128. The maximum value is 1024.
sasrPageSize :: Lens' SearchAnnotationSetsRequest (Maybe Int32)

-- | The partition strategy describes how read groups are partitioned into
--   read group sets.
data ImportReadGroupSetsRequestPartitionStrategy

-- | <pre>
--   PARTITION_STRATEGY_UNSPECIFIED
--   </pre>
PartitionStrategyUnspecified :: ImportReadGroupSetsRequestPartitionStrategy

-- | <tt>PER_FILE_PER_SAMPLE</tt> In most cases, this strategy yields one
--   read group set per file. This is the default behavior. Allocate one
--   read group set per file per sample. For BAM files, read groups are
--   considered to share a sample if they have identical sample names.
--   Furthermore, all reads for each file which do not belong to a read
--   group, if any, will be grouped into a single read group set per-file.
PerFilePerSample :: ImportReadGroupSetsRequestPartitionStrategy

-- | <tt>MERGE_ALL</tt> Includes all read groups in all imported files into
--   a single read group set. Requires that the headers for all imported
--   files are equivalent. All reads which do not belong to a read group,
--   if any, will be grouped into a separate read group set.
MergeAll :: ImportReadGroupSetsRequestPartitionStrategy

-- | The variant search response.
--   
--   <i>See:</i> <a>searchVariantsResponse</a> smart constructor.
data SearchVariantsResponse

-- | Creates a value of <a>SearchVariantsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>svrVariants</a></li>
--   <li><a>svrNextPageToken</a></li>
--   </ul>
searchVariantsResponse :: SearchVariantsResponse

-- | The list of matching Variants.
svrVariants :: Lens' SearchVariantsResponse [Variant]

-- | 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.
svrNextPageToken :: Lens' SearchVariantsResponse (Maybe Text)

-- | Runtime metadata on this Operation.
--   
--   <i>See:</i> <a>operationMetadataRuntimeMetadata</a> smart constructor.
data OperationMetadataRuntimeMetadata

-- | Creates a value of <a>OperationMetadataRuntimeMetadata</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>omrmAddtional</a></li>
--   </ul>
operationMetadataRuntimeMetadata :: HashMap Text JSONValue -> OperationMetadataRuntimeMetadata

-- | Properties of the object. Contains field 'type with type URL.
omrmAddtional :: Lens' OperationMetadataRuntimeMetadata (HashMap Text JSONValue)
data ClinicalCondition

-- | Creates a value of <a>ClinicalCondition</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccExternalIds</a></li>
--   <li><a>ccNames</a></li>
--   <li><a>ccConceptId</a></li>
--   <li><a>ccOmimId</a></li>
--   </ul>
clinicalCondition :: ClinicalCondition

-- | The set of external IDs for this condition.
ccExternalIds :: Lens' ClinicalCondition [ExternalId]

-- | A set of names for the condition.
ccNames :: Lens' ClinicalCondition [Text]

-- | The MedGen concept id associated with this gene. Search for these IDs
--   at http://www.ncbi.nlm.nih.gov/medgen/
ccConceptId :: Lens' ClinicalCondition (Maybe Text)

-- | The OMIM id for this condition. Search for these IDs at
--   http://omim.org/
ccOmimId :: Lens' ClinicalCondition (Maybe Text)

-- | The call set search request.
--   
--   <i>See:</i> <a>searchCallSetsRequest</a> smart constructor.
data SearchCallSetsRequest

-- | Creates a value of <a>SearchCallSetsRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>scsrName</a></li>
--   <li><a>scsrPageToken</a></li>
--   <li><a>scsrVariantSetIds</a></li>
--   <li><a>scsrPageSize</a></li>
--   </ul>
searchCallSetsRequest :: SearchCallSetsRequest

-- | Only return call sets for which a substring of the name matches this
--   string.
scsrName :: Lens' SearchCallSetsRequest (Maybe Text)

-- | 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.
scsrPageToken :: Lens' SearchCallSetsRequest (Maybe Text)

-- | Restrict the query to call sets within the given variant sets. At
--   least one ID must be provided.
scsrVariantSetIds :: Lens' SearchCallSetsRequest [Text]

-- | The maximum number of results to return in a single page. If
--   unspecified, defaults to 1024.
scsrPageSize :: Lens' SearchCallSetsRequest (Maybe Int32)
data Entry

-- | Creates a value of <a>Entry</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eStatus</a></li>
--   <li><a>eAnnotation</a></li>
--   </ul>
entry :: Entry

-- | The creation status.
eStatus :: Lens' Entry (Maybe Status)

-- | The created annotation, if creation was successful.
eAnnotation :: Lens' Entry (Maybe Annotation)

-- | The read search response.
--   
--   <i>See:</i> <a>searchReadsResponse</a> smart constructor.
data SearchReadsResponse

-- | Creates a value of <a>SearchReadsResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sNextPageToken</a></li>
--   <li><a>sAlignments</a></li>
--   </ul>
searchReadsResponse :: SearchReadsResponse

-- | 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.
sNextPageToken :: Lens' SearchReadsResponse (Maybe Text)

-- | 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.
sAlignments :: Lens' SearchReadsResponse [Read']
data Program

-- | Creates a value of <a>Program</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pPrevProgramId</a></li>
--   <li><a>pName</a></li>
--   <li><a>pVersion</a></li>
--   <li><a>pId</a></li>
--   <li><a>pCommandLine</a></li>
--   </ul>
program :: Program

-- | The ID of the program run before this one.
pPrevProgramId :: Lens' Program (Maybe Text)

-- | The display name of the program. This is typically the colloquial name
--   of the tool used, for example 'bwa' or 'picard'.
pName :: Lens' Program (Maybe Text)

-- | The version of the program run.
pVersion :: Lens' Program (Maybe Text)

-- | The user specified locally unique ID of the program. Used along with
--   `prevProgramId` to define an ordering between programs.
pId :: Lens' Program (Maybe Text)

-- | The command line used to run this program.
pCommandLine :: Lens' Program (Maybe Text)
data SearchReferencesRequest

-- | Creates a value of <a>SearchReferencesRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sReferenceSetId</a></li>
--   <li><a>sMD5checksums</a></li>
--   <li><a>sAccessions</a></li>
--   <li><a>sPageToken</a></li>
--   <li><a>sPageSize</a></li>
--   </ul>
searchReferencesRequest :: SearchReferencesRequest

-- | If present, return only references which belong to this reference set.
sReferenceSetId :: Lens' SearchReferencesRequest (Maybe Text)

-- | If present, return references for which the md5checksum matches
--   exactly.
sMD5checksums :: Lens' SearchReferencesRequest [Text]

-- | If present, return references for which a prefix of any of
--   sourceAccessions match any of these strings. Accession numbers
--   typically have a main number and a version, for example
--   `GCF_000001405.26`.
sAccessions :: Lens' SearchReferencesRequest [Text]

-- | 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.
sPageToken :: Lens' SearchReferencesRequest (Maybe Text)

-- | The maximum number of results to return in a single page. If
--   unspecified, defaults to 1024. The maximum value is 4096.
sPageSize :: Lens' SearchReferencesRequest (Maybe Int32)
data BatchCreateAnnotationsResponse

-- | Creates a value of <a>BatchCreateAnnotationsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bcarEntries</a></li>
--   </ul>
batchCreateAnnotationsResponse :: BatchCreateAnnotationsResponse

-- | The resulting per-annotation entries, ordered consistently with the
--   original request.
bcarEntries :: Lens' BatchCreateAnnotationsResponse [Entry]
data CodingSequence

-- | Creates a value of <a>CodingSequence</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>csStart</a></li>
--   <li><a>csEnd</a></li>
--   </ul>
codingSequence :: CodingSequence

-- | 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.
csStart :: Lens' CodingSequence (Maybe Int64)

-- | 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.
csEnd :: Lens' CodingSequence (Maybe Int64)

-- | The data type for this annotation. Must match the containing
--   annotation set's type.
data AnnotationType

-- | <pre>
--   ANNOTATION_TYPE_UNSPECIFIED
--   </pre>
ATAnnotationTypeUnspecified :: AnnotationType

-- | <tt>GENERIC</tt> A `GENERIC` annotation type should be used when no
--   other annotation type will suffice. This represents an untyped
--   annotation of the reference genome.
ATGeneric :: AnnotationType

-- | <tt>VARIANT</tt> A `VARIANT` annotation type.
ATVariant :: AnnotationType

-- | <tt>GENE</tt> A `GENE` annotation type represents the existence of a
--   gene at the associated reference coordinates. The start coordinate is
--   typically the gene's transcription start site and the end is typically
--   the end of the gene's last exon.
ATGene :: AnnotationType

-- | <tt>TRANSCRIPT</tt> A `TRANSCRIPT` annotation type represents the
--   assertion that a particular region of the reference genome may be
--   transcribed as RNA.
ATTranscript :: AnnotationType
data SearchReferenceSetsResponse

-- | Creates a value of <a>SearchReferenceSetsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>srsrNextPageToken</a></li>
--   <li><a>srsrReferenceSets</a></li>
--   </ul>
searchReferenceSetsResponse :: SearchReferenceSetsResponse

-- | 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.
srsrNextPageToken :: Lens' SearchReferenceSetsResponse (Maybe Text)

-- | The matching references sets.
srsrReferenceSets :: Lens' SearchReferenceSetsResponse [ReferenceSet]

-- | A 0-based half-open genomic coordinate range for search requests.
--   
--   <i>See:</i> <a>range</a> smart constructor.
data Range

-- | Creates a value of <a>Range</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rStart</a></li>
--   <li><a>rReferenceName</a></li>
--   <li><a>rEnd</a></li>
--   </ul>
range :: Range

-- | The start position of the range on the reference, 0-based inclusive.
rStart :: Lens' Range (Maybe Int64)

-- | The reference sequence name, for example `chr1`, `1`, or `chrX`.
rReferenceName :: Lens' Range (Maybe Text)

-- | The end position of the range on the reference, 0-based exclusive.
rEnd :: Lens' Range (Maybe Int64)

-- | 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. * A read group set belongs to one dataset. * A
--   read group belongs to one read group set. * A read belongs to one read
--   group. For more genomics resource definitions, see <a>Fundamentals of
--   Google Genomics</a>
--   
--   <i>See:</i> <a>readGroupSet</a> smart constructor.
data ReadGroupSet

-- | Creates a value of <a>ReadGroupSet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rgsReferenceSetId</a></li>
--   <li><a>rgsName</a></li>
--   <li><a>rgsDataSetId</a></li>
--   <li><a>rgsId</a></li>
--   <li><a>rgsInfo</a></li>
--   <li><a>rgsReadGroups</a></li>
--   <li><a>rgsFilename</a></li>
--   </ul>
readGroupSet :: ReadGroupSet

-- | The reference set to which the reads in this read group set are
--   aligned.
rgsReferenceSetId :: Lens' ReadGroupSet (Maybe Text)

-- | The read group set name. By default this will be initialized to the
--   sample name of the sequenced data contained in this set.
rgsName :: Lens' ReadGroupSet (Maybe Text)

-- | The dataset to which this read group set belongs.
rgsDataSetId :: Lens' ReadGroupSet (Maybe Text)

-- | The server-generated read group set ID, unique for all read group
--   sets.
rgsId :: Lens' ReadGroupSet (Maybe Text)

-- | A map of additional read group set information.
rgsInfo :: Lens' ReadGroupSet (Maybe ReadGroupSetInfo)

-- | The read groups in this set. There are typically 1-10 read groups in a
--   read group set.
rgsReadGroups :: Lens' ReadGroupSet [ReadGroup]

-- | The filename of the original source file for this read group set, if
--   any.
rgsFilename :: Lens' ReadGroupSet (Maybe Text)

-- | V1 error format.
data Xgafv

-- | <tt>1</tt> v1 error format
X1 :: Xgafv

-- | <tt>2</tt> v2 error format
X2 :: Xgafv

-- | The read group set export request.
--   
--   <i>See:</i> <a>exportReadGroupSetRequest</a> smart constructor.
data ExportReadGroupSetRequest

-- | Creates a value of <a>ExportReadGroupSetRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ergsrReferenceNames</a></li>
--   <li><a>ergsrExportURI</a></li>
--   <li><a>ergsrProjectId</a></li>
--   </ul>
exportReadGroupSetRequest :: ExportReadGroupSetRequest

-- | The reference names to export. If this is not specified, all reference
--   sequences, including unmapped reads, are exported. Use `*` to export
--   only unmapped reads.
ergsrReferenceNames :: Lens' ExportReadGroupSetRequest [Text]

-- | 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.
ergsrExportURI :: Lens' ExportReadGroupSetRequest (Maybe Text)

-- | Required. The Google Cloud project ID that owns this export. The
--   caller must have WRITE access to this project.
ergsrProjectId :: Lens' ExportReadGroupSetRequest (Maybe Text)

-- | The variant data import response.
--   
--   <i>See:</i> <a>importVariantsResponse</a> smart constructor.
data ImportVariantsResponse

-- | Creates a value of <a>ImportVariantsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ivrCallSetIds</a></li>
--   </ul>
importVariantsResponse :: ImportVariantsResponse

-- | IDs of the call sets created during the import.
ivrCallSetIds :: Lens' ImportVariantsResponse [Text]
data ListCoverageBucketsResponse

-- | Creates a value of <a>ListCoverageBucketsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lcbrNextPageToken</a></li>
--   <li><a>lcbrBucketWidth</a></li>
--   <li><a>lcbrCoverageBuckets</a></li>
--   </ul>
listCoverageBucketsResponse :: ListCoverageBucketsResponse

-- | 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.
lcbrNextPageToken :: Lens' ListCoverageBucketsResponse (Maybe Text)

-- | 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`).
lcbrBucketWidth :: Lens' ListCoverageBucketsResponse (Maybe Int64)

-- | 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.
lcbrCoverageBuckets :: Lens' ListCoverageBucketsResponse [CoverageBucket]

-- | Request message for `TestIamPermissions` method.
--   
--   <i>See:</i> <a>testIAMPermissionsRequest</a> smart constructor.
data TestIAMPermissionsRequest

-- | Creates a value of <a>TestIAMPermissionsRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tiprPermissions</a></li>
--   </ul>
testIAMPermissionsRequest :: TestIAMPermissionsRequest

-- | REQUIRED: The set of permissions to check for the 'resource'.
--   Permissions with wildcards (such as '*' or 'storage.*') are not
--   allowed. Allowed permissions are: * `genomics.datasets.create` *
--   `genomics.datasets.delete` * `genomics.datasets.get` *
--   `genomics.datasets.list` * `genomics.datasets.update` *
--   `genomics.datasets.getIamPolicy` * `genomics.datasets.setIamPolicy`
tiprPermissions :: Lens' TestIAMPermissionsRequest [Text]

-- | The read group set import response.
--   
--   <i>See:</i> <a>importReadGroupSetsResponse</a> smart constructor.
data ImportReadGroupSetsResponse

-- | Creates a value of <a>ImportReadGroupSetsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irgsrReadGroupSetIds</a></li>
--   </ul>
importReadGroupSetsResponse :: ImportReadGroupSetsResponse

-- | IDs of the read group sets that were created.
irgsrReadGroupSetIds :: Lens' ImportReadGroupSetsResponse [Text]

-- | A linear alignment can be represented by one CIGAR string. Describes
--   the mapped position and local alignment of the read to the reference.
--   
--   <i>See:</i> <a>linearAlignment</a> smart constructor.
data LinearAlignment

-- | Creates a value of <a>LinearAlignment</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>laCigar</a></li>
--   <li><a>laMAppingQuality</a></li>
--   <li><a>laPosition</a></li>
--   </ul>
linearAlignment :: LinearAlignment

-- | Represents the local alignment of this sequence (alignment matches,
--   indels, etc) against the reference.
laCigar :: Lens' LinearAlignment [CigarUnit]

-- | The mapping quality of this alignment. Represents how likely the read
--   maps to this position as opposed to other locations. Specifically,
--   this is -10 log10 Pr(mapping position is wrong), rounded to the
--   nearest integer.
laMAppingQuality :: Lens' LinearAlignment (Maybe Int32)

-- | The position of this alignment.
laPosition :: Lens' LinearAlignment (Maybe Position)

-- | 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'.
--   
--   <i>See:</i> <a>annotationSet</a> smart constructor.
data AnnotationSet

-- | Creates a value of <a>AnnotationSet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asReferenceSetId</a></li>
--   <li><a>asName</a></li>
--   <li><a>asDataSetId</a></li>
--   <li><a>asId</a></li>
--   <li><a>asType</a></li>
--   <li><a>asSourceURI</a></li>
--   <li><a>asInfo</a></li>
--   </ul>
annotationSet :: AnnotationSet

-- | The ID of the reference set that defines the coordinate space for this
--   set's annotations.
asReferenceSetId :: Lens' AnnotationSet (Maybe Text)

-- | The display name for this annotation set.
asName :: Lens' AnnotationSet (Maybe Text)

-- | The dataset to which this annotation set belongs.
asDataSetId :: Lens' AnnotationSet (Maybe Text)

-- | The server-generated annotation set ID, unique across all annotation
--   sets.
asId :: Lens' AnnotationSet (Maybe Text)

-- | The type of annotations contained within this set.
asType :: Lens' AnnotationSet (Maybe AnnotationSetType)

-- | The source URI describing the file from which this annotation set was
--   generated, if any.
asSourceURI :: Lens' AnnotationSet (Maybe Text)

-- | A map of additional read alignment information. This must be of the
--   form map (string key mapping to a list of string values).
asInfo :: Lens' AnnotationSet (Maybe AnnotationSetInfo)

-- | 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. For more genomics resource definitions, see <a>Fundamentals
--   of Google Genomics</a>
--   
--   <i>See:</i> <a>variantSet</a> smart constructor.
data VariantSet

-- | Creates a value of <a>VariantSet</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vsReferenceSetId</a></li>
--   <li><a>vsName</a></li>
--   <li><a>vsDataSetId</a></li>
--   <li><a>vsReferenceBounds</a></li>
--   <li><a>vsMetadata</a></li>
--   <li><a>vsId</a></li>
--   <li><a>vsDescription</a></li>
--   </ul>
variantSet :: VariantSet

-- | The reference set to which the variant set is mapped. The reference
--   set describes the alignment provenance of the variant set, while the
--   `referenceBounds` describe the shape of the actual variant data. The
--   reference set's reference names are a superset of those found in the
--   `referenceBounds`. For example, given a variant set that is mapped to
--   the GRCh38 reference set and contains a single variant on reference
--   'X', `referenceBounds` would contain only an entry for 'X', while the
--   associated reference set enumerates all possible references: '1', '2',
--   'X', 'Y', 'MT', etc.
vsReferenceSetId :: Lens' VariantSet (Maybe Text)

-- | User-specified, mutable name.
vsName :: Lens' VariantSet (Maybe Text)

-- | The dataset to which this variant set belongs.
vsDataSetId :: Lens' VariantSet (Maybe Text)

-- | A list of all references used by the variants in a variant set with
--   associated coordinate upper bounds for each one.
vsReferenceBounds :: Lens' VariantSet [ReferenceBound]

-- | The metadata associated with this variant set.
vsMetadata :: Lens' VariantSet [VariantSetMetadata]

-- | The server-generated variant set ID, unique across all variant sets.
vsId :: Lens' VariantSet (Maybe Text)

-- | A textual description of this variant set.
vsDescription :: Lens' VariantSet (Maybe Text)
data CigarUnitOperation

-- | <pre>
--   OPERATION_UNSPECIFIED
--   </pre>
OperationUnspecified :: CigarUnitOperation

-- | <tt>ALIGNMENT_MATCH</tt> An alignment match indicates that a sequence
--   can be aligned to the reference without evidence of an INDEL. Unlike
--   the `SEQUENCE_MATCH` and `SEQUENCE_MISMATCH` operators, the
--   `ALIGNMENT_MATCH` operator does not indicate whether the reference and
--   read sequences are an exact match. This operator is equivalent to
--   SAM's `M`.
AlignmentMatch :: CigarUnitOperation

-- | <tt>INSERT</tt> The insert operator indicates that the read contains
--   evidence of bases being inserted into the reference. This operator is
--   equivalent to SAM's `I`.
Insert :: CigarUnitOperation

-- | <tt>DELETE</tt> The delete operator indicates that the read contains
--   evidence of bases being deleted from the reference. This operator is
--   equivalent to SAM's `D`.
Delete' :: CigarUnitOperation

-- | <tt>SKIP</tt> The skip operator indicates that this read skips a long
--   segment of the reference, but the bases have not been deleted. This
--   operator is commonly used when working with RNA-seq data, where reads
--   may skip long segments of the reference between exons. This operator
--   is equivalent to SAM's `N`.
Skip :: CigarUnitOperation

-- | <tt>CLIP_SOFT</tt> The soft clip operator indicates that bases at the
--   start/end of a read have not been considered during alignment. This
--   may occur if the majority of a read maps, except for low quality bases
--   at the start/end of a read. This operator is equivalent to SAM's `S`.
--   Bases that are soft clipped will still be stored in the read.
ClipSoft :: CigarUnitOperation

-- | <tt>CLIP_HARD</tt> The hard clip operator indicates that bases at the
--   start/end of a read have been omitted from this alignment. This may
--   occur if this linear alignment is part of a chimeric alignment, or if
--   the read has been trimmed (for example, during error correction or to
--   trim poly-A tails for RNA-seq). This operator is equivalent to SAM's
--   `H`.
ClipHard :: CigarUnitOperation

-- | <tt>PAD</tt> The pad operator indicates that there is padding in an
--   alignment. This operator is equivalent to SAM's `P`.
Pad :: CigarUnitOperation

-- | <tt>SEQUENCE_MATCH</tt> This operator indicates that this portion of
--   the aligned sequence exactly matches the reference. This operator is
--   equivalent to SAM's `=`.
SequenceMatch :: CigarUnitOperation

-- | <tt>SEQUENCE_MISMATCH</tt> This operator indicates that this portion
--   of the aligned sequence is an alignment match to the reference, but a
--   sequence mismatch. This can indicate a SNP or a read error. This
--   operator is equivalent to SAM's `X`.
SequenceMismatch :: CigarUnitOperation

-- | The type of data. Possible types include: Integer, Float, Flag,
--   Character, and String.
data VariantSetMetadataType

-- | <pre>
--   TYPE_UNSPECIFIED
--   </pre>
TypeUnspecified :: VariantSetMetadataType

-- | <pre>
--   INTEGER
--   </pre>
Integer :: VariantSetMetadataType

-- | <pre>
--   FLOAT
--   </pre>
Float :: VariantSetMetadataType

-- | <pre>
--   FLAG
--   </pre>
Flag :: VariantSetMetadataType

-- | <pre>
--   CHARACTER
--   </pre>
Character :: VariantSetMetadataType

-- | <pre>
--   STRING
--   </pre>
String :: VariantSetMetadataType

-- | Response message for `TestIamPermissions` method.
--   
--   <i>See:</i> <a>testIAMPermissionsResponse</a> smart constructor.
data TestIAMPermissionsResponse

-- | Creates a value of <a>TestIAMPermissionsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tiamprPermissions</a></li>
--   </ul>
testIAMPermissionsResponse :: TestIAMPermissionsResponse

-- | A subset of `TestPermissionsRequest.permissions` that the caller is
--   allowed.
tiamprPermissions :: Lens' TestIAMPermissionsResponse [Text]

-- | The dataset list response.
--   
--   <i>See:</i> <a>listDataSetsResponse</a> smart constructor.
data ListDataSetsResponse

-- | Creates a value of <a>ListDataSetsResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ldsrNextPageToken</a></li>
--   <li><a>ldsrDataSets</a></li>
--   </ul>
listDataSetsResponse :: ListDataSetsResponse

-- | 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.
ldsrNextPageToken :: Lens' ListDataSetsResponse (Maybe Text)

-- | The list of matching Datasets.
ldsrDataSets :: Lens' ListDataSetsResponse [DataSet]

-- | The read group set import request.
--   
--   <i>See:</i> <a>importReadGroupSetsRequest</a> smart constructor.
data ImportReadGroupSetsRequest

-- | Creates a value of <a>ImportReadGroupSetsRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irgsrReferenceSetId</a></li>
--   <li><a>irgsrDataSetId</a></li>
--   <li><a>irgsrSourceURIs</a></li>
--   <li><a>irgsrPartitionStrategy</a></li>
--   </ul>
importReadGroupSetsRequest :: ImportReadGroupSetsRequest

-- | 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.
irgsrReferenceSetId :: Lens' ImportReadGroupSetsRequest (Maybe Text)

-- | Required. The ID of the dataset these read group sets will belong to.
--   The caller must have WRITE permissions to this dataset.
irgsrDataSetId :: Lens' ImportReadGroupSetsRequest (Maybe Text)

-- | A list of URIs pointing at <a>BAM files</a> in Google Cloud Storage.
--   Those URIs can include wildcards (*), but do not add or remove
--   matching files before import has completed. Note that Google Cloud
--   Storage object listing is only eventually consistent: files added may
--   be not be immediately visible to everyone. Thus, if using a wildcard
--   it is preferable not to start the import immediately after the files
--   are created.
irgsrSourceURIs :: Lens' ImportReadGroupSetsRequest [Text]

-- | The partition strategy describes how read groups are partitioned into
--   read group sets.
irgsrPartitionStrategy :: Lens' ImportReadGroupSetsRequest (Maybe ImportReadGroupSetsRequestPartitionStrategy)

-- | The variant data import request.
--   
--   <i>See:</i> <a>importVariantsRequest</a> smart constructor.
data ImportVariantsRequest

-- | Creates a value of <a>ImportVariantsRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ivrVariantSetId</a></li>
--   <li><a>ivrFormat</a></li>
--   <li><a>ivrInfoMergeConfig</a></li>
--   <li><a>ivrNormalizeReferenceNames</a></li>
--   <li><a>ivrSourceURIs</a></li>
--   </ul>
importVariantsRequest :: ImportVariantsRequest

-- | Required. The variant set to which variant data should be imported.
ivrVariantSetId :: Lens' ImportVariantsRequest (Maybe Text)

-- | The format of the variant data being imported. If unspecified,
--   defaults to to `VCF`.
ivrFormat :: Lens' ImportVariantsRequest (Maybe ImportVariantsRequestFormat)

-- | A mapping between info field keys and the InfoMergeOperations to be
--   performed on them. This is plumbed down to the MergeVariantRequests
--   generated by the resulting import job.
ivrInfoMergeConfig :: Lens' ImportVariantsRequest (Maybe ImportVariantsRequestInfoMergeConfig)

-- | 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".
ivrNormalizeReferenceNames :: Lens' ImportVariantsRequest (Maybe Bool)

-- | A list of URIs referencing variant files in Google Cloud Storage. URIs
--   can include wildcards <a>as described here</a>. Note that recursive
--   wildcards ('**') are not supported.
ivrSourceURIs :: Lens' ImportVariantsRequest [Text]
data ExternalId

-- | Creates a value of <a>ExternalId</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eiSourceName</a></li>
--   <li><a>eiId</a></li>
--   </ul>
externalId :: ExternalId

-- | The name of the source of this data.
eiSourceName :: Lens' ExternalId (Maybe Text)

-- | The id used by the source of this data.
eiId :: Lens' ExternalId (Maybe Text)

-- | A single CIGAR operation.
--   
--   <i>See:</i> <a>cigarUnit</a> smart constructor.
data CigarUnit

-- | Creates a value of <a>CigarUnit</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cuOperation</a></li>
--   <li><a>cuOperationLength</a></li>
--   <li><a>cuReferenceSequence</a></li>
--   </ul>
cigarUnit :: CigarUnit
cuOperation :: Lens' CigarUnit (Maybe CigarUnitOperation)

-- | The number of genomic bases that the operation runs for. Required.
cuOperationLength :: Lens' CigarUnit (Maybe Int64)

-- | `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.
cuReferenceSequence :: Lens' CigarUnit (Maybe Text)

-- | Defines an Identity and Access Management (IAM) policy. It is used to
--   specify access control policies for Cloud Platform resources. A
--   `Policy` consists of a list of `bindings`. A `Binding` binds a list of
--   `members` to a `role`, where the members can be user accounts, Google
--   groups, Google domains, and service accounts. A `role` is a named list
--   of permissions defined by IAM. **Example** { "bindings": [ { "role":
--   "roles/owner", "members": [ "user:mike'example.com",
--   "group:admins'example.com", "domain:google.com",
--   "serviceAccount:my-other-app'appspot.gserviceaccount.com", ] }, {
--   "role": "roles/viewer", "members": ["user:sean'example.com"] } ] } For
--   a description of IAM and its features, see the <a>IAM developer's
--   guide</a>.
--   
--   <i>See:</i> <a>policy</a> smart constructor.
data Policy

-- | Creates a value of <a>Policy</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>polEtag</a></li>
--   <li><a>polVersion</a></li>
--   <li><a>polBindings</a></li>
--   </ul>
policy :: Policy

-- | `etag` is used for optimistic concurrency control as a way to help
--   prevent simultaneous updates of a policy from overwriting each other.
--   It is strongly suggested that systems make use of the `etag` in the
--   read-modify-write cycle to perform policy updates in order to avoid
--   race conditions: An `etag` is returned in the response to
--   `getIamPolicy`, and systems are expected to put that etag in the
--   request to `setIamPolicy` to ensure that their change will be applied
--   to the same version of the policy. If no `etag` is provided in the
--   call to `setIamPolicy`, then the existing policy is overwritten
--   blindly.
polEtag :: Lens' Policy (Maybe ByteString)

-- | Version of the `Policy`. The default version is 0.
polVersion :: Lens' Policy (Maybe Int32)

-- | Associates a list of `members` to a `role`. Multiple `bindings` must
--   not be specified for the same `role`. `bindings` with no members will
--   result in an error.
polBindings :: Lens' Policy [Binding]

-- | The variant data export request.
--   
--   <i>See:</i> <a>exportVariantSetRequest</a> smart constructor.
data ExportVariantSetRequest

-- | Creates a value of <a>ExportVariantSetRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>evsrBigQueryDataSet</a></li>
--   <li><a>evsrBigQueryTable</a></li>
--   <li><a>evsrFormat</a></li>
--   <li><a>evsrCallSetIds</a></li>
--   <li><a>evsrProjectId</a></li>
--   </ul>
exportVariantSetRequest :: ExportVariantSetRequest

-- | Required. The BigQuery dataset to export data to. This dataset must
--   already exist. Note that this is distinct from the Genomics concept of
--   "dataset".
evsrBigQueryDataSet :: Lens' ExportVariantSetRequest (Maybe Text)

-- | 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.
evsrBigQueryTable :: Lens' ExportVariantSetRequest (Maybe Text)

-- | The format for the exported data.
evsrFormat :: Lens' ExportVariantSetRequest (Maybe ExportVariantSetRequestFormat)

-- | If provided, only variant call information from the specified call
--   sets will be exported. By default all variant calls are exported.
evsrCallSetIds :: Lens' ExportVariantSetRequest [Text]

-- | Required. The Google Cloud project ID that owns the destination
--   BigQuery dataset. The caller must have WRITE access to this project.
--   This project will also own the resulting export job.
evsrProjectId :: Lens' ExportVariantSetRequest (Maybe Text)

-- | Type has been adapted from ClinVar's list of variant types.
data VariantAnnotationType

-- | <pre>
--   TYPE_UNSPECIFIED
--   </pre>
VATTypeUnspecified :: VariantAnnotationType

-- | <tt>TYPE_OTHER</tt> `TYPE_OTHER` should be used when no other Type
--   will suffice. Further explanation of the variant type may be included
--   in the info field.
VATTypeOther :: VariantAnnotationType

-- | <tt>INSERTION</tt> `INSERTION` indicates an insertion.
VATInsertion :: VariantAnnotationType

-- | <tt>DELETION</tt> `DELETION` indicates a deletion.
VATDeletion :: VariantAnnotationType

-- | <tt>SUBSTITUTION</tt> `SUBSTITUTION` indicates a block substitution of
--   two or more nucleotides.
VATSubstitution :: VariantAnnotationType

-- | <tt>SNP</tt> `SNP` indicates a single nucleotide polymorphism.
VATSnp :: VariantAnnotationType

-- | <tt>STRUCTURAL</tt> `STRUCTURAL` indicates a large structural variant,
--   including chromosomal fusions, inversions, etc.
VATStructural :: VariantAnnotationType

-- | <tt>CNV</tt> `CNV` indicates a variation in copy number.
VATCnv :: VariantAnnotationType

-- | Metadata describing an Operation.
--   
--   <i>See:</i> <a>operationMetadata</a> smart constructor.
data OperationMetadata

-- | Creates a value of <a>OperationMetadata</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>omClientId</a></li>
--   <li><a>omStartTime</a></li>
--   <li><a>omEvents</a></li>
--   <li><a>omEndTime</a></li>
--   <li><a>omLabels</a></li>
--   <li><a>omProjectId</a></li>
--   <li><a>omCreateTime</a></li>
--   <li><a>omRuntimeMetadata</a></li>
--   <li><a>omRequest</a></li>
--   </ul>
operationMetadata :: OperationMetadata

-- | This field is deprecated. Use `labels` instead. Optionally provided by
--   the caller when submitting the request that creates the operation.
omClientId :: Lens' OperationMetadata (Maybe Text)

-- | The time at which the job began to run.
omStartTime :: Lens' OperationMetadata (Maybe UTCTime)

-- | Optional event messages that were generated during the job's
--   execution. This also contains any warnings that were generated during
--   import or export.
omEvents :: Lens' OperationMetadata [OperationEvent]

-- | The time at which the job stopped running.
omEndTime :: Lens' OperationMetadata (Maybe UTCTime)

-- | Optionally provided by the caller when submitting the request that
--   creates the operation.
omLabels :: Lens' OperationMetadata (Maybe OperationMetadataLabels)

-- | The Google Cloud Project in which the job is scoped.
omProjectId :: Lens' OperationMetadata (Maybe Text)

-- | The time at which the job was submitted to the Genomics service.
omCreateTime :: Lens' OperationMetadata (Maybe UTCTime)

-- | Runtime metadata on this Operation.
omRuntimeMetadata :: Lens' OperationMetadata (Maybe OperationMetadataRuntimeMetadata)

-- | The original request that started the operation. Note that this will
--   be in current version of the API. If the operation was started with
--   v1beta2 API and a GetOperation is performed on v1 API, a v1 request
--   will be returned.
omRequest :: Lens' OperationMetadata (Maybe OperationMetadataRequest)

-- | The format of the variant data being imported. If unspecified,
--   defaults to to `VCF`.
data ImportVariantsRequestFormat

-- | <pre>
--   FORMAT_UNSPECIFIED
--   </pre>
FormatUnspecified :: ImportVariantsRequestFormat

-- | <tt>FORMAT_VCF</tt> VCF (Variant Call Format). The VCF files may be
--   gzip compressed. gVCF is also supported.
FormatVcf :: ImportVariantsRequestFormat

-- | <tt>FORMAT_COMPLETE_GENOMICS</tt> Complete Genomics masterVarBeta
--   format. The masterVarBeta files may be bzip2 compressed.
FormatCompleteGenomics :: ImportVariantsRequestFormat
data SearchAnnotationsRequest

-- | Creates a value of <a>SearchAnnotationsRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sarStart</a></li>
--   <li><a>sarReferenceId</a></li>
--   <li><a>sarReferenceName</a></li>
--   <li><a>sarEnd</a></li>
--   <li><a>sarPageToken</a></li>
--   <li><a>sarAnnotationSetIds</a></li>
--   <li><a>sarPageSize</a></li>
--   </ul>
searchAnnotationsRequest :: SearchAnnotationsRequest

-- | The start position of the range on the reference, 0-based inclusive.
--   If specified, referenceId or referenceName must be specified. Defaults
--   to 0.
sarStart :: Lens' SearchAnnotationsRequest (Maybe Int64)

-- | The ID of the reference to query.
sarReferenceId :: Lens' SearchAnnotationsRequest (Maybe Text)

-- | The name of the reference to query, within the reference set
--   associated with this query.
sarReferenceName :: Lens' SearchAnnotationsRequest (Maybe Text)

-- | The end position of the range on the reference, 0-based exclusive. If
--   referenceId or referenceName must be specified, Defaults to the length
--   of the reference.
sarEnd :: Lens' SearchAnnotationsRequest (Maybe Int64)

-- | 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.
sarPageToken :: Lens' SearchAnnotationsRequest (Maybe Text)

-- | Required. The annotation sets to search within. The caller must have
--   `READ` access to these annotation sets. All queried annotation sets
--   must have the same type.
sarAnnotationSetIds :: Lens' SearchAnnotationsRequest [Text]

-- | The maximum number of results to return in a single page. If
--   unspecified, defaults to 256. The maximum value is 2048.
sarPageSize :: Lens' SearchAnnotationsRequest (Maybe Int32)

-- | The search variant sets response.
--   
--   <i>See:</i> <a>searchVariantSetsResponse</a> smart constructor.
data SearchVariantSetsResponse

-- | Creates a value of <a>SearchVariantSetsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>svsrNextPageToken</a></li>
--   <li><a>svsrVariantSets</a></li>
--   </ul>
searchVariantSetsResponse :: SearchVariantSetsResponse

-- | 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.
svsrNextPageToken :: Lens' SearchVariantSetsResponse (Maybe Text)

-- | The variant sets belonging to the requested dataset.
svsrVariantSets :: Lens' SearchVariantSetsResponse [VariantSet]

-- | The variant search request.
--   
--   <i>See:</i> <a>searchVariantsRequest</a> smart constructor.
data SearchVariantsRequest

-- | Creates a value of <a>SearchVariantsRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>svrStart</a></li>
--   <li><a>svrCallSetIds</a></li>
--   <li><a>svrReferenceName</a></li>
--   <li><a>svrEnd</a></li>
--   <li><a>svrMaxCalls</a></li>
--   <li><a>svrPageToken</a></li>
--   <li><a>svrVariantName</a></li>
--   <li><a>svrVariantSetIds</a></li>
--   <li><a>svrPageSize</a></li>
--   </ul>
searchVariantsRequest :: SearchVariantsRequest

-- | The beginning of the window (0-based, inclusive) for which overlapping
--   variants should be returned. If unspecified, defaults to 0.
svrStart :: Lens' SearchVariantsRequest (Maybe Int64)

-- | 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.
svrCallSetIds :: Lens' SearchVariantsRequest [Text]

-- | Required. Only return variants in this reference sequence.
svrReferenceName :: Lens' SearchVariantsRequest (Maybe Text)

-- | The end of the window, 0-based exclusive. If unspecified or 0,
--   defaults to the length of the reference.
svrEnd :: Lens' SearchVariantsRequest (Maybe Int64)

-- | The maximum number of calls to return in a single page. Note that this
--   limit may be exceeded in the event that a matching variant contains
--   more calls than the requested maximum. If unspecified, defaults to
--   5000. The maximum value is 10000.
svrMaxCalls :: Lens' SearchVariantsRequest (Maybe Int32)

-- | 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.
svrPageToken :: Lens' SearchVariantsRequest (Maybe Text)

-- | Only return variants which have exactly this name.
svrVariantName :: Lens' SearchVariantsRequest (Maybe Text)

-- | 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.
svrVariantSetIds :: Lens' SearchVariantsRequest [Text]

-- | The maximum number of variants to return in a single page. If
--   unspecified, defaults to 5000. The maximum value is 10000.
svrPageSize :: Lens' SearchVariantsRequest (Maybe Int32)

-- | The format for the exported data.
data ExportVariantSetRequestFormat

-- | <pre>
--   FORMAT_UNSPECIFIED
--   </pre>
EVSRFFormatUnspecified :: ExportVariantSetRequestFormat

-- | <tt>FORMAT_BIGQUERY</tt> Export the data to Google BigQuery.
EVSRFFormatBigQuery :: ExportVariantSetRequestFormat

-- | A map of additional read alignment information. This must be of the
--   form map (string key mapping to a list of string values).
--   
--   <i>See:</i> <a>annotationSetInfo</a> smart constructor.
data AnnotationSetInfo

-- | Creates a value of <a>AnnotationSetInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asiAddtional</a></li>
--   </ul>
annotationSetInfo :: HashMap Text [JSONValue] -> AnnotationSetInfo
asiAddtional :: Lens' AnnotationSetInfo (HashMap Text [JSONValue])

-- | Describes a Compute Engine resource that is being managed by a running
--   pipeline.
--   
--   <i>See:</i> <a>computeEngine</a> smart constructor.
data ComputeEngine

-- | Creates a value of <a>ComputeEngine</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ceZone</a></li>
--   <li><a>ceDiskNames</a></li>
--   <li><a>ceMachineType</a></li>
--   <li><a>ceInstanceName</a></li>
--   </ul>
computeEngine :: ComputeEngine

-- | The availability zone in which the instance resides.
ceZone :: Lens' ComputeEngine (Maybe Text)

-- | The names of the disks that were created for this pipeline.
ceDiskNames :: Lens' ComputeEngine [Text]

-- | The machine type of the instance.
ceMachineType :: Lens' ComputeEngine (Maybe Text)

-- | The instance on which the operation is running.
ceInstanceName :: Lens' ComputeEngine (Maybe Text)
data SearchAnnotationSetsResponse

-- | Creates a value of <a>SearchAnnotationSetsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sasrNextPageToken</a></li>
--   <li><a>sasrAnnotationSets</a></li>
--   </ul>
searchAnnotationSetsResponse :: SearchAnnotationSetsResponse

-- | 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.
sasrNextPageToken :: Lens' SearchAnnotationSetsResponse (Maybe Text)

-- | The matching annotation sets.
sasrAnnotationSets :: Lens' SearchAnnotationSetsResponse [AnnotationSet]

-- | A map of additional call set information. This must be of the form map
--   (string key mapping to a list of string values).
--   
--   <i>See:</i> <a>callSetInfo</a> smart constructor.
data CallSetInfo

-- | Creates a value of <a>CallSetInfo</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>csiAddtional</a></li>
--   </ul>
callSetInfo :: HashMap Text [JSONValue] -> CallSetInfo
csiAddtional :: Lens' CallSetInfo (HashMap Text [JSONValue])

-- | Remaining structured metadata key-value pairs. This must be of the
--   form map (string key mapping to a list of string values).
--   
--   <i>See:</i> <a>variantSetMetadataInfo</a> smart constructor.
data VariantSetMetadataInfo

-- | Creates a value of <a>VariantSetMetadataInfo</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vsmiAddtional</a></li>
--   </ul>
variantSetMetadataInfo :: HashMap Text [JSONValue] -> VariantSetMetadataInfo
vsmiAddtional :: Lens' VariantSetMetadataInfo (HashMap Text [JSONValue])

-- | If importing ReadGroupSets, an ImportReadGroupSetsResponse is
--   returned. If importing Variants, an ImportVariantsResponse is
--   returned. For pipelines and exports, an empty response is returned.
--   
--   <i>See:</i> <a>operationResponse</a> smart constructor.
data OperationResponse

-- | Creates a value of <a>OperationResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>orAddtional</a></li>
--   </ul>
operationResponse :: HashMap Text JSONValue -> OperationResponse

-- | Properties of the object. Contains field 'type with type URL.
orAddtional :: Lens' OperationResponse (HashMap Text JSONValue)

-- | A transcript represents the assertion that a particular region of the
--   reference genome may be transcribed as RNA.
--   
--   <i>See:</i> <a>transcript</a> smart constructor.
data Transcript

-- | Creates a value of <a>Transcript</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tGeneId</a></li>
--   <li><a>tCodingSequence</a></li>
--   <li><a>tExons</a></li>
--   </ul>
transcript :: Transcript

-- | The annotation ID of the gene from which this transcript is
--   transcribed.
tGeneId :: Lens' Transcript (Maybe Text)

-- | 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.
tCodingSequence :: Lens' Transcript (Maybe CodingSequence)

-- | The <a>exons</a> 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.
tExons :: Lens' Transcript [Exon]

-- | An event that occurred during an Operation.
--   
--   <i>See:</i> <a>operationEvent</a> smart constructor.
data OperationEvent

-- | Creates a value of <a>OperationEvent</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oeStartTime</a></li>
--   <li><a>oeEndTime</a></li>
--   <li><a>oeDescription</a></li>
--   </ul>
operationEvent :: OperationEvent

-- | Optional time of when event started.
oeStartTime :: Lens' OperationEvent (Maybe UTCTime)

-- | Optional time of when event finished. An event can have a start time
--   and no finish time. If an event has a finish time, there must be a
--   start time.
oeEndTime :: Lens' OperationEvent (Maybe UTCTime)

-- | Required description of event.
oeDescription :: Lens' OperationEvent (Maybe Text)

-- | ReferenceBound records an upper bound for the starting coordinate of
--   variants in a particular reference.
--   
--   <i>See:</i> <a>referenceBound</a> smart constructor.
data ReferenceBound

-- | Creates a value of <a>ReferenceBound</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rbUpperBound</a></li>
--   <li><a>rbReferenceName</a></li>
--   </ul>
referenceBound :: ReferenceBound

-- | An upper bound (inclusive) on the starting coordinate of any variant
--   in the reference sequence.
rbUpperBound :: Lens' ReferenceBound (Maybe Int64)

-- | The name of the reference associated with this reference bound.
rbReferenceName :: Lens' ReferenceBound (Maybe Text)
data UndeleteDataSetRequest

-- | Creates a value of <a>UndeleteDataSetRequest</a> with the minimum
--   fields required to make a request.
undeleteDataSetRequest :: UndeleteDataSetRequest

-- | Associates `members` with a `role`.
--   
--   <i>See:</i> <a>binding</a> smart constructor.
data Binding

-- | Creates a value of <a>Binding</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bMembers</a></li>
--   <li><a>bRole</a></li>
--   </ul>
binding :: Binding

-- | Specifies the identities requesting access for a Cloud Platform
--   resource. `members` can have the following values: * `allUsers`: A
--   special identifier that represents anyone who is on the internet; with
--   or without a Google account. * `allAuthenticatedUsers`: A special
--   identifier that represents anyone who is authenticated with a Google
--   account or a service account. * `user:{emailid}`: An email address
--   that represents a specific Google account. For example,
--   `alice'gmail.com` or `joe'example.com`. * `serviceAccount:{emailid}`:
--   An email address that represents a service account. For example,
--   `my-other-app'appspot.gserviceaccount.com`. * `group:{emailid}`: An
--   email address that represents a Google group. For example,
--   `admins'example.com`. * `domain:{domain}`: A Google Apps domain name
--   that represents all the users of that domain. For example,
--   `google.com` or `example.com`.
bMembers :: Lens' Binding [Text]

-- | Role that is assigned to `members`. For example, `roles/viewer`,
--   `roles/editor`, or `roles/owner`. Required
bRole :: Lens' Binding (Maybe Text)

-- | 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.
--   
--   <i>See:</i> <a>position</a> smart constructor.
data Position

-- | Creates a value of <a>Position</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pReverseStrand</a></li>
--   <li><a>pReferenceName</a></li>
--   <li><a>pPosition</a></li>
--   </ul>
position :: Position

-- | Whether this position is on the reverse strand, as opposed to the
--   forward strand.
pReverseStrand :: Lens' Position (Maybe Bool)

-- | The name of the reference in whatever reference set is being used.
pReferenceName :: Lens' Position (Maybe Text)

-- | The 0-based offset from the start of the forward strand for that
--   reference.
pPosition :: Lens' Position (Maybe Int64)

-- | Runtime metadata that will be populated in the runtimeMetadata field
--   of the Operation associated with a RunPipeline execution.
--   
--   <i>See:</i> <a>runtimeMetadata</a> smart constructor.
data RuntimeMetadata

-- | Creates a value of <a>RuntimeMetadata</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rmComputeEngine</a></li>
--   </ul>
runtimeMetadata :: RuntimeMetadata

-- | Execution information specific to Google Compute Engine.
rmComputeEngine :: Lens' RuntimeMetadata (Maybe ComputeEngine)

-- | The read group set search response.
--   
--   <i>See:</i> <a>searchReadGroupSetsResponse</a> smart constructor.
data SearchReadGroupSetsResponse

-- | Creates a value of <a>SearchReadGroupSetsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>srgsrNextPageToken</a></li>
--   <li><a>srgsrReadGroupSets</a></li>
--   </ul>
searchReadGroupSetsResponse :: SearchReadGroupSetsResponse

-- | 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.
srgsrNextPageToken :: Lens' SearchReadGroupSetsResponse (Maybe Text)

-- | The list of matching read group sets.
srgsrReadGroupSets :: Lens' SearchReadGroupSetsResponse [ReadGroupSet]

-- | A map of additional read group set information.
--   
--   <i>See:</i> <a>readGroupSetInfo</a> smart constructor.
data ReadGroupSetInfo

-- | Creates a value of <a>ReadGroupSetInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rgsiAddtional</a></li>
--   </ul>
readGroupSetInfo :: HashMap Text [JSONValue] -> ReadGroupSetInfo
rgsiAddtional :: Lens' ReadGroupSetInfo (HashMap Text [JSONValue])

-- | 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. For more genomics
--   resource definitions, see <a>Fundamentals of Google Genomics</a>
--   
--   <i>See:</i> <a>referenceSet</a> smart constructor.
data ReferenceSet

-- | Creates a value of <a>ReferenceSet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rsSourceAccessions</a></li>
--   <li><a>rsReferenceIds</a></li>
--   <li><a>rsMD5checksum</a></li>
--   <li><a>rsNcbiTaxonId</a></li>
--   <li><a>rsId</a></li>
--   <li><a>rsAssemblyId</a></li>
--   <li><a>rsSourceURI</a></li>
--   <li><a>rsDescription</a></li>
--   </ul>
referenceSet :: ReferenceSet

-- | All known corresponding accession IDs in INSDC (GenBank/ENA/DDBJ)
--   ideally with a version number, for example `NC_000001.11`.
rsSourceAccessions :: Lens' ReferenceSet [Text]

-- | The IDs of the reference objects that are part of this set.
--   `Reference.md5checksum` must be unique within this set.
rsReferenceIds :: Lens' ReferenceSet [Text]

-- | 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.
rsMD5checksum :: Lens' ReferenceSet (Maybe Text)

-- | ID from http://www.ncbi.nlm.nih.gov/taxonomy (for example, 9606 for
--   human) indicating the species which this reference set 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, for example EBV in a human
--   reference genome.
rsNcbiTaxonId :: Lens' ReferenceSet (Maybe Int32)

-- | The server-generated reference set ID, unique across all reference
--   sets.
rsId :: Lens' ReferenceSet (Maybe Text)

-- | Public id of this reference set, such as `GRCh37`.
rsAssemblyId :: Lens' ReferenceSet (Maybe Text)

-- | The URI from which the references were obtained.
rsSourceURI :: Lens' ReferenceSet (Maybe Text)

-- | Free text description of this reference set.
rsDescription :: Lens' ReferenceSet (Maybe Text)


-- | Creates a new annotation set. Caller must have WRITE permission for
--   the associated dataset. The following fields are required: * datasetId
--   * referenceSetId All other fields may be optionally specified, unless
--   documented as being server-generated (for example, the `id` field).
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.annotationsets.create</tt>.
module Network.Google.Resource.Genomics.AnnotationSets.Create

-- | A resource alias for <tt>genomics.annotationsets.create</tt> method
--   which the <a>AnnotationSetsCreate</a> request conforms to.
type AnnotationSetsCreateResource = "v1" :> ("annotationsets" :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] AnnotationSet :> Post '[JSON] AnnotationSet))))))))))

-- | Creates a value of <a>AnnotationSetsCreate</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ascXgafv</a></li>
--   <li><a>ascUploadProtocol</a></li>
--   <li><a>ascPp</a></li>
--   <li><a>ascAccessToken</a></li>
--   <li><a>ascUploadType</a></li>
--   <li><a>ascPayload</a></li>
--   <li><a>ascBearerToken</a></li>
--   <li><a>ascCallback</a></li>
--   </ul>
annotationSetsCreate :: AnnotationSet -> AnnotationSetsCreate

-- | Creates a new annotation set. Caller must have WRITE permission for
--   the associated dataset. The following fields are required: * datasetId
--   * referenceSetId All other fields may be optionally specified, unless
--   documented as being server-generated (for example, the `id` field).
--   
--   <i>See:</i> <a>annotationSetsCreate</a> smart constructor.
data AnnotationSetsCreate

-- | V1 error format.
ascXgafv :: Lens' AnnotationSetsCreate (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
ascUploadProtocol :: Lens' AnnotationSetsCreate (Maybe Text)

-- | Pretty-print response.
ascPp :: Lens' AnnotationSetsCreate Bool

-- | OAuth access token.
ascAccessToken :: Lens' AnnotationSetsCreate (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
ascUploadType :: Lens' AnnotationSetsCreate (Maybe Text)

-- | Multipart request metadata.
ascPayload :: Lens' AnnotationSetsCreate AnnotationSet

-- | OAuth bearer token.
ascBearerToken :: Lens' AnnotationSetsCreate (Maybe Text)

-- | JSONP
ascCallback :: Lens' AnnotationSetsCreate (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.AnnotationSets.Create.AnnotationSetsCreate
instance Data.Data.Data Network.Google.Resource.Genomics.AnnotationSets.Create.AnnotationSetsCreate
instance GHC.Show.Show Network.Google.Resource.Genomics.AnnotationSets.Create.AnnotationSetsCreate
instance GHC.Classes.Eq Network.Google.Resource.Genomics.AnnotationSets.Create.AnnotationSetsCreate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.AnnotationSets.Create.AnnotationSetsCreate


-- | Deletes an annotation set. Caller must have WRITE permission for the
--   associated annotation set.
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.annotationsets.delete</tt>.
module Network.Google.Resource.Genomics.AnnotationSets.Delete

-- | A resource alias for <tt>genomics.annotationsets.delete</tt> method
--   which the <a>AnnotationSetsDelete</a> request conforms to.
type AnnotationSetsDeleteResource = "v1" :> ("annotationsets" :> (Capture "annotationSetId" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] Empty))))))))))

-- | Creates a value of <a>AnnotationSetsDelete</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asdXgafv</a></li>
--   <li><a>asdUploadProtocol</a></li>
--   <li><a>asdAnnotationSetId</a></li>
--   <li><a>asdPp</a></li>
--   <li><a>asdAccessToken</a></li>
--   <li><a>asdUploadType</a></li>
--   <li><a>asdBearerToken</a></li>
--   <li><a>asdCallback</a></li>
--   </ul>
annotationSetsDelete :: Text -> AnnotationSetsDelete

-- | Deletes an annotation set. Caller must have WRITE permission for the
--   associated annotation set.
--   
--   <i>See:</i> <a>annotationSetsDelete</a> smart constructor.
data AnnotationSetsDelete

-- | V1 error format.
asdXgafv :: Lens' AnnotationSetsDelete (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
asdUploadProtocol :: Lens' AnnotationSetsDelete (Maybe Text)

-- | The ID of the annotation set to be deleted.
asdAnnotationSetId :: Lens' AnnotationSetsDelete Text

-- | Pretty-print response.
asdPp :: Lens' AnnotationSetsDelete Bool

-- | OAuth access token.
asdAccessToken :: Lens' AnnotationSetsDelete (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
asdUploadType :: Lens' AnnotationSetsDelete (Maybe Text)

-- | OAuth bearer token.
asdBearerToken :: Lens' AnnotationSetsDelete (Maybe Text)

-- | JSONP
asdCallback :: Lens' AnnotationSetsDelete (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.AnnotationSets.Delete.AnnotationSetsDelete
instance Data.Data.Data Network.Google.Resource.Genomics.AnnotationSets.Delete.AnnotationSetsDelete
instance GHC.Show.Show Network.Google.Resource.Genomics.AnnotationSets.Delete.AnnotationSetsDelete
instance GHC.Classes.Eq Network.Google.Resource.Genomics.AnnotationSets.Delete.AnnotationSetsDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.AnnotationSets.Delete.AnnotationSetsDelete


-- | Gets an annotation set. Caller must have READ permission for the
--   associated dataset.
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.annotationsets.get</tt>.
module Network.Google.Resource.Genomics.AnnotationSets.Get

-- | A resource alias for <tt>genomics.annotationsets.get</tt> method which
--   the <a>AnnotationSetsGet</a> request conforms to.
type AnnotationSetsGetResource = "v1" :> ("annotationsets" :> (Capture "annotationSetId" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] AnnotationSet))))))))))

-- | Creates a value of <a>AnnotationSetsGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asgXgafv</a></li>
--   <li><a>asgUploadProtocol</a></li>
--   <li><a>asgAnnotationSetId</a></li>
--   <li><a>asgPp</a></li>
--   <li><a>asgAccessToken</a></li>
--   <li><a>asgUploadType</a></li>
--   <li><a>asgBearerToken</a></li>
--   <li><a>asgCallback</a></li>
--   </ul>
annotationSetsGet :: Text -> AnnotationSetsGet

-- | Gets an annotation set. Caller must have READ permission for the
--   associated dataset.
--   
--   <i>See:</i> <a>annotationSetsGet</a> smart constructor.
data AnnotationSetsGet

-- | V1 error format.
asgXgafv :: Lens' AnnotationSetsGet (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
asgUploadProtocol :: Lens' AnnotationSetsGet (Maybe Text)

-- | The ID of the annotation set to be retrieved.
asgAnnotationSetId :: Lens' AnnotationSetsGet Text

-- | Pretty-print response.
asgPp :: Lens' AnnotationSetsGet Bool

-- | OAuth access token.
asgAccessToken :: Lens' AnnotationSetsGet (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
asgUploadType :: Lens' AnnotationSetsGet (Maybe Text)

-- | OAuth bearer token.
asgBearerToken :: Lens' AnnotationSetsGet (Maybe Text)

-- | JSONP
asgCallback :: Lens' AnnotationSetsGet (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.AnnotationSets.Get.AnnotationSetsGet
instance Data.Data.Data Network.Google.Resource.Genomics.AnnotationSets.Get.AnnotationSetsGet
instance GHC.Show.Show Network.Google.Resource.Genomics.AnnotationSets.Get.AnnotationSetsGet
instance GHC.Classes.Eq Network.Google.Resource.Genomics.AnnotationSets.Get.AnnotationSetsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.AnnotationSets.Get.AnnotationSetsGet


-- | Searches for annotation sets that match the given criteria. Annotation
--   sets are returned in an unspecified order. This order is consistent,
--   such that two queries for the same content (regardless of page size)
--   yield annotation sets in the same order across their respective
--   streams of paginated responses. Caller must have READ permission for
--   the queried datasets.
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.annotationsets.search</tt>.
module Network.Google.Resource.Genomics.AnnotationSets.Search

-- | A resource alias for <tt>genomics.annotationsets.search</tt> method
--   which the <a>AnnotationSetsSearch</a> request conforms to.
type AnnotationSetsSearchResource = "v1" :> ("annotationsets" :> ("search" :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] SearchAnnotationSetsRequest :> Post '[JSON] SearchAnnotationSetsResponse)))))))))))

-- | Creates a value of <a>AnnotationSetsSearch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>assXgafv</a></li>
--   <li><a>assUploadProtocol</a></li>
--   <li><a>assPp</a></li>
--   <li><a>assAccessToken</a></li>
--   <li><a>assUploadType</a></li>
--   <li><a>assPayload</a></li>
--   <li><a>assBearerToken</a></li>
--   <li><a>assCallback</a></li>
--   </ul>
annotationSetsSearch :: SearchAnnotationSetsRequest -> AnnotationSetsSearch

-- | Searches for annotation sets that match the given criteria. Annotation
--   sets are returned in an unspecified order. This order is consistent,
--   such that two queries for the same content (regardless of page size)
--   yield annotation sets in the same order across their respective
--   streams of paginated responses. Caller must have READ permission for
--   the queried datasets.
--   
--   <i>See:</i> <a>annotationSetsSearch</a> smart constructor.
data AnnotationSetsSearch

-- | V1 error format.
assXgafv :: Lens' AnnotationSetsSearch (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
assUploadProtocol :: Lens' AnnotationSetsSearch (Maybe Text)

-- | Pretty-print response.
assPp :: Lens' AnnotationSetsSearch Bool

-- | OAuth access token.
assAccessToken :: Lens' AnnotationSetsSearch (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
assUploadType :: Lens' AnnotationSetsSearch (Maybe Text)

-- | Multipart request metadata.
assPayload :: Lens' AnnotationSetsSearch SearchAnnotationSetsRequest

-- | OAuth bearer token.
assBearerToken :: Lens' AnnotationSetsSearch (Maybe Text)

-- | JSONP
assCallback :: Lens' AnnotationSetsSearch (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.AnnotationSets.Search.AnnotationSetsSearch
instance Data.Data.Data Network.Google.Resource.Genomics.AnnotationSets.Search.AnnotationSetsSearch
instance GHC.Show.Show Network.Google.Resource.Genomics.AnnotationSets.Search.AnnotationSetsSearch
instance GHC.Classes.Eq Network.Google.Resource.Genomics.AnnotationSets.Search.AnnotationSetsSearch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.AnnotationSets.Search.AnnotationSetsSearch


-- | 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.
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.annotationsets.update</tt>.
module Network.Google.Resource.Genomics.AnnotationSets.Update

-- | A resource alias for <tt>genomics.annotationsets.update</tt> method
--   which the <a>AnnotationSetsUpdate</a> request conforms to.
type AnnotationSetsUpdateResource = "v1" :> ("annotationsets" :> (Capture "annotationSetId" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "updateMask" FieldMask :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] AnnotationSet :> Put '[JSON] AnnotationSet))))))))))))

-- | Creates a value of <a>AnnotationSetsUpdate</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asuXgafv</a></li>
--   <li><a>asuUploadProtocol</a></li>
--   <li><a>asuUpdateMask</a></li>
--   <li><a>asuAnnotationSetId</a></li>
--   <li><a>asuPp</a></li>
--   <li><a>asuAccessToken</a></li>
--   <li><a>asuUploadType</a></li>
--   <li><a>asuPayload</a></li>
--   <li><a>asuBearerToken</a></li>
--   <li><a>asuCallback</a></li>
--   </ul>
annotationSetsUpdate :: Text -> AnnotationSet -> AnnotationSetsUpdate

-- | 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.
--   
--   <i>See:</i> <a>annotationSetsUpdate</a> smart constructor.
data AnnotationSetsUpdate

-- | V1 error format.
asuXgafv :: Lens' AnnotationSetsUpdate (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
asuUploadProtocol :: Lens' AnnotationSetsUpdate (Maybe Text)

-- | An optional mask specifying which fields to update. Mutable fields are
--   name, source_uri, and info. If unspecified, all mutable fields will be
--   updated.
asuUpdateMask :: Lens' AnnotationSetsUpdate (Maybe FieldMask)

-- | The ID of the annotation set to be updated.
asuAnnotationSetId :: Lens' AnnotationSetsUpdate Text

-- | Pretty-print response.
asuPp :: Lens' AnnotationSetsUpdate Bool

-- | OAuth access token.
asuAccessToken :: Lens' AnnotationSetsUpdate (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
asuUploadType :: Lens' AnnotationSetsUpdate (Maybe Text)

-- | Multipart request metadata.
asuPayload :: Lens' AnnotationSetsUpdate AnnotationSet

-- | OAuth bearer token.
asuBearerToken :: Lens' AnnotationSetsUpdate (Maybe Text)

-- | JSONP
asuCallback :: Lens' AnnotationSetsUpdate (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.AnnotationSets.Update.AnnotationSetsUpdate
instance Data.Data.Data Network.Google.Resource.Genomics.AnnotationSets.Update.AnnotationSetsUpdate
instance GHC.Show.Show Network.Google.Resource.Genomics.AnnotationSets.Update.AnnotationSetsUpdate
instance GHC.Classes.Eq Network.Google.Resource.Genomics.AnnotationSets.Update.AnnotationSetsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.AnnotationSets.Update.AnnotationSetsUpdate


-- | 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. For details on the requirements for each individual
--   annotation resource, see CreateAnnotation.
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.annotations.batchCreate</tt>.
module Network.Google.Resource.Genomics.Annotations.BatchCreate

-- | A resource alias for <tt>genomics.annotations.batchCreate</tt> method
--   which the <a>AnnotationsBatchCreate</a> request conforms to.
type AnnotationsBatchCreateResource = "v1" :> ("annotations:batchCreate" :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] BatchCreateAnnotationsRequest :> Post '[JSON] BatchCreateAnnotationsResponse))))))))))

-- | Creates a value of <a>AnnotationsBatchCreate</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>abcXgafv</a></li>
--   <li><a>abcUploadProtocol</a></li>
--   <li><a>abcPp</a></li>
--   <li><a>abcAccessToken</a></li>
--   <li><a>abcUploadType</a></li>
--   <li><a>abcPayload</a></li>
--   <li><a>abcBearerToken</a></li>
--   <li><a>abcCallback</a></li>
--   </ul>
annotationsBatchCreate :: BatchCreateAnnotationsRequest -> AnnotationsBatchCreate

-- | 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. For details on the requirements for each individual
--   annotation resource, see CreateAnnotation.
--   
--   <i>See:</i> <a>annotationsBatchCreate</a> smart constructor.
data AnnotationsBatchCreate

-- | V1 error format.
abcXgafv :: Lens' AnnotationsBatchCreate (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
abcUploadProtocol :: Lens' AnnotationsBatchCreate (Maybe Text)

-- | Pretty-print response.
abcPp :: Lens' AnnotationsBatchCreate Bool

-- | OAuth access token.
abcAccessToken :: Lens' AnnotationsBatchCreate (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
abcUploadType :: Lens' AnnotationsBatchCreate (Maybe Text)

-- | Multipart request metadata.
abcPayload :: Lens' AnnotationsBatchCreate BatchCreateAnnotationsRequest

-- | OAuth bearer token.
abcBearerToken :: Lens' AnnotationsBatchCreate (Maybe Text)

-- | JSONP
abcCallback :: Lens' AnnotationsBatchCreate (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.Annotations.BatchCreate.AnnotationsBatchCreate
instance Data.Data.Data Network.Google.Resource.Genomics.Annotations.BatchCreate.AnnotationsBatchCreate
instance GHC.Show.Show Network.Google.Resource.Genomics.Annotations.BatchCreate.AnnotationsBatchCreate
instance GHC.Classes.Eq Network.Google.Resource.Genomics.Annotations.BatchCreate.AnnotationsBatchCreate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.Annotations.BatchCreate.AnnotationsBatchCreate


-- | Creates a new annotation. Caller must have WRITE permission for the
--   associated annotation set. The following fields are required: *
--   annotationSetId * referenceName or referenceId ### Transcripts For
--   annotations of type TRANSCRIPT, the following fields of transcript
--   must be provided: * exons.start * exons.end All other fields may be
--   optionally specified, unless documented as being server-generated (for
--   example, the `id` field). The annotated range must be no longer than
--   100Mbp (mega base pairs). See the Annotation resource for additional
--   restrictions on each field.
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.annotations.create</tt>.
module Network.Google.Resource.Genomics.Annotations.Create

-- | A resource alias for <tt>genomics.annotations.create</tt> method which
--   the <a>AnnotationsCreate</a> request conforms to.
type AnnotationsCreateResource = "v1" :> ("annotations" :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Annotation :> Post '[JSON] Annotation))))))))))

-- | Creates a value of <a>AnnotationsCreate</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acXgafv</a></li>
--   <li><a>acUploadProtocol</a></li>
--   <li><a>acPp</a></li>
--   <li><a>acAccessToken</a></li>
--   <li><a>acUploadType</a></li>
--   <li><a>acPayload</a></li>
--   <li><a>acBearerToken</a></li>
--   <li><a>acCallback</a></li>
--   </ul>
annotationsCreate :: Annotation -> AnnotationsCreate

-- | Creates a new annotation. Caller must have WRITE permission for the
--   associated annotation set. The following fields are required: *
--   annotationSetId * referenceName or referenceId ### Transcripts For
--   annotations of type TRANSCRIPT, the following fields of transcript
--   must be provided: * exons.start * exons.end All other fields may be
--   optionally specified, unless documented as being server-generated (for
--   example, the `id` field). The annotated range must be no longer than
--   100Mbp (mega base pairs). See the Annotation resource for additional
--   restrictions on each field.
--   
--   <i>See:</i> <a>annotationsCreate</a> smart constructor.
data AnnotationsCreate

-- | V1 error format.
acXgafv :: Lens' AnnotationsCreate (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
acUploadProtocol :: Lens' AnnotationsCreate (Maybe Text)

-- | Pretty-print response.
acPp :: Lens' AnnotationsCreate Bool

-- | OAuth access token.
acAccessToken :: Lens' AnnotationsCreate (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
acUploadType :: Lens' AnnotationsCreate (Maybe Text)

-- | Multipart request metadata.
acPayload :: Lens' AnnotationsCreate Annotation

-- | OAuth bearer token.
acBearerToken :: Lens' AnnotationsCreate (Maybe Text)

-- | JSONP
acCallback :: Lens' AnnotationsCreate (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.Annotations.Create.AnnotationsCreate
instance Data.Data.Data Network.Google.Resource.Genomics.Annotations.Create.AnnotationsCreate
instance GHC.Show.Show Network.Google.Resource.Genomics.Annotations.Create.AnnotationsCreate
instance GHC.Classes.Eq Network.Google.Resource.Genomics.Annotations.Create.AnnotationsCreate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.Annotations.Create.AnnotationsCreate


-- | Deletes an annotation. Caller must have WRITE permission for the
--   associated annotation set.
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.annotations.delete</tt>.
module Network.Google.Resource.Genomics.Annotations.Delete

-- | A resource alias for <tt>genomics.annotations.delete</tt> method which
--   the <a>AnnotationsDelete</a> request conforms to.
type AnnotationsDeleteResource = "v1" :> ("annotations" :> (Capture "annotationId" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] Empty))))))))))

-- | Creates a value of <a>AnnotationsDelete</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>adXgafv</a></li>
--   <li><a>adUploadProtocol</a></li>
--   <li><a>adPp</a></li>
--   <li><a>adAccessToken</a></li>
--   <li><a>adUploadType</a></li>
--   <li><a>adBearerToken</a></li>
--   <li><a>adAnnotationId</a></li>
--   <li><a>adCallback</a></li>
--   </ul>
annotationsDelete :: Text -> AnnotationsDelete

-- | Deletes an annotation. Caller must have WRITE permission for the
--   associated annotation set.
--   
--   <i>See:</i> <a>annotationsDelete</a> smart constructor.
data AnnotationsDelete

-- | V1 error format.
adXgafv :: Lens' AnnotationsDelete (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
adUploadProtocol :: Lens' AnnotationsDelete (Maybe Text)

-- | Pretty-print response.
adPp :: Lens' AnnotationsDelete Bool

-- | OAuth access token.
adAccessToken :: Lens' AnnotationsDelete (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
adUploadType :: Lens' AnnotationsDelete (Maybe Text)

-- | OAuth bearer token.
adBearerToken :: Lens' AnnotationsDelete (Maybe Text)

-- | The ID of the annotation to be deleted.
adAnnotationId :: Lens' AnnotationsDelete Text

-- | JSONP
adCallback :: Lens' AnnotationsDelete (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.Annotations.Delete.AnnotationsDelete
instance Data.Data.Data Network.Google.Resource.Genomics.Annotations.Delete.AnnotationsDelete
instance GHC.Show.Show Network.Google.Resource.Genomics.Annotations.Delete.AnnotationsDelete
instance GHC.Classes.Eq Network.Google.Resource.Genomics.Annotations.Delete.AnnotationsDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.Annotations.Delete.AnnotationsDelete


-- | Gets an annotation. Caller must have READ permission for the
--   associated annotation set.
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.annotations.get</tt>.
module Network.Google.Resource.Genomics.Annotations.Get

-- | A resource alias for <tt>genomics.annotations.get</tt> method which
--   the <a>AnnotationsGet</a> request conforms to.
type AnnotationsGetResource = "v1" :> ("annotations" :> (Capture "annotationId" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Annotation))))))))))

-- | Creates a value of <a>AnnotationsGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>agXgafv</a></li>
--   <li><a>agUploadProtocol</a></li>
--   <li><a>agPp</a></li>
--   <li><a>agAccessToken</a></li>
--   <li><a>agUploadType</a></li>
--   <li><a>agBearerToken</a></li>
--   <li><a>agAnnotationId</a></li>
--   <li><a>agCallback</a></li>
--   </ul>
annotationsGet :: Text -> AnnotationsGet

-- | Gets an annotation. Caller must have READ permission for the
--   associated annotation set.
--   
--   <i>See:</i> <a>annotationsGet</a> smart constructor.
data AnnotationsGet

-- | V1 error format.
agXgafv :: Lens' AnnotationsGet (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
agUploadProtocol :: Lens' AnnotationsGet (Maybe Text)

-- | Pretty-print response.
agPp :: Lens' AnnotationsGet Bool

-- | OAuth access token.
agAccessToken :: Lens' AnnotationsGet (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
agUploadType :: Lens' AnnotationsGet (Maybe Text)

-- | OAuth bearer token.
agBearerToken :: Lens' AnnotationsGet (Maybe Text)

-- | The ID of the annotation to be retrieved.
agAnnotationId :: Lens' AnnotationsGet Text

-- | JSONP
agCallback :: Lens' AnnotationsGet (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.Annotations.Get.AnnotationsGet
instance Data.Data.Data Network.Google.Resource.Genomics.Annotations.Get.AnnotationsGet
instance GHC.Show.Show Network.Google.Resource.Genomics.Annotations.Get.AnnotationsGet
instance GHC.Classes.Eq Network.Google.Resource.Genomics.Annotations.Get.AnnotationsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.Annotations.Get.AnnotationsGet


-- | Searches for annotations that match the given criteria. Results are
--   ordered by genomic coordinate (by reference sequence, then position).
--   Annotations with equivalent genomic coordinates are returned in an
--   unspecified order. This order is consistent, such that two queries for
--   the same content (regardless of page size) yield annotations in the
--   same order across their respective streams of paginated responses.
--   Caller must have READ permission for the queried annotation sets.
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.annotations.search</tt>.
module Network.Google.Resource.Genomics.Annotations.Search

-- | A resource alias for <tt>genomics.annotations.search</tt> method which
--   the <a>AnnotationsSearch</a> request conforms to.
type AnnotationsSearchResource = "v1" :> ("annotations" :> ("search" :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] SearchAnnotationsRequest :> Post '[JSON] SearchAnnotationsResponse)))))))))))

-- | Creates a value of <a>AnnotationsSearch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asXgafv</a></li>
--   <li><a>asUploadProtocol</a></li>
--   <li><a>asPp</a></li>
--   <li><a>asAccessToken</a></li>
--   <li><a>asUploadType</a></li>
--   <li><a>asPayload</a></li>
--   <li><a>asBearerToken</a></li>
--   <li><a>asCallback</a></li>
--   </ul>
annotationsSearch :: SearchAnnotationsRequest -> AnnotationsSearch

-- | Searches for annotations that match the given criteria. Results are
--   ordered by genomic coordinate (by reference sequence, then position).
--   Annotations with equivalent genomic coordinates are returned in an
--   unspecified order. This order is consistent, such that two queries for
--   the same content (regardless of page size) yield annotations in the
--   same order across their respective streams of paginated responses.
--   Caller must have READ permission for the queried annotation sets.
--   
--   <i>See:</i> <a>annotationsSearch</a> smart constructor.
data AnnotationsSearch

-- | V1 error format.
asXgafv :: Lens' AnnotationsSearch (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
asUploadProtocol :: Lens' AnnotationsSearch (Maybe Text)

-- | Pretty-print response.
asPp :: Lens' AnnotationsSearch Bool

-- | OAuth access token.
asAccessToken :: Lens' AnnotationsSearch (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
asUploadType :: Lens' AnnotationsSearch (Maybe Text)

-- | Multipart request metadata.
asPayload :: Lens' AnnotationsSearch SearchAnnotationsRequest

-- | OAuth bearer token.
asBearerToken :: Lens' AnnotationsSearch (Maybe Text)

-- | JSONP
asCallback :: Lens' AnnotationsSearch (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.Annotations.Search.AnnotationsSearch
instance Data.Data.Data Network.Google.Resource.Genomics.Annotations.Search.AnnotationsSearch
instance GHC.Show.Show Network.Google.Resource.Genomics.Annotations.Search.AnnotationsSearch
instance GHC.Classes.Eq Network.Google.Resource.Genomics.Annotations.Search.AnnotationsSearch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.Annotations.Search.AnnotationsSearch


-- | Updates an annotation. Caller must have WRITE permission for the
--   associated dataset.
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.annotations.update</tt>.
module Network.Google.Resource.Genomics.Annotations.Update

-- | A resource alias for <tt>genomics.annotations.update</tt> method which
--   the <a>AnnotationsUpdate</a> request conforms to.
type AnnotationsUpdateResource = "v1" :> ("annotations" :> (Capture "annotationId" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "updateMask" FieldMask :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Annotation :> Put '[JSON] Annotation))))))))))))

-- | Creates a value of <a>AnnotationsUpdate</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>auXgafv</a></li>
--   <li><a>auUploadProtocol</a></li>
--   <li><a>auUpdateMask</a></li>
--   <li><a>auPp</a></li>
--   <li><a>auAccessToken</a></li>
--   <li><a>auUploadType</a></li>
--   <li><a>auPayload</a></li>
--   <li><a>auBearerToken</a></li>
--   <li><a>auAnnotationId</a></li>
--   <li><a>auCallback</a></li>
--   </ul>
annotationsUpdate :: Annotation -> Text -> AnnotationsUpdate

-- | Updates an annotation. Caller must have WRITE permission for the
--   associated dataset.
--   
--   <i>See:</i> <a>annotationsUpdate</a> smart constructor.
data AnnotationsUpdate

-- | V1 error format.
auXgafv :: Lens' AnnotationsUpdate (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
auUploadProtocol :: Lens' AnnotationsUpdate (Maybe Text)

-- | An optional mask specifying which fields to update. Mutable fields are
--   name, variant, transcript, and info. If unspecified, all mutable
--   fields will be updated.
auUpdateMask :: Lens' AnnotationsUpdate (Maybe FieldMask)

-- | Pretty-print response.
auPp :: Lens' AnnotationsUpdate Bool

-- | OAuth access token.
auAccessToken :: Lens' AnnotationsUpdate (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
auUploadType :: Lens' AnnotationsUpdate (Maybe Text)

-- | Multipart request metadata.
auPayload :: Lens' AnnotationsUpdate Annotation

-- | OAuth bearer token.
auBearerToken :: Lens' AnnotationsUpdate (Maybe Text)

-- | The ID of the annotation to be updated.
auAnnotationId :: Lens' AnnotationsUpdate Text

-- | JSONP
auCallback :: Lens' AnnotationsUpdate (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.Annotations.Update.AnnotationsUpdate
instance Data.Data.Data Network.Google.Resource.Genomics.Annotations.Update.AnnotationsUpdate
instance GHC.Show.Show Network.Google.Resource.Genomics.Annotations.Update.AnnotationsUpdate
instance GHC.Classes.Eq Network.Google.Resource.Genomics.Annotations.Update.AnnotationsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.Annotations.Update.AnnotationsUpdate


-- | Creates a new call set. For the definitions of call sets and other
--   genomics resources, see <a>Fundamentals of Google Genomics</a>
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.callsets.create</tt>.
module Network.Google.Resource.Genomics.CallSets.Create

-- | A resource alias for <tt>genomics.callsets.create</tt> method which
--   the <a>CallSetsCreate</a> request conforms to.
type CallSetsCreateResource = "v1" :> ("callsets" :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] CallSet :> Post '[JSON] CallSet))))))))))

-- | Creates a value of <a>CallSetsCreate</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cscXgafv</a></li>
--   <li><a>cscUploadProtocol</a></li>
--   <li><a>cscPp</a></li>
--   <li><a>cscAccessToken</a></li>
--   <li><a>cscUploadType</a></li>
--   <li><a>cscPayload</a></li>
--   <li><a>cscBearerToken</a></li>
--   <li><a>cscCallback</a></li>
--   </ul>
callSetsCreate :: CallSet -> CallSetsCreate

-- | Creates a new call set. For the definitions of call sets and other
--   genomics resources, see <a>Fundamentals of Google Genomics</a>
--   
--   <i>See:</i> <a>callSetsCreate</a> smart constructor.
data CallSetsCreate

-- | V1 error format.
cscXgafv :: Lens' CallSetsCreate (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
cscUploadProtocol :: Lens' CallSetsCreate (Maybe Text)

-- | Pretty-print response.
cscPp :: Lens' CallSetsCreate Bool

-- | OAuth access token.
cscAccessToken :: Lens' CallSetsCreate (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
cscUploadType :: Lens' CallSetsCreate (Maybe Text)

-- | Multipart request metadata.
cscPayload :: Lens' CallSetsCreate CallSet

-- | OAuth bearer token.
cscBearerToken :: Lens' CallSetsCreate (Maybe Text)

-- | JSONP
cscCallback :: Lens' CallSetsCreate (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.CallSets.Create.CallSetsCreate
instance Data.Data.Data Network.Google.Resource.Genomics.CallSets.Create.CallSetsCreate
instance GHC.Show.Show Network.Google.Resource.Genomics.CallSets.Create.CallSetsCreate
instance GHC.Classes.Eq Network.Google.Resource.Genomics.CallSets.Create.CallSetsCreate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.CallSets.Create.CallSetsCreate


-- | Deletes a call set. For the definitions of call sets and other
--   genomics resources, see <a>Fundamentals of Google Genomics</a>
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.callsets.delete</tt>.
module Network.Google.Resource.Genomics.CallSets.Delete

-- | A resource alias for <tt>genomics.callsets.delete</tt> method which
--   the <a>CallSetsDelete</a> request conforms to.
type CallSetsDeleteResource = "v1" :> ("callsets" :> (Capture "callSetId" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] Empty))))))))))

-- | Creates a value of <a>CallSetsDelete</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>csdXgafv</a></li>
--   <li><a>csdUploadProtocol</a></li>
--   <li><a>csdPp</a></li>
--   <li><a>csdAccessToken</a></li>
--   <li><a>csdUploadType</a></li>
--   <li><a>csdBearerToken</a></li>
--   <li><a>csdCallSetId</a></li>
--   <li><a>csdCallback</a></li>
--   </ul>
callSetsDelete :: Text -> CallSetsDelete

-- | Deletes a call set. For the definitions of call sets and other
--   genomics resources, see <a>Fundamentals of Google Genomics</a>
--   
--   <i>See:</i> <a>callSetsDelete</a> smart constructor.
data CallSetsDelete

-- | V1 error format.
csdXgafv :: Lens' CallSetsDelete (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
csdUploadProtocol :: Lens' CallSetsDelete (Maybe Text)

-- | Pretty-print response.
csdPp :: Lens' CallSetsDelete Bool

-- | OAuth access token.
csdAccessToken :: Lens' CallSetsDelete (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
csdUploadType :: Lens' CallSetsDelete (Maybe Text)

-- | OAuth bearer token.
csdBearerToken :: Lens' CallSetsDelete (Maybe Text)

-- | The ID of the call set to be deleted.
csdCallSetId :: Lens' CallSetsDelete Text

-- | JSONP
csdCallback :: Lens' CallSetsDelete (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.CallSets.Delete.CallSetsDelete
instance Data.Data.Data Network.Google.Resource.Genomics.CallSets.Delete.CallSetsDelete
instance GHC.Show.Show Network.Google.Resource.Genomics.CallSets.Delete.CallSetsDelete
instance GHC.Classes.Eq Network.Google.Resource.Genomics.CallSets.Delete.CallSetsDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.CallSets.Delete.CallSetsDelete


-- | Gets a call set by ID. For the definitions of call sets and other
--   genomics resources, see <a>Fundamentals of Google Genomics</a>
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.callsets.get</tt>.
module Network.Google.Resource.Genomics.CallSets.Get

-- | A resource alias for <tt>genomics.callsets.get</tt> method which the
--   <a>CallSetsGet</a> request conforms to.
type CallSetsGetResource = "v1" :> ("callsets" :> (Capture "callSetId" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] CallSet))))))))))

-- | Creates a value of <a>CallSetsGet</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>csgXgafv</a></li>
--   <li><a>csgUploadProtocol</a></li>
--   <li><a>csgPp</a></li>
--   <li><a>csgAccessToken</a></li>
--   <li><a>csgUploadType</a></li>
--   <li><a>csgBearerToken</a></li>
--   <li><a>csgCallSetId</a></li>
--   <li><a>csgCallback</a></li>
--   </ul>
callSetsGet :: Text -> CallSetsGet

-- | Gets a call set by ID. For the definitions of call sets and other
--   genomics resources, see <a>Fundamentals of Google Genomics</a>
--   
--   <i>See:</i> <a>callSetsGet</a> smart constructor.
data CallSetsGet

-- | V1 error format.
csgXgafv :: Lens' CallSetsGet (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
csgUploadProtocol :: Lens' CallSetsGet (Maybe Text)

-- | Pretty-print response.
csgPp :: Lens' CallSetsGet Bool

-- | OAuth access token.
csgAccessToken :: Lens' CallSetsGet (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
csgUploadType :: Lens' CallSetsGet (Maybe Text)

-- | OAuth bearer token.
csgBearerToken :: Lens' CallSetsGet (Maybe Text)

-- | The ID of the call set.
csgCallSetId :: Lens' CallSetsGet Text

-- | JSONP
csgCallback :: Lens' CallSetsGet (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.CallSets.Get.CallSetsGet
instance Data.Data.Data Network.Google.Resource.Genomics.CallSets.Get.CallSetsGet
instance GHC.Show.Show Network.Google.Resource.Genomics.CallSets.Get.CallSetsGet
instance GHC.Classes.Eq Network.Google.Resource.Genomics.CallSets.Get.CallSetsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.CallSets.Get.CallSetsGet


-- | Updates a call set. For the definitions of call sets and other
--   genomics resources, see <a>Fundamentals of Google Genomics</a> This
--   method supports patch semantics.
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.callsets.patch</tt>.
module Network.Google.Resource.Genomics.CallSets.Patch

-- | A resource alias for <tt>genomics.callsets.patch</tt> method which the
--   <a>CallSetsPatch</a> request conforms to.
type CallSetsPatchResource = "v1" :> ("callsets" :> (Capture "callSetId" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "updateMask" FieldMask :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] CallSet :> Patch '[JSON] CallSet))))))))))))

-- | Creates a value of <a>CallSetsPatch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cspXgafv</a></li>
--   <li><a>cspUploadProtocol</a></li>
--   <li><a>cspUpdateMask</a></li>
--   <li><a>cspPp</a></li>
--   <li><a>cspAccessToken</a></li>
--   <li><a>cspUploadType</a></li>
--   <li><a>cspPayload</a></li>
--   <li><a>cspBearerToken</a></li>
--   <li><a>cspCallSetId</a></li>
--   <li><a>cspCallback</a></li>
--   </ul>
callSetsPatch :: CallSet -> Text -> CallSetsPatch

-- | Updates a call set. For the definitions of call sets and other
--   genomics resources, see <a>Fundamentals of Google Genomics</a> This
--   method supports patch semantics.
--   
--   <i>See:</i> <a>callSetsPatch</a> smart constructor.
data CallSetsPatch

-- | V1 error format.
cspXgafv :: Lens' CallSetsPatch (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
cspUploadProtocol :: Lens' CallSetsPatch (Maybe Text)

-- | An optional mask specifying which fields to update. At this time, the
--   only mutable field is name. The only acceptable value is "name". If
--   unspecified, all mutable fields will be updated.
cspUpdateMask :: Lens' CallSetsPatch (Maybe FieldMask)

-- | Pretty-print response.
cspPp :: Lens' CallSetsPatch Bool

-- | OAuth access token.
cspAccessToken :: Lens' CallSetsPatch (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
cspUploadType :: Lens' CallSetsPatch (Maybe Text)

-- | Multipart request metadata.
cspPayload :: Lens' CallSetsPatch CallSet

-- | OAuth bearer token.
cspBearerToken :: Lens' CallSetsPatch (Maybe Text)

-- | The ID of the call set to be updated.
cspCallSetId :: Lens' CallSetsPatch Text

-- | JSONP
cspCallback :: Lens' CallSetsPatch (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.CallSets.Patch.CallSetsPatch
instance Data.Data.Data Network.Google.Resource.Genomics.CallSets.Patch.CallSetsPatch
instance GHC.Show.Show Network.Google.Resource.Genomics.CallSets.Patch.CallSetsPatch
instance GHC.Classes.Eq Network.Google.Resource.Genomics.CallSets.Patch.CallSetsPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.CallSets.Patch.CallSetsPatch


-- | Gets a list of call sets matching the criteria. For the definitions of
--   call sets and other genomics resources, see <a>Fundamentals of Google
--   Genomics</a> Implements <a>GlobalAllianceApi.searchCallSets</a>.
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.callsets.search</tt>.
module Network.Google.Resource.Genomics.CallSets.Search

-- | A resource alias for <tt>genomics.callsets.search</tt> method which
--   the <a>CallSetsSearch</a> request conforms to.
type CallSetsSearchResource = "v1" :> ("callsets" :> ("search" :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] SearchCallSetsRequest :> Post '[JSON] SearchCallSetsResponse)))))))))))

-- | Creates a value of <a>CallSetsSearch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cssXgafv</a></li>
--   <li><a>cssUploadProtocol</a></li>
--   <li><a>cssPp</a></li>
--   <li><a>cssAccessToken</a></li>
--   <li><a>cssUploadType</a></li>
--   <li><a>cssPayload</a></li>
--   <li><a>cssBearerToken</a></li>
--   <li><a>cssCallback</a></li>
--   </ul>
callSetsSearch :: SearchCallSetsRequest -> CallSetsSearch

-- | Gets a list of call sets matching the criteria. For the definitions of
--   call sets and other genomics resources, see <a>Fundamentals of Google
--   Genomics</a> Implements <a>GlobalAllianceApi.searchCallSets</a>.
--   
--   <i>See:</i> <a>callSetsSearch</a> smart constructor.
data CallSetsSearch

-- | V1 error format.
cssXgafv :: Lens' CallSetsSearch (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
cssUploadProtocol :: Lens' CallSetsSearch (Maybe Text)

-- | Pretty-print response.
cssPp :: Lens' CallSetsSearch Bool

-- | OAuth access token.
cssAccessToken :: Lens' CallSetsSearch (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
cssUploadType :: Lens' CallSetsSearch (Maybe Text)

-- | Multipart request metadata.
cssPayload :: Lens' CallSetsSearch SearchCallSetsRequest

-- | OAuth bearer token.
cssBearerToken :: Lens' CallSetsSearch (Maybe Text)

-- | JSONP
cssCallback :: Lens' CallSetsSearch (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.CallSets.Search.CallSetsSearch
instance Data.Data.Data Network.Google.Resource.Genomics.CallSets.Search.CallSetsSearch
instance GHC.Show.Show Network.Google.Resource.Genomics.CallSets.Search.CallSetsSearch
instance GHC.Classes.Eq Network.Google.Resource.Genomics.CallSets.Search.CallSetsSearch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.CallSets.Search.CallSetsSearch


-- | Creates a new dataset. For the definitions of datasets and other
--   genomics resources, see <a>Fundamentals of Google Genomics</a>
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.datasets.create</tt>.
module Network.Google.Resource.Genomics.DataSets.Create

-- | A resource alias for <tt>genomics.datasets.create</tt> method which
--   the <a>DataSetsCreate</a> request conforms to.
type DataSetsCreateResource = "v1" :> ("datasets" :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] DataSet :> Post '[JSON] DataSet))))))))))

-- | Creates a value of <a>DataSetsCreate</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dscXgafv</a></li>
--   <li><a>dscUploadProtocol</a></li>
--   <li><a>dscPp</a></li>
--   <li><a>dscAccessToken</a></li>
--   <li><a>dscUploadType</a></li>
--   <li><a>dscPayload</a></li>
--   <li><a>dscBearerToken</a></li>
--   <li><a>dscCallback</a></li>
--   </ul>
dataSetsCreate :: DataSet -> DataSetsCreate

-- | Creates a new dataset. For the definitions of datasets and other
--   genomics resources, see <a>Fundamentals of Google Genomics</a>
--   
--   <i>See:</i> <a>dataSetsCreate</a> smart constructor.
data DataSetsCreate

-- | V1 error format.
dscXgafv :: Lens' DataSetsCreate (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
dscUploadProtocol :: Lens' DataSetsCreate (Maybe Text)

-- | Pretty-print response.
dscPp :: Lens' DataSetsCreate Bool

-- | OAuth access token.
dscAccessToken :: Lens' DataSetsCreate (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
dscUploadType :: Lens' DataSetsCreate (Maybe Text)

-- | Multipart request metadata.
dscPayload :: Lens' DataSetsCreate DataSet

-- | OAuth bearer token.
dscBearerToken :: Lens' DataSetsCreate (Maybe Text)

-- | JSONP
dscCallback :: Lens' DataSetsCreate (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.DataSets.Create.DataSetsCreate
instance Data.Data.Data Network.Google.Resource.Genomics.DataSets.Create.DataSetsCreate
instance GHC.Show.Show Network.Google.Resource.Genomics.DataSets.Create.DataSetsCreate
instance GHC.Classes.Eq Network.Google.Resource.Genomics.DataSets.Create.DataSetsCreate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.DataSets.Create.DataSetsCreate


-- | Deletes a dataset and all of its contents (all read group sets,
--   reference sets, variant sets, call sets, annotation sets, etc.) This
--   is reversible (up to one week after the deletion) via the
--   datasets.undelete operation. For the definitions of datasets and other
--   genomics resources, see <a>Fundamentals of Google Genomics</a>
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.datasets.delete</tt>.
module Network.Google.Resource.Genomics.DataSets.Delete

-- | A resource alias for <tt>genomics.datasets.delete</tt> method which
--   the <a>DataSetsDelete</a> request conforms to.
type DataSetsDeleteResource = "v1" :> ("datasets" :> (Capture "datasetId" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] Empty))))))))))

-- | Creates a value of <a>DataSetsDelete</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsdXgafv</a></li>
--   <li><a>dsdUploadProtocol</a></li>
--   <li><a>dsdPp</a></li>
--   <li><a>dsdAccessToken</a></li>
--   <li><a>dsdUploadType</a></li>
--   <li><a>dsdBearerToken</a></li>
--   <li><a>dsdDataSetId</a></li>
--   <li><a>dsdCallback</a></li>
--   </ul>
dataSetsDelete :: Text -> DataSetsDelete

-- | Deletes a dataset and all of its contents (all read group sets,
--   reference sets, variant sets, call sets, annotation sets, etc.) This
--   is reversible (up to one week after the deletion) via the
--   datasets.undelete operation. For the definitions of datasets and other
--   genomics resources, see <a>Fundamentals of Google Genomics</a>
--   
--   <i>See:</i> <a>dataSetsDelete</a> smart constructor.
data DataSetsDelete

-- | V1 error format.
dsdXgafv :: Lens' DataSetsDelete (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
dsdUploadProtocol :: Lens' DataSetsDelete (Maybe Text)

-- | Pretty-print response.
dsdPp :: Lens' DataSetsDelete Bool

-- | OAuth access token.
dsdAccessToken :: Lens' DataSetsDelete (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
dsdUploadType :: Lens' DataSetsDelete (Maybe Text)

-- | OAuth bearer token.
dsdBearerToken :: Lens' DataSetsDelete (Maybe Text)

-- | The ID of the dataset to be deleted.
dsdDataSetId :: Lens' DataSetsDelete Text

-- | JSONP
dsdCallback :: Lens' DataSetsDelete (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.DataSets.Delete.DataSetsDelete
instance Data.Data.Data Network.Google.Resource.Genomics.DataSets.Delete.DataSetsDelete
instance GHC.Show.Show Network.Google.Resource.Genomics.DataSets.Delete.DataSetsDelete
instance GHC.Classes.Eq Network.Google.Resource.Genomics.DataSets.Delete.DataSetsDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.DataSets.Delete.DataSetsDelete


-- | Gets a dataset by ID. For the definitions of datasets and other
--   genomics resources, see <a>Fundamentals of Google Genomics</a>
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.datasets.get</tt>.
module Network.Google.Resource.Genomics.DataSets.Get

-- | A resource alias for <tt>genomics.datasets.get</tt> method which the
--   <a>DataSetsGet</a> request conforms to.
type DataSetsGetResource = "v1" :> ("datasets" :> (Capture "datasetId" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] DataSet))))))))))

-- | Creates a value of <a>DataSetsGet</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsgXgafv</a></li>
--   <li><a>dsgUploadProtocol</a></li>
--   <li><a>dsgPp</a></li>
--   <li><a>dsgAccessToken</a></li>
--   <li><a>dsgUploadType</a></li>
--   <li><a>dsgBearerToken</a></li>
--   <li><a>dsgDataSetId</a></li>
--   <li><a>dsgCallback</a></li>
--   </ul>
dataSetsGet :: Text -> DataSetsGet

-- | Gets a dataset by ID. For the definitions of datasets and other
--   genomics resources, see <a>Fundamentals of Google Genomics</a>
--   
--   <i>See:</i> <a>dataSetsGet</a> smart constructor.
data DataSetsGet

-- | V1 error format.
dsgXgafv :: Lens' DataSetsGet (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
dsgUploadProtocol :: Lens' DataSetsGet (Maybe Text)

-- | Pretty-print response.
dsgPp :: Lens' DataSetsGet Bool

-- | OAuth access token.
dsgAccessToken :: Lens' DataSetsGet (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
dsgUploadType :: Lens' DataSetsGet (Maybe Text)

-- | OAuth bearer token.
dsgBearerToken :: Lens' DataSetsGet (Maybe Text)

-- | The ID of the dataset.
dsgDataSetId :: Lens' DataSetsGet Text

-- | JSONP
dsgCallback :: Lens' DataSetsGet (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.DataSets.Get.DataSetsGet
instance Data.Data.Data Network.Google.Resource.Genomics.DataSets.Get.DataSetsGet
instance GHC.Show.Show Network.Google.Resource.Genomics.DataSets.Get.DataSetsGet
instance GHC.Classes.Eq Network.Google.Resource.Genomics.DataSets.Get.DataSetsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.DataSets.Get.DataSetsGet


-- | Gets the access control policy for the dataset. This is empty if the
--   policy or resource does not exist. See <a>Getting a Policy</a> for
--   more information. For the definitions of datasets and other genomics
--   resources, see <a>Fundamentals of Google Genomics</a>
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.datasets.getIamPolicy</tt>.
module Network.Google.Resource.Genomics.DataSets.GetIAMPolicy

-- | A resource alias for <tt>genomics.datasets.getIamPolicy</tt> method
--   which the <a>DataSetsGetIAMPolicy</a> request conforms to.
type DataSetsGetIAMPolicyResource = "v1" :> (CaptureMode "resource" "getIamPolicy" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] GetIAMPolicyRequest :> Post '[JSON] Policy))))))))))

-- | Creates a value of <a>DataSetsGetIAMPolicy</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsgipXgafv</a></li>
--   <li><a>dsgipUploadProtocol</a></li>
--   <li><a>dsgipPp</a></li>
--   <li><a>dsgipAccessToken</a></li>
--   <li><a>dsgipUploadType</a></li>
--   <li><a>dsgipPayload</a></li>
--   <li><a>dsgipBearerToken</a></li>
--   <li><a>dsgipResource</a></li>
--   <li><a>dsgipCallback</a></li>
--   </ul>
dataSetsGetIAMPolicy :: GetIAMPolicyRequest -> Text -> DataSetsGetIAMPolicy

-- | Gets the access control policy for the dataset. This is empty if the
--   policy or resource does not exist. See <a>Getting a Policy</a> for
--   more information. For the definitions of datasets and other genomics
--   resources, see <a>Fundamentals of Google Genomics</a>
--   
--   <i>See:</i> <a>dataSetsGetIAMPolicy</a> smart constructor.
data DataSetsGetIAMPolicy

-- | V1 error format.
dsgipXgafv :: Lens' DataSetsGetIAMPolicy (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
dsgipUploadProtocol :: Lens' DataSetsGetIAMPolicy (Maybe Text)

-- | Pretty-print response.
dsgipPp :: Lens' DataSetsGetIAMPolicy Bool

-- | OAuth access token.
dsgipAccessToken :: Lens' DataSetsGetIAMPolicy (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
dsgipUploadType :: Lens' DataSetsGetIAMPolicy (Maybe Text)

-- | Multipart request metadata.
dsgipPayload :: Lens' DataSetsGetIAMPolicy GetIAMPolicyRequest

-- | OAuth bearer token.
dsgipBearerToken :: Lens' DataSetsGetIAMPolicy (Maybe Text)

-- | REQUIRED: The resource for which policy is being specified. Format is
--   `datasets/`.
dsgipResource :: Lens' DataSetsGetIAMPolicy Text

-- | JSONP
dsgipCallback :: Lens' DataSetsGetIAMPolicy (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.DataSets.GetIAMPolicy.DataSetsGetIAMPolicy
instance Data.Data.Data Network.Google.Resource.Genomics.DataSets.GetIAMPolicy.DataSetsGetIAMPolicy
instance GHC.Show.Show Network.Google.Resource.Genomics.DataSets.GetIAMPolicy.DataSetsGetIAMPolicy
instance GHC.Classes.Eq Network.Google.Resource.Genomics.DataSets.GetIAMPolicy.DataSetsGetIAMPolicy
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.DataSets.GetIAMPolicy.DataSetsGetIAMPolicy


-- | Lists datasets within a project. For the definitions of datasets and
--   other genomics resources, see <a>Fundamentals of Google Genomics</a>
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.datasets.list</tt>.
module Network.Google.Resource.Genomics.DataSets.List

-- | A resource alias for <tt>genomics.datasets.list</tt> method which the
--   <a>DataSetsList</a> request conforms to.
type DataSetsListResource = "v1" :> ("datasets" :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "pageToken" Text :> (QueryParam "projectId" Text :> (QueryParam "pageSize" (Textual Int32) :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] ListDataSetsResponse))))))))))))

-- | Creates a value of <a>DataSetsList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dslXgafv</a></li>
--   <li><a>dslUploadProtocol</a></li>
--   <li><a>dslPp</a></li>
--   <li><a>dslAccessToken</a></li>
--   <li><a>dslUploadType</a></li>
--   <li><a>dslBearerToken</a></li>
--   <li><a>dslPageToken</a></li>
--   <li><a>dslProjectId</a></li>
--   <li><a>dslPageSize</a></li>
--   <li><a>dslCallback</a></li>
--   </ul>
dataSetsList :: DataSetsList

-- | Lists datasets within a project. For the definitions of datasets and
--   other genomics resources, see <a>Fundamentals of Google Genomics</a>
--   
--   <i>See:</i> <a>dataSetsList</a> smart constructor.
data DataSetsList

-- | V1 error format.
dslXgafv :: Lens' DataSetsList (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
dslUploadProtocol :: Lens' DataSetsList (Maybe Text)

-- | Pretty-print response.
dslPp :: Lens' DataSetsList Bool

-- | OAuth access token.
dslAccessToken :: Lens' DataSetsList (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
dslUploadType :: Lens' DataSetsList (Maybe Text)

-- | OAuth bearer token.
dslBearerToken :: Lens' DataSetsList (Maybe Text)

-- | 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.
dslPageToken :: Lens' DataSetsList (Maybe Text)

-- | Required. The Google Cloud project ID to list datasets for.
dslProjectId :: Lens' DataSetsList (Maybe Text)

-- | The maximum number of results to return in a single page. If
--   unspecified, defaults to 50. The maximum value is 1024.
dslPageSize :: Lens' DataSetsList (Maybe Int32)

-- | JSONP
dslCallback :: Lens' DataSetsList (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.DataSets.List.DataSetsList
instance Data.Data.Data Network.Google.Resource.Genomics.DataSets.List.DataSetsList
instance GHC.Show.Show Network.Google.Resource.Genomics.DataSets.List.DataSetsList
instance GHC.Classes.Eq Network.Google.Resource.Genomics.DataSets.List.DataSetsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.DataSets.List.DataSetsList


-- | Updates a dataset. For the definitions of datasets and other genomics
--   resources, see <a>Fundamentals of Google Genomics</a> This method
--   supports patch semantics.
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.datasets.patch</tt>.
module Network.Google.Resource.Genomics.DataSets.Patch

-- | A resource alias for <tt>genomics.datasets.patch</tt> method which the
--   <a>DataSetsPatch</a> request conforms to.
type DataSetsPatchResource = "v1" :> ("datasets" :> (Capture "datasetId" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "updateMask" FieldMask :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] DataSet :> Patch '[JSON] DataSet))))))))))))

-- | Creates a value of <a>DataSetsPatch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dspXgafv</a></li>
--   <li><a>dspUploadProtocol</a></li>
--   <li><a>dspUpdateMask</a></li>
--   <li><a>dspPp</a></li>
--   <li><a>dspAccessToken</a></li>
--   <li><a>dspUploadType</a></li>
--   <li><a>dspPayload</a></li>
--   <li><a>dspBearerToken</a></li>
--   <li><a>dspDataSetId</a></li>
--   <li><a>dspCallback</a></li>
--   </ul>
dataSetsPatch :: DataSet -> Text -> DataSetsPatch

-- | Updates a dataset. For the definitions of datasets and other genomics
--   resources, see <a>Fundamentals of Google Genomics</a> This method
--   supports patch semantics.
--   
--   <i>See:</i> <a>dataSetsPatch</a> smart constructor.
data DataSetsPatch

-- | V1 error format.
dspXgafv :: Lens' DataSetsPatch (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
dspUploadProtocol :: Lens' DataSetsPatch (Maybe Text)

-- | An optional mask specifying which fields to update. At this time, the
--   only mutable field is name. The only acceptable value is "name". If
--   unspecified, all mutable fields will be updated.
dspUpdateMask :: Lens' DataSetsPatch (Maybe FieldMask)

-- | Pretty-print response.
dspPp :: Lens' DataSetsPatch Bool

-- | OAuth access token.
dspAccessToken :: Lens' DataSetsPatch (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
dspUploadType :: Lens' DataSetsPatch (Maybe Text)

-- | Multipart request metadata.
dspPayload :: Lens' DataSetsPatch DataSet

-- | OAuth bearer token.
dspBearerToken :: Lens' DataSetsPatch (Maybe Text)

-- | The ID of the dataset to be updated.
dspDataSetId :: Lens' DataSetsPatch Text

-- | JSONP
dspCallback :: Lens' DataSetsPatch (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.DataSets.Patch.DataSetsPatch
instance Data.Data.Data Network.Google.Resource.Genomics.DataSets.Patch.DataSetsPatch
instance GHC.Show.Show Network.Google.Resource.Genomics.DataSets.Patch.DataSetsPatch
instance GHC.Classes.Eq Network.Google.Resource.Genomics.DataSets.Patch.DataSetsPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.DataSets.Patch.DataSetsPatch


-- | Sets the access control policy on the specified dataset. Replaces any
--   existing policy. For the definitions of datasets and other genomics
--   resources, see <a>Fundamentals of Google Genomics</a> See <a>Setting a
--   Policy</a> for more information.
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.datasets.setIamPolicy</tt>.
module Network.Google.Resource.Genomics.DataSets.SetIAMPolicy

-- | A resource alias for <tt>genomics.datasets.setIamPolicy</tt> method
--   which the <a>DataSetsSetIAMPolicy</a> request conforms to.
type DataSetsSetIAMPolicyResource = "v1" :> (CaptureMode "resource" "setIamPolicy" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] SetIAMPolicyRequest :> Post '[JSON] Policy))))))))))

-- | Creates a value of <a>DataSetsSetIAMPolicy</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dssipXgafv</a></li>
--   <li><a>dssipUploadProtocol</a></li>
--   <li><a>dssipPp</a></li>
--   <li><a>dssipAccessToken</a></li>
--   <li><a>dssipUploadType</a></li>
--   <li><a>dssipPayload</a></li>
--   <li><a>dssipBearerToken</a></li>
--   <li><a>dssipResource</a></li>
--   <li><a>dssipCallback</a></li>
--   </ul>
dataSetsSetIAMPolicy :: SetIAMPolicyRequest -> Text -> DataSetsSetIAMPolicy

-- | Sets the access control policy on the specified dataset. Replaces any
--   existing policy. For the definitions of datasets and other genomics
--   resources, see <a>Fundamentals of Google Genomics</a> See <a>Setting a
--   Policy</a> for more information.
--   
--   <i>See:</i> <a>dataSetsSetIAMPolicy</a> smart constructor.
data DataSetsSetIAMPolicy

-- | V1 error format.
dssipXgafv :: Lens' DataSetsSetIAMPolicy (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
dssipUploadProtocol :: Lens' DataSetsSetIAMPolicy (Maybe Text)

-- | Pretty-print response.
dssipPp :: Lens' DataSetsSetIAMPolicy Bool

-- | OAuth access token.
dssipAccessToken :: Lens' DataSetsSetIAMPolicy (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
dssipUploadType :: Lens' DataSetsSetIAMPolicy (Maybe Text)

-- | Multipart request metadata.
dssipPayload :: Lens' DataSetsSetIAMPolicy SetIAMPolicyRequest

-- | OAuth bearer token.
dssipBearerToken :: Lens' DataSetsSetIAMPolicy (Maybe Text)

-- | REQUIRED: The resource for which policy is being specified. Format is
--   `datasets/`.
dssipResource :: Lens' DataSetsSetIAMPolicy Text

-- | JSONP
dssipCallback :: Lens' DataSetsSetIAMPolicy (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.DataSets.SetIAMPolicy.DataSetsSetIAMPolicy
instance Data.Data.Data Network.Google.Resource.Genomics.DataSets.SetIAMPolicy.DataSetsSetIAMPolicy
instance GHC.Show.Show Network.Google.Resource.Genomics.DataSets.SetIAMPolicy.DataSetsSetIAMPolicy
instance GHC.Classes.Eq Network.Google.Resource.Genomics.DataSets.SetIAMPolicy.DataSetsSetIAMPolicy
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.DataSets.SetIAMPolicy.DataSetsSetIAMPolicy


-- | Returns permissions that a caller has on the specified resource. See
--   <a>Testing Permissions</a> for more information. For the definitions
--   of datasets and other genomics resources, see <a>Fundamentals of
--   Google Genomics</a>
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.datasets.testIamPermissions</tt>.
module Network.Google.Resource.Genomics.DataSets.TestIAMPermissions

-- | A resource alias for <tt>genomics.datasets.testIamPermissions</tt>
--   method which the <a>DataSetsTestIAMPermissions</a> request conforms
--   to.
type DataSetsTestIAMPermissionsResource = "v1" :> (CaptureMode "resource" "testIamPermissions" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] TestIAMPermissionsRequest :> Post '[JSON] TestIAMPermissionsResponse))))))))))

-- | Creates a value of <a>DataSetsTestIAMPermissions</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dstipXgafv</a></li>
--   <li><a>dstipUploadProtocol</a></li>
--   <li><a>dstipPp</a></li>
--   <li><a>dstipAccessToken</a></li>
--   <li><a>dstipUploadType</a></li>
--   <li><a>dstipPayload</a></li>
--   <li><a>dstipBearerToken</a></li>
--   <li><a>dstipResource</a></li>
--   <li><a>dstipCallback</a></li>
--   </ul>
dataSetsTestIAMPermissions :: TestIAMPermissionsRequest -> Text -> DataSetsTestIAMPermissions

-- | Returns permissions that a caller has on the specified resource. See
--   <a>Testing Permissions</a> for more information. For the definitions
--   of datasets and other genomics resources, see <a>Fundamentals of
--   Google Genomics</a>
--   
--   <i>See:</i> <a>dataSetsTestIAMPermissions</a> smart constructor.
data DataSetsTestIAMPermissions

-- | V1 error format.
dstipXgafv :: Lens' DataSetsTestIAMPermissions (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
dstipUploadProtocol :: Lens' DataSetsTestIAMPermissions (Maybe Text)

-- | Pretty-print response.
dstipPp :: Lens' DataSetsTestIAMPermissions Bool

-- | OAuth access token.
dstipAccessToken :: Lens' DataSetsTestIAMPermissions (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
dstipUploadType :: Lens' DataSetsTestIAMPermissions (Maybe Text)

-- | Multipart request metadata.
dstipPayload :: Lens' DataSetsTestIAMPermissions TestIAMPermissionsRequest

-- | OAuth bearer token.
dstipBearerToken :: Lens' DataSetsTestIAMPermissions (Maybe Text)

-- | REQUIRED: The resource for which policy is being specified. Format is
--   `datasets/`.
dstipResource :: Lens' DataSetsTestIAMPermissions Text

-- | JSONP
dstipCallback :: Lens' DataSetsTestIAMPermissions (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.DataSets.TestIAMPermissions.DataSetsTestIAMPermissions
instance Data.Data.Data Network.Google.Resource.Genomics.DataSets.TestIAMPermissions.DataSetsTestIAMPermissions
instance GHC.Show.Show Network.Google.Resource.Genomics.DataSets.TestIAMPermissions.DataSetsTestIAMPermissions
instance GHC.Classes.Eq Network.Google.Resource.Genomics.DataSets.TestIAMPermissions.DataSetsTestIAMPermissions
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.DataSets.TestIAMPermissions.DataSetsTestIAMPermissions


-- | Undeletes a dataset by restoring a dataset which was deleted via this
--   API. For the definitions of datasets and other genomics resources, see
--   <a>Fundamentals of Google Genomics</a> This operation is only possible
--   for a week after the deletion occurred.
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.datasets.undelete</tt>.
module Network.Google.Resource.Genomics.DataSets.Undelete

-- | A resource alias for <tt>genomics.datasets.undelete</tt> method which
--   the <a>DataSetsUndelete</a> request conforms to.
type DataSetsUndeleteResource = "v1" :> ("datasets" :> (CaptureMode "datasetId" "undelete" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] UndeleteDataSetRequest :> Post '[JSON] DataSet)))))))))))

-- | Creates a value of <a>DataSetsUndelete</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsuXgafv</a></li>
--   <li><a>dsuUploadProtocol</a></li>
--   <li><a>dsuPp</a></li>
--   <li><a>dsuAccessToken</a></li>
--   <li><a>dsuUploadType</a></li>
--   <li><a>dsuPayload</a></li>
--   <li><a>dsuBearerToken</a></li>
--   <li><a>dsuDataSetId</a></li>
--   <li><a>dsuCallback</a></li>
--   </ul>
dataSetsUndelete :: UndeleteDataSetRequest -> Text -> DataSetsUndelete

-- | Undeletes a dataset by restoring a dataset which was deleted via this
--   API. For the definitions of datasets and other genomics resources, see
--   <a>Fundamentals of Google Genomics</a> This operation is only possible
--   for a week after the deletion occurred.
--   
--   <i>See:</i> <a>dataSetsUndelete</a> smart constructor.
data DataSetsUndelete

-- | V1 error format.
dsuXgafv :: Lens' DataSetsUndelete (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
dsuUploadProtocol :: Lens' DataSetsUndelete (Maybe Text)

-- | Pretty-print response.
dsuPp :: Lens' DataSetsUndelete Bool

-- | OAuth access token.
dsuAccessToken :: Lens' DataSetsUndelete (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
dsuUploadType :: Lens' DataSetsUndelete (Maybe Text)

-- | Multipart request metadata.
dsuPayload :: Lens' DataSetsUndelete UndeleteDataSetRequest

-- | OAuth bearer token.
dsuBearerToken :: Lens' DataSetsUndelete (Maybe Text)

-- | The ID of the dataset to be undeleted.
dsuDataSetId :: Lens' DataSetsUndelete Text

-- | JSONP
dsuCallback :: Lens' DataSetsUndelete (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.DataSets.Undelete.DataSetsUndelete
instance Data.Data.Data Network.Google.Resource.Genomics.DataSets.Undelete.DataSetsUndelete
instance GHC.Show.Show Network.Google.Resource.Genomics.DataSets.Undelete.DataSetsUndelete
instance GHC.Classes.Eq Network.Google.Resource.Genomics.DataSets.Undelete.DataSetsUndelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.DataSets.Undelete.DataSetsUndelete


-- | Starts asynchronous cancellation on a long-running operation. The
--   server makes a best effort to cancel the operation, but success is not
--   guaranteed. Clients may use Operations.GetOperation or
--   Operations.ListOperations to check whether the cancellation succeeded
--   or the operation completed despite cancellation.
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.operations.cancel</tt>.
module Network.Google.Resource.Genomics.Operations.Cancel

-- | A resource alias for <tt>genomics.operations.cancel</tt> method which
--   the <a>OperationsCancel</a> request conforms to.
type OperationsCancelResource = "v1" :> (CaptureMode "name" "cancel" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] CancelOperationRequest :> Post '[JSON] Empty))))))))))

-- | Creates a value of <a>OperationsCancel</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ocXgafv</a></li>
--   <li><a>ocUploadProtocol</a></li>
--   <li><a>ocPp</a></li>
--   <li><a>ocAccessToken</a></li>
--   <li><a>ocUploadType</a></li>
--   <li><a>ocPayload</a></li>
--   <li><a>ocBearerToken</a></li>
--   <li><a>ocName</a></li>
--   <li><a>ocCallback</a></li>
--   </ul>
operationsCancel :: CancelOperationRequest -> Text -> OperationsCancel

-- | Starts asynchronous cancellation on a long-running operation. The
--   server makes a best effort to cancel the operation, but success is not
--   guaranteed. Clients may use Operations.GetOperation or
--   Operations.ListOperations to check whether the cancellation succeeded
--   or the operation completed despite cancellation.
--   
--   <i>See:</i> <a>operationsCancel</a> smart constructor.
data OperationsCancel

-- | V1 error format.
ocXgafv :: Lens' OperationsCancel (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
ocUploadProtocol :: Lens' OperationsCancel (Maybe Text)

-- | Pretty-print response.
ocPp :: Lens' OperationsCancel Bool

-- | OAuth access token.
ocAccessToken :: Lens' OperationsCancel (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
ocUploadType :: Lens' OperationsCancel (Maybe Text)

-- | Multipart request metadata.
ocPayload :: Lens' OperationsCancel CancelOperationRequest

-- | OAuth bearer token.
ocBearerToken :: Lens' OperationsCancel (Maybe Text)

-- | The name of the operation resource to be cancelled.
ocName :: Lens' OperationsCancel Text

-- | JSONP
ocCallback :: Lens' OperationsCancel (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.Operations.Cancel.OperationsCancel
instance Data.Data.Data Network.Google.Resource.Genomics.Operations.Cancel.OperationsCancel
instance GHC.Show.Show Network.Google.Resource.Genomics.Operations.Cancel.OperationsCancel
instance GHC.Classes.Eq Network.Google.Resource.Genomics.Operations.Cancel.OperationsCancel
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.Operations.Cancel.OperationsCancel


-- | Gets the latest state of a long-running operation. Clients can use
--   this method to poll the operation result at intervals as recommended
--   by the API service.
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.operations.get</tt>.
module Network.Google.Resource.Genomics.Operations.Get

-- | A resource alias for <tt>genomics.operations.get</tt> method which the
--   <a>OperationsGet</a> request conforms to.
type OperationsGetResource = "v1" :> (Capture "name" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Operation)))))))))

-- | Creates a value of <a>OperationsGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ogXgafv</a></li>
--   <li><a>ogUploadProtocol</a></li>
--   <li><a>ogPp</a></li>
--   <li><a>ogAccessToken</a></li>
--   <li><a>ogUploadType</a></li>
--   <li><a>ogBearerToken</a></li>
--   <li><a>ogName</a></li>
--   <li><a>ogCallback</a></li>
--   </ul>
operationsGet :: Text -> OperationsGet

-- | Gets the latest state of a long-running operation. Clients can use
--   this method to poll the operation result at intervals as recommended
--   by the API service.
--   
--   <i>See:</i> <a>operationsGet</a> smart constructor.
data OperationsGet

-- | V1 error format.
ogXgafv :: Lens' OperationsGet (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
ogUploadProtocol :: Lens' OperationsGet (Maybe Text)

-- | Pretty-print response.
ogPp :: Lens' OperationsGet Bool

-- | OAuth access token.
ogAccessToken :: Lens' OperationsGet (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
ogUploadType :: Lens' OperationsGet (Maybe Text)

-- | OAuth bearer token.
ogBearerToken :: Lens' OperationsGet (Maybe Text)

-- | The name of the operation resource.
ogName :: Lens' OperationsGet Text

-- | JSONP
ogCallback :: Lens' OperationsGet (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.Operations.Get.OperationsGet
instance Data.Data.Data Network.Google.Resource.Genomics.Operations.Get.OperationsGet
instance GHC.Show.Show Network.Google.Resource.Genomics.Operations.Get.OperationsGet
instance GHC.Classes.Eq Network.Google.Resource.Genomics.Operations.Get.OperationsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.Operations.Get.OperationsGet


-- | Lists operations that match the specified filter in the request.
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.operations.list</tt>.
module Network.Google.Resource.Genomics.Operations.List

-- | A resource alias for <tt>genomics.operations.list</tt> method which
--   the <a>OperationsList</a> request conforms to.
type OperationsListResource = "v1" :> (Capture "name" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "pageSize" (Textual Int32) :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] ListOperationsResponse))))))))))))

-- | Creates a value of <a>OperationsList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>olXgafv</a></li>
--   <li><a>olUploadProtocol</a></li>
--   <li><a>olPp</a></li>
--   <li><a>olAccessToken</a></li>
--   <li><a>olUploadType</a></li>
--   <li><a>olBearerToken</a></li>
--   <li><a>olName</a></li>
--   <li><a>olFilter</a></li>
--   <li><a>olPageToken</a></li>
--   <li><a>olPageSize</a></li>
--   <li><a>olCallback</a></li>
--   </ul>
operationsList :: Text -> OperationsList

-- | Lists operations that match the specified filter in the request.
--   
--   <i>See:</i> <a>operationsList</a> smart constructor.
data OperationsList

-- | V1 error format.
olXgafv :: Lens' OperationsList (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
olUploadProtocol :: Lens' OperationsList (Maybe Text)

-- | Pretty-print response.
olPp :: Lens' OperationsList Bool

-- | OAuth access token.
olAccessToken :: Lens' OperationsList (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
olUploadType :: Lens' OperationsList (Maybe Text)

-- | OAuth bearer token.
olBearerToken :: Lens' OperationsList (Maybe Text)

-- | The name of the operation collection.
olName :: Lens' OperationsList Text

-- | A string for filtering Operations. The following filter fields are
--   supported: * projectId: Required. Corresponds to
--   OperationMetadata.projectId. * createTime: The time this job was
--   created, in seconds from the <a>epoch</a>. Can use `&gt;=` and/or
--   `&lt;=` operators. * status: Can be `RUNNING`, `SUCCESS`, `FAILURE`,
--   or `CANCELED`. Only one status may be specified. * labels.key where
--   key is a label key. Examples: * `projectId = my-project AND createTime
--   &gt;= 1432140000` * `projectId = my-project AND createTime &gt;=
--   1432140000 AND createTime &lt;= 1432150000 AND status = RUNNING` *
--   `projectId = my-project AND labels.color = *` * `projectId =
--   my-project AND labels.color = red`
olFilter :: Lens' OperationsList (Maybe Text)

-- | The standard list page token.
olPageToken :: Lens' OperationsList (Maybe Text)

-- | The maximum number of results to return. If unspecified, defaults to
--   256. The maximum value is 2048.
olPageSize :: Lens' OperationsList (Maybe Int32)

-- | JSONP
olCallback :: Lens' OperationsList (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.Operations.List.OperationsList
instance Data.Data.Data Network.Google.Resource.Genomics.Operations.List.OperationsList
instance GHC.Show.Show Network.Google.Resource.Genomics.Operations.List.OperationsList
instance GHC.Classes.Eq Network.Google.Resource.Genomics.Operations.List.OperationsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.Operations.List.OperationsList


-- | 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. For the
--   definitions of read group sets and other genomics resources, see
--   <a>Fundamentals of Google Genomics</a> Coverage 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.
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.readgroupsets.coveragebuckets.list</tt>.
module Network.Google.Resource.Genomics.ReadGroupSets.CoverageBuckets.List

-- | A resource alias for
--   <tt>genomics.readgroupsets.coveragebuckets.list</tt> method which the
--   <a>ReadGroupSetsCoverageBucketsList</a> request conforms to.
type ReadGroupSetsCoverageBucketsListResource = "v1" :> ("readgroupsets" :> (Capture "readGroupSetId" Text :> ("coveragebuckets" :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "start" (Textual Int64) :> (QueryParam "uploadType" Text :> (QueryParam "targetBucketWidth" (Textual Int64) :> (QueryParam "referenceName" Text :> (QueryParam "bearer_token" Text :> (QueryParam "end" (Textual Int64) :> (QueryParam "pageToken" Text :> (QueryParam "pageSize" (Textual Int32) :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] ListCoverageBucketsResponse)))))))))))))))))

-- | Creates a value of <a>ReadGroupSetsCoverageBucketsList</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rgscblXgafv</a></li>
--   <li><a>rgscblReadGroupSetId</a></li>
--   <li><a>rgscblUploadProtocol</a></li>
--   <li><a>rgscblPp</a></li>
--   <li><a>rgscblAccessToken</a></li>
--   <li><a>rgscblStart</a></li>
--   <li><a>rgscblUploadType</a></li>
--   <li><a>rgscblTargetBucketWidth</a></li>
--   <li><a>rgscblReferenceName</a></li>
--   <li><a>rgscblBearerToken</a></li>
--   <li><a>rgscblEnd</a></li>
--   <li><a>rgscblPageToken</a></li>
--   <li><a>rgscblPageSize</a></li>
--   <li><a>rgscblCallback</a></li>
--   </ul>
readGroupSetsCoverageBucketsList :: Text -> ReadGroupSetsCoverageBucketsList

-- | 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. For the
--   definitions of read group sets and other genomics resources, see
--   <a>Fundamentals of Google Genomics</a> Coverage 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.
--   
--   <i>See:</i> <a>readGroupSetsCoverageBucketsList</a> smart constructor.
data ReadGroupSetsCoverageBucketsList

-- | V1 error format.
rgscblXgafv :: Lens' ReadGroupSetsCoverageBucketsList (Maybe Xgafv)

-- | Required. The ID of the read group set over which coverage is
--   requested.
rgscblReadGroupSetId :: Lens' ReadGroupSetsCoverageBucketsList Text

-- | Upload protocol for media (e.g. "raw", "multipart").
rgscblUploadProtocol :: Lens' ReadGroupSetsCoverageBucketsList (Maybe Text)

-- | Pretty-print response.
rgscblPp :: Lens' ReadGroupSetsCoverageBucketsList Bool

-- | OAuth access token.
rgscblAccessToken :: Lens' ReadGroupSetsCoverageBucketsList (Maybe Text)

-- | The start position of the range on the reference, 0-based inclusive.
--   If specified, `referenceName` must also be specified. Defaults to 0.
rgscblStart :: Lens' ReadGroupSetsCoverageBucketsList (Maybe Int64)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
rgscblUploadType :: Lens' ReadGroupSetsCoverageBucketsList (Maybe Text)

-- | 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.
rgscblTargetBucketWidth :: Lens' ReadGroupSetsCoverageBucketsList (Maybe Int64)

-- | The name of the reference to query, within the reference set
--   associated with this query. Optional.
rgscblReferenceName :: Lens' ReadGroupSetsCoverageBucketsList (Maybe Text)

-- | OAuth bearer token.
rgscblBearerToken :: Lens' ReadGroupSetsCoverageBucketsList (Maybe Text)

-- | The end position of the range on the reference, 0-based exclusive. If
--   specified, `referenceName` must also be specified. If unset or 0,
--   defaults to the length of the reference.
rgscblEnd :: Lens' ReadGroupSetsCoverageBucketsList (Maybe Int64)

-- | 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.
rgscblPageToken :: Lens' ReadGroupSetsCoverageBucketsList (Maybe Text)

-- | The maximum number of results to return in a single page. If
--   unspecified, defaults to 1024. The maximum value is 2048.
rgscblPageSize :: Lens' ReadGroupSetsCoverageBucketsList (Maybe Int32)

-- | JSONP
rgscblCallback :: Lens' ReadGroupSetsCoverageBucketsList (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.ReadGroupSets.CoverageBuckets.List.ReadGroupSetsCoverageBucketsList
instance Data.Data.Data Network.Google.Resource.Genomics.ReadGroupSets.CoverageBuckets.List.ReadGroupSetsCoverageBucketsList
instance GHC.Show.Show Network.Google.Resource.Genomics.ReadGroupSets.CoverageBuckets.List.ReadGroupSetsCoverageBucketsList
instance GHC.Classes.Eq Network.Google.Resource.Genomics.ReadGroupSets.CoverageBuckets.List.ReadGroupSetsCoverageBucketsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.ReadGroupSets.CoverageBuckets.List.ReadGroupSetsCoverageBucketsList


-- | Deletes a read group set. For the definitions of read group sets and
--   other genomics resources, see <a>Fundamentals of Google Genomics</a>
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.readgroupsets.delete</tt>.
module Network.Google.Resource.Genomics.ReadGroupSets.Delete

-- | A resource alias for <tt>genomics.readgroupsets.delete</tt> method
--   which the <a>ReadGroupSetsDelete</a> request conforms to.
type ReadGroupSetsDeleteResource = "v1" :> ("readgroupsets" :> (Capture "readGroupSetId" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] Empty))))))))))

-- | Creates a value of <a>ReadGroupSetsDelete</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rgsdXgafv</a></li>
--   <li><a>rgsdReadGroupSetId</a></li>
--   <li><a>rgsdUploadProtocol</a></li>
--   <li><a>rgsdPp</a></li>
--   <li><a>rgsdAccessToken</a></li>
--   <li><a>rgsdUploadType</a></li>
--   <li><a>rgsdBearerToken</a></li>
--   <li><a>rgsdCallback</a></li>
--   </ul>
readGroupSetsDelete :: Text -> ReadGroupSetsDelete

-- | Deletes a read group set. For the definitions of read group sets and
--   other genomics resources, see <a>Fundamentals of Google Genomics</a>
--   
--   <i>See:</i> <a>readGroupSetsDelete</a> smart constructor.
data ReadGroupSetsDelete

-- | V1 error format.
rgsdXgafv :: Lens' ReadGroupSetsDelete (Maybe Xgafv)

-- | 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.
rgsdReadGroupSetId :: Lens' ReadGroupSetsDelete Text

-- | Upload protocol for media (e.g. "raw", "multipart").
rgsdUploadProtocol :: Lens' ReadGroupSetsDelete (Maybe Text)

-- | Pretty-print response.
rgsdPp :: Lens' ReadGroupSetsDelete Bool

-- | OAuth access token.
rgsdAccessToken :: Lens' ReadGroupSetsDelete (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
rgsdUploadType :: Lens' ReadGroupSetsDelete (Maybe Text)

-- | OAuth bearer token.
rgsdBearerToken :: Lens' ReadGroupSetsDelete (Maybe Text)

-- | JSONP
rgsdCallback :: Lens' ReadGroupSetsDelete (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.ReadGroupSets.Delete.ReadGroupSetsDelete
instance Data.Data.Data Network.Google.Resource.Genomics.ReadGroupSets.Delete.ReadGroupSetsDelete
instance GHC.Show.Show Network.Google.Resource.Genomics.ReadGroupSets.Delete.ReadGroupSetsDelete
instance GHC.Classes.Eq Network.Google.Resource.Genomics.ReadGroupSets.Delete.ReadGroupSetsDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.ReadGroupSets.Delete.ReadGroupSetsDelete


-- | Exports a read group set to a BAM file in Google Cloud Storage. For
--   the definitions of read group sets and other genomics resources, see
--   <a>Fundamentals of Google Genomics</a> Note that currently there may
--   be some differences between exported BAM files and the original BAM
--   file at the time of import. See ImportReadGroupSets for caveats.
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.readgroupsets.export</tt>.
module Network.Google.Resource.Genomics.ReadGroupSets.Export

-- | A resource alias for <tt>genomics.readgroupsets.export</tt> method
--   which the <a>ReadGroupSetsExport</a> request conforms to.
type ReadGroupSetsExportResource = "v1" :> ("readgroupsets" :> (CaptureMode "readGroupSetId" "export" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] ExportReadGroupSetRequest :> Post '[JSON] Operation)))))))))))

-- | Creates a value of <a>ReadGroupSetsExport</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rgseXgafv</a></li>
--   <li><a>rgseReadGroupSetId</a></li>
--   <li><a>rgseUploadProtocol</a></li>
--   <li><a>rgsePp</a></li>
--   <li><a>rgseAccessToken</a></li>
--   <li><a>rgseUploadType</a></li>
--   <li><a>rgsePayload</a></li>
--   <li><a>rgseBearerToken</a></li>
--   <li><a>rgseCallback</a></li>
--   </ul>
readGroupSetsExport :: Text -> ExportReadGroupSetRequest -> ReadGroupSetsExport

-- | Exports a read group set to a BAM file in Google Cloud Storage. For
--   the definitions of read group sets and other genomics resources, see
--   <a>Fundamentals of Google Genomics</a> Note that currently there may
--   be some differences between exported BAM files and the original BAM
--   file at the time of import. See ImportReadGroupSets for caveats.
--   
--   <i>See:</i> <a>readGroupSetsExport</a> smart constructor.
data ReadGroupSetsExport

-- | V1 error format.
rgseXgafv :: Lens' ReadGroupSetsExport (Maybe Xgafv)

-- | Required. The ID of the read group set to export. The caller must have
--   READ access to this read group set.
rgseReadGroupSetId :: Lens' ReadGroupSetsExport Text

-- | Upload protocol for media (e.g. "raw", "multipart").
rgseUploadProtocol :: Lens' ReadGroupSetsExport (Maybe Text)

-- | Pretty-print response.
rgsePp :: Lens' ReadGroupSetsExport Bool

-- | OAuth access token.
rgseAccessToken :: Lens' ReadGroupSetsExport (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
rgseUploadType :: Lens' ReadGroupSetsExport (Maybe Text)

-- | Multipart request metadata.
rgsePayload :: Lens' ReadGroupSetsExport ExportReadGroupSetRequest

-- | OAuth bearer token.
rgseBearerToken :: Lens' ReadGroupSetsExport (Maybe Text)

-- | JSONP
rgseCallback :: Lens' ReadGroupSetsExport (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.ReadGroupSets.Export.ReadGroupSetsExport
instance Data.Data.Data Network.Google.Resource.Genomics.ReadGroupSets.Export.ReadGroupSetsExport
instance GHC.Show.Show Network.Google.Resource.Genomics.ReadGroupSets.Export.ReadGroupSetsExport
instance GHC.Classes.Eq Network.Google.Resource.Genomics.ReadGroupSets.Export.ReadGroupSetsExport
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.ReadGroupSets.Export.ReadGroupSetsExport


-- | Gets a read group set by ID. For the definitions of read group sets
--   and other genomics resources, see <a>Fundamentals of Google
--   Genomics</a>
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.readgroupsets.get</tt>.
module Network.Google.Resource.Genomics.ReadGroupSets.Get

-- | A resource alias for <tt>genomics.readgroupsets.get</tt> method which
--   the <a>ReadGroupSetsGet</a> request conforms to.
type ReadGroupSetsGetResource = "v1" :> ("readgroupsets" :> (Capture "readGroupSetId" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] ReadGroupSet))))))))))

-- | Creates a value of <a>ReadGroupSetsGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rgsgXgafv</a></li>
--   <li><a>rgsgReadGroupSetId</a></li>
--   <li><a>rgsgUploadProtocol</a></li>
--   <li><a>rgsgPp</a></li>
--   <li><a>rgsgAccessToken</a></li>
--   <li><a>rgsgUploadType</a></li>
--   <li><a>rgsgBearerToken</a></li>
--   <li><a>rgsgCallback</a></li>
--   </ul>
readGroupSetsGet :: Text -> ReadGroupSetsGet

-- | Gets a read group set by ID. For the definitions of read group sets
--   and other genomics resources, see <a>Fundamentals of Google
--   Genomics</a>
--   
--   <i>See:</i> <a>readGroupSetsGet</a> smart constructor.
data ReadGroupSetsGet

-- | V1 error format.
rgsgXgafv :: Lens' ReadGroupSetsGet (Maybe Xgafv)

-- | The ID of the read group set.
rgsgReadGroupSetId :: Lens' ReadGroupSetsGet Text

-- | Upload protocol for media (e.g. "raw", "multipart").
rgsgUploadProtocol :: Lens' ReadGroupSetsGet (Maybe Text)

-- | Pretty-print response.
rgsgPp :: Lens' ReadGroupSetsGet Bool

-- | OAuth access token.
rgsgAccessToken :: Lens' ReadGroupSetsGet (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
rgsgUploadType :: Lens' ReadGroupSetsGet (Maybe Text)

-- | OAuth bearer token.
rgsgBearerToken :: Lens' ReadGroupSetsGet (Maybe Text)

-- | JSONP
rgsgCallback :: Lens' ReadGroupSetsGet (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.ReadGroupSets.Get.ReadGroupSetsGet
instance Data.Data.Data Network.Google.Resource.Genomics.ReadGroupSets.Get.ReadGroupSetsGet
instance GHC.Show.Show Network.Google.Resource.Genomics.ReadGroupSets.Get.ReadGroupSetsGet
instance GHC.Classes.Eq Network.Google.Resource.Genomics.ReadGroupSets.Get.ReadGroupSetsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.ReadGroupSets.Get.ReadGroupSetsGet


-- | Creates read group sets by asynchronously importing the provided
--   information. For the definitions of read group sets and other genomics
--   resources, see <a>Fundamentals of Google Genomics</a> The caller must
--   have WRITE permissions to the dataset. ## Notes on <a>BAM</a> import -
--   Tags will be converted to strings - tag types are not preserved -
--   Comments (`'CO`) in the input file header will not be preserved -
--   Original header order of references (`'SQ`) will not be preserved -
--   Any reverse stranded unmapped reads will be reverse complemented, and
--   their qualities (also the "BQ" and "OQ" tags, if any) will be reversed
--   - Unmapped reads will be stripped of positional information (reference
--   name and position)
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.readgroupsets.import</tt>.
module Network.Google.Resource.Genomics.ReadGroupSets.Import

-- | A resource alias for <tt>genomics.readgroupsets.import</tt> method
--   which the <a>ReadGroupSetsImport</a> request conforms to.
type ReadGroupSetsImportResource = "v1" :> ("readgroupsets:import" :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] ImportReadGroupSetsRequest :> Post '[JSON] Operation))))))))))

-- | Creates a value of <a>ReadGroupSetsImport</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rgsiXgafv</a></li>
--   <li><a>rgsiUploadProtocol</a></li>
--   <li><a>rgsiPp</a></li>
--   <li><a>rgsiAccessToken</a></li>
--   <li><a>rgsiUploadType</a></li>
--   <li><a>rgsiPayload</a></li>
--   <li><a>rgsiBearerToken</a></li>
--   <li><a>rgsiCallback</a></li>
--   </ul>
readGroupSetsImport :: ImportReadGroupSetsRequest -> ReadGroupSetsImport

-- | Creates read group sets by asynchronously importing the provided
--   information. For the definitions of read group sets and other genomics
--   resources, see <a>Fundamentals of Google Genomics</a> The caller must
--   have WRITE permissions to the dataset. ## Notes on <a>BAM</a> import -
--   Tags will be converted to strings - tag types are not preserved -
--   Comments (`'CO`) in the input file header will not be preserved -
--   Original header order of references (`'SQ`) will not be preserved -
--   Any reverse stranded unmapped reads will be reverse complemented, and
--   their qualities (also the "BQ" and "OQ" tags, if any) will be reversed
--   - Unmapped reads will be stripped of positional information (reference
--   name and position)
--   
--   <i>See:</i> <a>readGroupSetsImport</a> smart constructor.
data ReadGroupSetsImport

-- | V1 error format.
rgsiXgafv :: Lens' ReadGroupSetsImport (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
rgsiUploadProtocol :: Lens' ReadGroupSetsImport (Maybe Text)

-- | Pretty-print response.
rgsiPp :: Lens' ReadGroupSetsImport Bool

-- | OAuth access token.
rgsiAccessToken :: Lens' ReadGroupSetsImport (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
rgsiUploadType :: Lens' ReadGroupSetsImport (Maybe Text)

-- | Multipart request metadata.
rgsiPayload :: Lens' ReadGroupSetsImport ImportReadGroupSetsRequest

-- | OAuth bearer token.
rgsiBearerToken :: Lens' ReadGroupSetsImport (Maybe Text)

-- | JSONP
rgsiCallback :: Lens' ReadGroupSetsImport (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.ReadGroupSets.Import.ReadGroupSetsImport
instance Data.Data.Data Network.Google.Resource.Genomics.ReadGroupSets.Import.ReadGroupSetsImport
instance GHC.Show.Show Network.Google.Resource.Genomics.ReadGroupSets.Import.ReadGroupSetsImport
instance GHC.Classes.Eq Network.Google.Resource.Genomics.ReadGroupSets.Import.ReadGroupSetsImport
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.ReadGroupSets.Import.ReadGroupSetsImport


-- | Updates a read group set. For the definitions of read group sets and
--   other genomics resources, see <a>Fundamentals of Google Genomics</a>
--   This method supports patch semantics.
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.readgroupsets.patch</tt>.
module Network.Google.Resource.Genomics.ReadGroupSets.Patch

-- | A resource alias for <tt>genomics.readgroupsets.patch</tt> method
--   which the <a>ReadGroupSetsPatch</a> request conforms to.
type ReadGroupSetsPatchResource = "v1" :> ("readgroupsets" :> (Capture "readGroupSetId" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "updateMask" FieldMask :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] ReadGroupSet :> Patch '[JSON] ReadGroupSet))))))))))))

-- | Creates a value of <a>ReadGroupSetsPatch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rgspXgafv</a></li>
--   <li><a>rgspReadGroupSetId</a></li>
--   <li><a>rgspUploadProtocol</a></li>
--   <li><a>rgspUpdateMask</a></li>
--   <li><a>rgspPp</a></li>
--   <li><a>rgspAccessToken</a></li>
--   <li><a>rgspUploadType</a></li>
--   <li><a>rgspPayload</a></li>
--   <li><a>rgspBearerToken</a></li>
--   <li><a>rgspCallback</a></li>
--   </ul>
readGroupSetsPatch :: Text -> ReadGroupSet -> ReadGroupSetsPatch

-- | Updates a read group set. For the definitions of read group sets and
--   other genomics resources, see <a>Fundamentals of Google Genomics</a>
--   This method supports patch semantics.
--   
--   <i>See:</i> <a>readGroupSetsPatch</a> smart constructor.
data ReadGroupSetsPatch

-- | V1 error format.
rgspXgafv :: Lens' ReadGroupSetsPatch (Maybe Xgafv)

-- | 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.
rgspReadGroupSetId :: Lens' ReadGroupSetsPatch Text

-- | Upload protocol for media (e.g. "raw", "multipart").
rgspUploadProtocol :: Lens' ReadGroupSetsPatch (Maybe Text)

-- | An optional mask specifying which fields to update. Supported fields:
--   * name. * referenceSetId. Leaving `updateMask` unset is equivalent to
--   specifying all mutable fields.
rgspUpdateMask :: Lens' ReadGroupSetsPatch (Maybe FieldMask)

-- | Pretty-print response.
rgspPp :: Lens' ReadGroupSetsPatch Bool

-- | OAuth access token.
rgspAccessToken :: Lens' ReadGroupSetsPatch (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
rgspUploadType :: Lens' ReadGroupSetsPatch (Maybe Text)

-- | Multipart request metadata.
rgspPayload :: Lens' ReadGroupSetsPatch ReadGroupSet

-- | OAuth bearer token.
rgspBearerToken :: Lens' ReadGroupSetsPatch (Maybe Text)

-- | JSONP
rgspCallback :: Lens' ReadGroupSetsPatch (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.ReadGroupSets.Patch.ReadGroupSetsPatch
instance Data.Data.Data Network.Google.Resource.Genomics.ReadGroupSets.Patch.ReadGroupSetsPatch
instance GHC.Show.Show Network.Google.Resource.Genomics.ReadGroupSets.Patch.ReadGroupSetsPatch
instance GHC.Classes.Eq Network.Google.Resource.Genomics.ReadGroupSets.Patch.ReadGroupSetsPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.ReadGroupSets.Patch.ReadGroupSetsPatch


-- | Searches for read group sets matching the criteria. For the
--   definitions of read group sets and other genomics resources, see
--   <a>Fundamentals of Google Genomics</a> Implements
--   <a>GlobalAllianceApi.searchReadGroupSets</a>.
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.readgroupsets.search</tt>.
module Network.Google.Resource.Genomics.ReadGroupSets.Search

-- | A resource alias for <tt>genomics.readgroupsets.search</tt> method
--   which the <a>ReadGroupSetsSearch</a> request conforms to.
type ReadGroupSetsSearchResource = "v1" :> ("readgroupsets" :> ("search" :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] SearchReadGroupSetsRequest :> Post '[JSON] SearchReadGroupSetsResponse)))))))))))

-- | Creates a value of <a>ReadGroupSetsSearch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rgssXgafv</a></li>
--   <li><a>rgssUploadProtocol</a></li>
--   <li><a>rgssPp</a></li>
--   <li><a>rgssAccessToken</a></li>
--   <li><a>rgssUploadType</a></li>
--   <li><a>rgssPayload</a></li>
--   <li><a>rgssBearerToken</a></li>
--   <li><a>rgssCallback</a></li>
--   </ul>
readGroupSetsSearch :: SearchReadGroupSetsRequest -> ReadGroupSetsSearch

-- | Searches for read group sets matching the criteria. For the
--   definitions of read group sets and other genomics resources, see
--   <a>Fundamentals of Google Genomics</a> Implements
--   <a>GlobalAllianceApi.searchReadGroupSets</a>.
--   
--   <i>See:</i> <a>readGroupSetsSearch</a> smart constructor.
data ReadGroupSetsSearch

-- | V1 error format.
rgssXgafv :: Lens' ReadGroupSetsSearch (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
rgssUploadProtocol :: Lens' ReadGroupSetsSearch (Maybe Text)

-- | Pretty-print response.
rgssPp :: Lens' ReadGroupSetsSearch Bool

-- | OAuth access token.
rgssAccessToken :: Lens' ReadGroupSetsSearch (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
rgssUploadType :: Lens' ReadGroupSetsSearch (Maybe Text)

-- | Multipart request metadata.
rgssPayload :: Lens' ReadGroupSetsSearch SearchReadGroupSetsRequest

-- | OAuth bearer token.
rgssBearerToken :: Lens' ReadGroupSetsSearch (Maybe Text)

-- | JSONP
rgssCallback :: Lens' ReadGroupSetsSearch (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.ReadGroupSets.Search.ReadGroupSetsSearch
instance Data.Data.Data Network.Google.Resource.Genomics.ReadGroupSets.Search.ReadGroupSetsSearch
instance GHC.Show.Show Network.Google.Resource.Genomics.ReadGroupSets.Search.ReadGroupSetsSearch
instance GHC.Classes.Eq Network.Google.Resource.Genomics.ReadGroupSets.Search.ReadGroupSetsSearch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.ReadGroupSets.Search.ReadGroupSetsSearch


-- | Gets a list of reads for one or more read group sets. For the
--   definitions of read group sets and other genomics resources, see
--   <a>Fundamentals of Google Genomics</a> Reads search operates over a
--   genomic coordinate space of reference sequence &amp; position defined
--   over the reference sequences to which the requested read group sets
--   are aligned. If 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. All reads returned
--   (including reads on subsequent pages) are ordered by genomic
--   coordinate (by reference sequence, then position). Reads with
--   equivalent genomic coordinates are returned in an unspecified order.
--   This order is consistent, such that two queries for the same content
--   (regardless of page size) yield reads in the same order across their
--   respective streams of paginated responses. Implements
--   <a>GlobalAllianceApi.searchReads</a>.
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.reads.search</tt>.
module Network.Google.Resource.Genomics.Reads.Search

-- | A resource alias for <tt>genomics.reads.search</tt> method which the
--   <a>ReadsSearch</a> request conforms to.
type ReadsSearchResource = "v1" :> ("reads" :> ("search" :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] SearchReadsRequest :> Post '[JSON] SearchReadsResponse)))))))))))

-- | Creates a value of <a>ReadsSearch</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>reaXgafv</a></li>
--   <li><a>reaUploadProtocol</a></li>
--   <li><a>reaPp</a></li>
--   <li><a>reaAccessToken</a></li>
--   <li><a>reaUploadType</a></li>
--   <li><a>reaPayload</a></li>
--   <li><a>reaBearerToken</a></li>
--   <li><a>reaCallback</a></li>
--   </ul>
readsSearch :: SearchReadsRequest -> ReadsSearch

-- | Gets a list of reads for one or more read group sets. For the
--   definitions of read group sets and other genomics resources, see
--   <a>Fundamentals of Google Genomics</a> Reads search operates over a
--   genomic coordinate space of reference sequence &amp; position defined
--   over the reference sequences to which the requested read group sets
--   are aligned. If 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. All reads returned
--   (including reads on subsequent pages) are ordered by genomic
--   coordinate (by reference sequence, then position). Reads with
--   equivalent genomic coordinates are returned in an unspecified order.
--   This order is consistent, such that two queries for the same content
--   (regardless of page size) yield reads in the same order across their
--   respective streams of paginated responses. Implements
--   <a>GlobalAllianceApi.searchReads</a>.
--   
--   <i>See:</i> <a>readsSearch</a> smart constructor.
data ReadsSearch

-- | V1 error format.
reaXgafv :: Lens' ReadsSearch (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
reaUploadProtocol :: Lens' ReadsSearch (Maybe Text)

-- | Pretty-print response.
reaPp :: Lens' ReadsSearch Bool

-- | OAuth access token.
reaAccessToken :: Lens' ReadsSearch (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
reaUploadType :: Lens' ReadsSearch (Maybe Text)

-- | Multipart request metadata.
reaPayload :: Lens' ReadsSearch SearchReadsRequest

-- | OAuth bearer token.
reaBearerToken :: Lens' ReadsSearch (Maybe Text)

-- | JSONP
reaCallback :: Lens' ReadsSearch (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.Reads.Search.ReadsSearch
instance Data.Data.Data Network.Google.Resource.Genomics.Reads.Search.ReadsSearch
instance GHC.Show.Show Network.Google.Resource.Genomics.Reads.Search.ReadsSearch
instance GHC.Classes.Eq Network.Google.Resource.Genomics.Reads.Search.ReadsSearch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.Reads.Search.ReadsSearch


-- | Lists the bases in a reference, optionally restricted to a range. For
--   the definitions of references and other genomics resources, see
--   <a>Fundamentals of Google Genomics</a> Implements
--   <a>GlobalAllianceApi.getReferenceBases</a>.
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.references.bases.list</tt>.
module Network.Google.Resource.Genomics.References.Bases.List

-- | A resource alias for <tt>genomics.references.bases.list</tt> method
--   which the <a>ReferencesBasesList</a> request conforms to.
type ReferencesBasesListResource = "v1" :> ("references" :> (Capture "referenceId" Text :> ("bases" :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "start" (Textual Int64) :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "end" (Textual Int64) :> (QueryParam "pageToken" Text :> (QueryParam "pageSize" (Textual Int32) :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] ListBasesResponse)))))))))))))))

-- | Creates a value of <a>ReferencesBasesList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rblXgafv</a></li>
--   <li><a>rblUploadProtocol</a></li>
--   <li><a>rblPp</a></li>
--   <li><a>rblAccessToken</a></li>
--   <li><a>rblStart</a></li>
--   <li><a>rblUploadType</a></li>
--   <li><a>rblReferenceId</a></li>
--   <li><a>rblBearerToken</a></li>
--   <li><a>rblEnd</a></li>
--   <li><a>rblPageToken</a></li>
--   <li><a>rblPageSize</a></li>
--   <li><a>rblCallback</a></li>
--   </ul>
referencesBasesList :: Text -> ReferencesBasesList

-- | Lists the bases in a reference, optionally restricted to a range. For
--   the definitions of references and other genomics resources, see
--   <a>Fundamentals of Google Genomics</a> Implements
--   <a>GlobalAllianceApi.getReferenceBases</a>.
--   
--   <i>See:</i> <a>referencesBasesList</a> smart constructor.
data ReferencesBasesList

-- | V1 error format.
rblXgafv :: Lens' ReferencesBasesList (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
rblUploadProtocol :: Lens' ReferencesBasesList (Maybe Text)

-- | Pretty-print response.
rblPp :: Lens' ReferencesBasesList Bool

-- | OAuth access token.
rblAccessToken :: Lens' ReferencesBasesList (Maybe Text)

-- | The start position (0-based) of this query. Defaults to 0.
rblStart :: Lens' ReferencesBasesList (Maybe Int64)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
rblUploadType :: Lens' ReferencesBasesList (Maybe Text)

-- | The ID of the reference.
rblReferenceId :: Lens' ReferencesBasesList Text

-- | OAuth bearer token.
rblBearerToken :: Lens' ReferencesBasesList (Maybe Text)

-- | The end position (0-based, exclusive) of this query. Defaults to the
--   length of this reference.
rblEnd :: Lens' ReferencesBasesList (Maybe Int64)

-- | 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.
rblPageToken :: Lens' ReferencesBasesList (Maybe Text)

-- | The maximum number of bases to return in a single page. If
--   unspecified, defaults to 200Kbp (kilo base pairs). The maximum value
--   is 10Mbp (mega base pairs).
rblPageSize :: Lens' ReferencesBasesList (Maybe Int32)

-- | JSONP
rblCallback :: Lens' ReferencesBasesList (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.References.Bases.List.ReferencesBasesList
instance Data.Data.Data Network.Google.Resource.Genomics.References.Bases.List.ReferencesBasesList
instance GHC.Show.Show Network.Google.Resource.Genomics.References.Bases.List.ReferencesBasesList
instance GHC.Classes.Eq Network.Google.Resource.Genomics.References.Bases.List.ReferencesBasesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.References.Bases.List.ReferencesBasesList


-- | Gets a reference. For the definitions of references and other genomics
--   resources, see <a>Fundamentals of Google Genomics</a> Implements
--   <a>GlobalAllianceApi.getReference</a>.
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.references.get</tt>.
module Network.Google.Resource.Genomics.References.Get

-- | A resource alias for <tt>genomics.references.get</tt> method which the
--   <a>ReferencesGet</a> request conforms to.
type ReferencesGetResource = "v1" :> ("references" :> (Capture "referenceId" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Reference))))))))))

-- | Creates a value of <a>ReferencesGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rXgafv</a></li>
--   <li><a>rUploadProtocol</a></li>
--   <li><a>rPp</a></li>
--   <li><a>rAccessToken</a></li>
--   <li><a>rUploadType</a></li>
--   <li><a>rReferenceId</a></li>
--   <li><a>rBearerToken</a></li>
--   <li><a>rCallback</a></li>
--   </ul>
referencesGet :: Text -> ReferencesGet

-- | Gets a reference. For the definitions of references and other genomics
--   resources, see <a>Fundamentals of Google Genomics</a> Implements
--   <a>GlobalAllianceApi.getReference</a>.
--   
--   <i>See:</i> <a>referencesGet</a> smart constructor.
data ReferencesGet

-- | V1 error format.
rXgafv :: Lens' ReferencesGet (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
rUploadProtocol :: Lens' ReferencesGet (Maybe Text)

-- | Pretty-print response.
rPp :: Lens' ReferencesGet Bool

-- | OAuth access token.
rAccessToken :: Lens' ReferencesGet (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
rUploadType :: Lens' ReferencesGet (Maybe Text)

-- | The ID of the reference.
rReferenceId :: Lens' ReferencesGet Text

-- | OAuth bearer token.
rBearerToken :: Lens' ReferencesGet (Maybe Text)

-- | JSONP
rCallback :: Lens' ReferencesGet (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.References.Get.ReferencesGet
instance Data.Data.Data Network.Google.Resource.Genomics.References.Get.ReferencesGet
instance GHC.Show.Show Network.Google.Resource.Genomics.References.Get.ReferencesGet
instance GHC.Classes.Eq Network.Google.Resource.Genomics.References.Get.ReferencesGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.References.Get.ReferencesGet


-- | Searches for references which match the given criteria. For the
--   definitions of references and other genomics resources, see
--   <a>Fundamentals of Google Genomics</a> Implements
--   <a>GlobalAllianceApi.searchReferences</a>.
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.references.search</tt>.
module Network.Google.Resource.Genomics.References.Search

-- | A resource alias for <tt>genomics.references.search</tt> method which
--   the <a>ReferencesSearch</a> request conforms to.
type ReferencesSearchResource = "v1" :> ("references" :> ("search" :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] SearchReferencesRequest :> Post '[JSON] SearchReferencesResponse)))))))))))

-- | Creates a value of <a>ReferencesSearch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>refXgafv</a></li>
--   <li><a>refUploadProtocol</a></li>
--   <li><a>refPp</a></li>
--   <li><a>refAccessToken</a></li>
--   <li><a>refUploadType</a></li>
--   <li><a>refPayload</a></li>
--   <li><a>refBearerToken</a></li>
--   <li><a>refCallback</a></li>
--   </ul>
referencesSearch :: SearchReferencesRequest -> ReferencesSearch

-- | Searches for references which match the given criteria. For the
--   definitions of references and other genomics resources, see
--   <a>Fundamentals of Google Genomics</a> Implements
--   <a>GlobalAllianceApi.searchReferences</a>.
--   
--   <i>See:</i> <a>referencesSearch</a> smart constructor.
data ReferencesSearch

-- | V1 error format.
refXgafv :: Lens' ReferencesSearch (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
refUploadProtocol :: Lens' ReferencesSearch (Maybe Text)

-- | Pretty-print response.
refPp :: Lens' ReferencesSearch Bool

-- | OAuth access token.
refAccessToken :: Lens' ReferencesSearch (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
refUploadType :: Lens' ReferencesSearch (Maybe Text)

-- | Multipart request metadata.
refPayload :: Lens' ReferencesSearch SearchReferencesRequest

-- | OAuth bearer token.
refBearerToken :: Lens' ReferencesSearch (Maybe Text)

-- | JSONP
refCallback :: Lens' ReferencesSearch (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.References.Search.ReferencesSearch
instance Data.Data.Data Network.Google.Resource.Genomics.References.Search.ReferencesSearch
instance GHC.Show.Show Network.Google.Resource.Genomics.References.Search.ReferencesSearch
instance GHC.Classes.Eq Network.Google.Resource.Genomics.References.Search.ReferencesSearch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.References.Search.ReferencesSearch


-- | Gets a reference set. For the definitions of references and other
--   genomics resources, see <a>Fundamentals of Google Genomics</a>
--   Implements <a>GlobalAllianceApi.getReferenceSet</a>.
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.referencesets.get</tt>.
module Network.Google.Resource.Genomics.Referencesets.Get

-- | A resource alias for <tt>genomics.referencesets.get</tt> method which
--   the <a>ReferencesetsGet</a> request conforms to.
type ReferencesetsGetResource = "v1" :> ("referencesets" :> (Capture "referenceSetId" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] ReferenceSet))))))))))

-- | Creates a value of <a>ReferencesetsGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rgReferenceSetId</a></li>
--   <li><a>rgXgafv</a></li>
--   <li><a>rgUploadProtocol</a></li>
--   <li><a>rgPp</a></li>
--   <li><a>rgAccessToken</a></li>
--   <li><a>rgUploadType</a></li>
--   <li><a>rgBearerToken</a></li>
--   <li><a>rgCallback</a></li>
--   </ul>
referencesetsGet :: Text -> ReferencesetsGet

-- | Gets a reference set. For the definitions of references and other
--   genomics resources, see <a>Fundamentals of Google Genomics</a>
--   Implements <a>GlobalAllianceApi.getReferenceSet</a>.
--   
--   <i>See:</i> <a>referencesetsGet</a> smart constructor.
data ReferencesetsGet

-- | The ID of the reference set.
rgReferenceSetId :: Lens' ReferencesetsGet Text

-- | V1 error format.
rgXgafv :: Lens' ReferencesetsGet (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
rgUploadProtocol :: Lens' ReferencesetsGet (Maybe Text)

-- | Pretty-print response.
rgPp :: Lens' ReferencesetsGet Bool

-- | OAuth access token.
rgAccessToken :: Lens' ReferencesetsGet (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
rgUploadType :: Lens' ReferencesetsGet (Maybe Text)

-- | OAuth bearer token.
rgBearerToken :: Lens' ReferencesetsGet (Maybe Text)

-- | JSONP
rgCallback :: Lens' ReferencesetsGet (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.Referencesets.Get.ReferencesetsGet
instance Data.Data.Data Network.Google.Resource.Genomics.Referencesets.Get.ReferencesetsGet
instance GHC.Show.Show Network.Google.Resource.Genomics.Referencesets.Get.ReferencesetsGet
instance GHC.Classes.Eq Network.Google.Resource.Genomics.Referencesets.Get.ReferencesetsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.Referencesets.Get.ReferencesetsGet


-- | Searches for reference sets which match the given criteria. For the
--   definitions of references and other genomics resources, see
--   <a>Fundamentals of Google Genomics</a> Implements
--   <a>GlobalAllianceApi.searchReferenceSets</a>
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.referencesets.search</tt>.
module Network.Google.Resource.Genomics.Referencesets.Search

-- | A resource alias for <tt>genomics.referencesets.search</tt> method
--   which the <a>ReferencesetsSearch</a> request conforms to.
type ReferencesetsSearchResource = "v1" :> ("referencesets" :> ("search" :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] SearchReferenceSetsRequest :> Post '[JSON] SearchReferenceSetsResponse)))))))))))

-- | Creates a value of <a>ReferencesetsSearch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rsXgafv</a></li>
--   <li><a>rsUploadProtocol</a></li>
--   <li><a>rsPp</a></li>
--   <li><a>rsAccessToken</a></li>
--   <li><a>rsUploadType</a></li>
--   <li><a>rsPayload</a></li>
--   <li><a>rsBearerToken</a></li>
--   <li><a>rsCallback</a></li>
--   </ul>
referencesetsSearch :: SearchReferenceSetsRequest -> ReferencesetsSearch

-- | Searches for reference sets which match the given criteria. For the
--   definitions of references and other genomics resources, see
--   <a>Fundamentals of Google Genomics</a> Implements
--   <a>GlobalAllianceApi.searchReferenceSets</a>
--   
--   <i>See:</i> <a>referencesetsSearch</a> smart constructor.
data ReferencesetsSearch

-- | V1 error format.
rsXgafv :: Lens' ReferencesetsSearch (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
rsUploadProtocol :: Lens' ReferencesetsSearch (Maybe Text)

-- | Pretty-print response.
rsPp :: Lens' ReferencesetsSearch Bool

-- | OAuth access token.
rsAccessToken :: Lens' ReferencesetsSearch (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
rsUploadType :: Lens' ReferencesetsSearch (Maybe Text)

-- | Multipart request metadata.
rsPayload :: Lens' ReferencesetsSearch SearchReferenceSetsRequest

-- | OAuth bearer token.
rsBearerToken :: Lens' ReferencesetsSearch (Maybe Text)

-- | JSONP
rsCallback :: Lens' ReferencesetsSearch (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.Referencesets.Search.ReferencesetsSearch
instance Data.Data.Data Network.Google.Resource.Genomics.Referencesets.Search.ReferencesetsSearch
instance GHC.Show.Show Network.Google.Resource.Genomics.Referencesets.Search.ReferencesetsSearch
instance GHC.Classes.Eq Network.Google.Resource.Genomics.Referencesets.Search.ReferencesetsSearch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.Referencesets.Search.ReferencesetsSearch


-- | Creates a new variant set. For the definitions of variant sets and
--   other genomics resources, see <a>Fundamentals of Google Genomics</a>
--   The 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.
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.variantsets.create</tt>.
module Network.Google.Resource.Genomics.VariantSets.Create

-- | A resource alias for <tt>genomics.variantsets.create</tt> method which
--   the <a>VariantSetsCreate</a> request conforms to.
type VariantSetsCreateResource = "v1" :> ("variantsets" :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] VariantSet :> Post '[JSON] VariantSet))))))))))

-- | Creates a value of <a>VariantSetsCreate</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vscXgafv</a></li>
--   <li><a>vscUploadProtocol</a></li>
--   <li><a>vscPp</a></li>
--   <li><a>vscAccessToken</a></li>
--   <li><a>vscUploadType</a></li>
--   <li><a>vscPayload</a></li>
--   <li><a>vscBearerToken</a></li>
--   <li><a>vscCallback</a></li>
--   </ul>
variantSetsCreate :: VariantSet -> VariantSetsCreate

-- | Creates a new variant set. For the definitions of variant sets and
--   other genomics resources, see <a>Fundamentals of Google Genomics</a>
--   The 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.
--   
--   <i>See:</i> <a>variantSetsCreate</a> smart constructor.
data VariantSetsCreate

-- | V1 error format.
vscXgafv :: Lens' VariantSetsCreate (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
vscUploadProtocol :: Lens' VariantSetsCreate (Maybe Text)

-- | Pretty-print response.
vscPp :: Lens' VariantSetsCreate Bool

-- | OAuth access token.
vscAccessToken :: Lens' VariantSetsCreate (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
vscUploadType :: Lens' VariantSetsCreate (Maybe Text)

-- | Multipart request metadata.
vscPayload :: Lens' VariantSetsCreate VariantSet

-- | OAuth bearer token.
vscBearerToken :: Lens' VariantSetsCreate (Maybe Text)

-- | JSONP
vscCallback :: Lens' VariantSetsCreate (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.VariantSets.Create.VariantSetsCreate
instance Data.Data.Data Network.Google.Resource.Genomics.VariantSets.Create.VariantSetsCreate
instance GHC.Show.Show Network.Google.Resource.Genomics.VariantSets.Create.VariantSetsCreate
instance GHC.Classes.Eq Network.Google.Resource.Genomics.VariantSets.Create.VariantSetsCreate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.VariantSets.Create.VariantSetsCreate


-- | Deletes a variant set including all variants, call sets, and calls
--   within. This is not reversible. For the definitions of variant sets
--   and other genomics resources, see <a>Fundamentals of Google
--   Genomics</a>
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.variantsets.delete</tt>.
module Network.Google.Resource.Genomics.VariantSets.Delete

-- | A resource alias for <tt>genomics.variantsets.delete</tt> method which
--   the <a>VariantSetsDelete</a> request conforms to.
type VariantSetsDeleteResource = "v1" :> ("variantsets" :> (Capture "variantSetId" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] Empty))))))))))

-- | Creates a value of <a>VariantSetsDelete</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vsdXgafv</a></li>
--   <li><a>vsdUploadProtocol</a></li>
--   <li><a>vsdPp</a></li>
--   <li><a>vsdVariantSetId</a></li>
--   <li><a>vsdAccessToken</a></li>
--   <li><a>vsdUploadType</a></li>
--   <li><a>vsdBearerToken</a></li>
--   <li><a>vsdCallback</a></li>
--   </ul>
variantSetsDelete :: Text -> VariantSetsDelete

-- | Deletes a variant set including all variants, call sets, and calls
--   within. This is not reversible. For the definitions of variant sets
--   and other genomics resources, see <a>Fundamentals of Google
--   Genomics</a>
--   
--   <i>See:</i> <a>variantSetsDelete</a> smart constructor.
data VariantSetsDelete

-- | V1 error format.
vsdXgafv :: Lens' VariantSetsDelete (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
vsdUploadProtocol :: Lens' VariantSetsDelete (Maybe Text)

-- | Pretty-print response.
vsdPp :: Lens' VariantSetsDelete Bool

-- | The ID of the variant set to be deleted.
vsdVariantSetId :: Lens' VariantSetsDelete Text

-- | OAuth access token.
vsdAccessToken :: Lens' VariantSetsDelete (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
vsdUploadType :: Lens' VariantSetsDelete (Maybe Text)

-- | OAuth bearer token.
vsdBearerToken :: Lens' VariantSetsDelete (Maybe Text)

-- | JSONP
vsdCallback :: Lens' VariantSetsDelete (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.VariantSets.Delete.VariantSetsDelete
instance Data.Data.Data Network.Google.Resource.Genomics.VariantSets.Delete.VariantSetsDelete
instance GHC.Show.Show Network.Google.Resource.Genomics.VariantSets.Delete.VariantSetsDelete
instance GHC.Classes.Eq Network.Google.Resource.Genomics.VariantSets.Delete.VariantSetsDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.VariantSets.Delete.VariantSetsDelete


-- | Exports variant set data to an external destination. For the
--   definitions of variant sets and other genomics resources, see
--   <a>Fundamentals of Google Genomics</a>
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.variantsets.export</tt>.
module Network.Google.Resource.Genomics.VariantSets.Export

-- | A resource alias for <tt>genomics.variantsets.export</tt> method which
--   the <a>VariantSetsExport</a> request conforms to.
type VariantSetsExportResource = "v1" :> ("variantsets" :> (CaptureMode "variantSetId" "export" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] ExportVariantSetRequest :> Post '[JSON] Operation)))))))))))

-- | Creates a value of <a>VariantSetsExport</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vseXgafv</a></li>
--   <li><a>vseUploadProtocol</a></li>
--   <li><a>vsePp</a></li>
--   <li><a>vseVariantSetId</a></li>
--   <li><a>vseAccessToken</a></li>
--   <li><a>vseUploadType</a></li>
--   <li><a>vsePayload</a></li>
--   <li><a>vseBearerToken</a></li>
--   <li><a>vseCallback</a></li>
--   </ul>
variantSetsExport :: Text -> ExportVariantSetRequest -> VariantSetsExport

-- | Exports variant set data to an external destination. For the
--   definitions of variant sets and other genomics resources, see
--   <a>Fundamentals of Google Genomics</a>
--   
--   <i>See:</i> <a>variantSetsExport</a> smart constructor.
data VariantSetsExport

-- | V1 error format.
vseXgafv :: Lens' VariantSetsExport (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
vseUploadProtocol :: Lens' VariantSetsExport (Maybe Text)

-- | Pretty-print response.
vsePp :: Lens' VariantSetsExport Bool

-- | 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.
vseVariantSetId :: Lens' VariantSetsExport Text

-- | OAuth access token.
vseAccessToken :: Lens' VariantSetsExport (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
vseUploadType :: Lens' VariantSetsExport (Maybe Text)

-- | Multipart request metadata.
vsePayload :: Lens' VariantSetsExport ExportVariantSetRequest

-- | OAuth bearer token.
vseBearerToken :: Lens' VariantSetsExport (Maybe Text)

-- | JSONP
vseCallback :: Lens' VariantSetsExport (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.VariantSets.Export.VariantSetsExport
instance Data.Data.Data Network.Google.Resource.Genomics.VariantSets.Export.VariantSetsExport
instance GHC.Show.Show Network.Google.Resource.Genomics.VariantSets.Export.VariantSetsExport
instance GHC.Classes.Eq Network.Google.Resource.Genomics.VariantSets.Export.VariantSetsExport
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.VariantSets.Export.VariantSetsExport


-- | Gets a variant set by ID. For the definitions of variant sets and
--   other genomics resources, see <a>Fundamentals of Google Genomics</a>
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.variantsets.get</tt>.
module Network.Google.Resource.Genomics.VariantSets.Get

-- | A resource alias for <tt>genomics.variantsets.get</tt> method which
--   the <a>VariantSetsGet</a> request conforms to.
type VariantSetsGetResource = "v1" :> ("variantsets" :> (Capture "variantSetId" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] VariantSet))))))))))

-- | Creates a value of <a>VariantSetsGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vsgXgafv</a></li>
--   <li><a>vsgUploadProtocol</a></li>
--   <li><a>vsgPp</a></li>
--   <li><a>vsgVariantSetId</a></li>
--   <li><a>vsgAccessToken</a></li>
--   <li><a>vsgUploadType</a></li>
--   <li><a>vsgBearerToken</a></li>
--   <li><a>vsgCallback</a></li>
--   </ul>
variantSetsGet :: Text -> VariantSetsGet

-- | Gets a variant set by ID. For the definitions of variant sets and
--   other genomics resources, see <a>Fundamentals of Google Genomics</a>
--   
--   <i>See:</i> <a>variantSetsGet</a> smart constructor.
data VariantSetsGet

-- | V1 error format.
vsgXgafv :: Lens' VariantSetsGet (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
vsgUploadProtocol :: Lens' VariantSetsGet (Maybe Text)

-- | Pretty-print response.
vsgPp :: Lens' VariantSetsGet Bool

-- | Required. The ID of the variant set.
vsgVariantSetId :: Lens' VariantSetsGet Text

-- | OAuth access token.
vsgAccessToken :: Lens' VariantSetsGet (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
vsgUploadType :: Lens' VariantSetsGet (Maybe Text)

-- | OAuth bearer token.
vsgBearerToken :: Lens' VariantSetsGet (Maybe Text)

-- | JSONP
vsgCallback :: Lens' VariantSetsGet (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.VariantSets.Get.VariantSetsGet
instance Data.Data.Data Network.Google.Resource.Genomics.VariantSets.Get.VariantSetsGet
instance GHC.Show.Show Network.Google.Resource.Genomics.VariantSets.Get.VariantSetsGet
instance GHC.Classes.Eq Network.Google.Resource.Genomics.VariantSets.Get.VariantSetsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.VariantSets.Get.VariantSetsGet


-- | Updates a variant set using patch semantics. For the definitions of
--   variant sets and other genomics resources, see <a>Fundamentals of
--   Google Genomics</a>
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.variantsets.patch</tt>.
module Network.Google.Resource.Genomics.VariantSets.Patch

-- | A resource alias for <tt>genomics.variantsets.patch</tt> method which
--   the <a>VariantSetsPatch</a> request conforms to.
type VariantSetsPatchResource = "v1" :> ("variantsets" :> (Capture "variantSetId" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "updateMask" FieldMask :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] VariantSet :> Patch '[JSON] VariantSet))))))))))))

-- | Creates a value of <a>VariantSetsPatch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vspXgafv</a></li>
--   <li><a>vspUploadProtocol</a></li>
--   <li><a>vspUpdateMask</a></li>
--   <li><a>vspPp</a></li>
--   <li><a>vspVariantSetId</a></li>
--   <li><a>vspAccessToken</a></li>
--   <li><a>vspUploadType</a></li>
--   <li><a>vspPayload</a></li>
--   <li><a>vspBearerToken</a></li>
--   <li><a>vspCallback</a></li>
--   </ul>
variantSetsPatch :: Text -> VariantSet -> VariantSetsPatch

-- | Updates a variant set using patch semantics. For the definitions of
--   variant sets and other genomics resources, see <a>Fundamentals of
--   Google Genomics</a>
--   
--   <i>See:</i> <a>variantSetsPatch</a> smart constructor.
data VariantSetsPatch

-- | V1 error format.
vspXgafv :: Lens' VariantSetsPatch (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
vspUploadProtocol :: Lens' VariantSetsPatch (Maybe Text)

-- | An optional mask specifying which fields to update. Supported fields:
--   * metadata. * name. * description. Leaving `updateMask` unset is
--   equivalent to specifying all mutable fields.
vspUpdateMask :: Lens' VariantSetsPatch (Maybe FieldMask)

-- | Pretty-print response.
vspPp :: Lens' VariantSetsPatch Bool

-- | The ID of the variant to be updated (must already exist).
vspVariantSetId :: Lens' VariantSetsPatch Text

-- | OAuth access token.
vspAccessToken :: Lens' VariantSetsPatch (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
vspUploadType :: Lens' VariantSetsPatch (Maybe Text)

-- | Multipart request metadata.
vspPayload :: Lens' VariantSetsPatch VariantSet

-- | OAuth bearer token.
vspBearerToken :: Lens' VariantSetsPatch (Maybe Text)

-- | JSONP
vspCallback :: Lens' VariantSetsPatch (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.VariantSets.Patch.VariantSetsPatch
instance Data.Data.Data Network.Google.Resource.Genomics.VariantSets.Patch.VariantSetsPatch
instance GHC.Show.Show Network.Google.Resource.Genomics.VariantSets.Patch.VariantSetsPatch
instance GHC.Classes.Eq Network.Google.Resource.Genomics.VariantSets.Patch.VariantSetsPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.VariantSets.Patch.VariantSetsPatch


-- | Returns a list of all variant sets matching search criteria. For the
--   definitions of variant sets and other genomics resources, see
--   <a>Fundamentals of Google Genomics</a> Implements
--   <a>GlobalAllianceApi.searchVariantSets</a>.
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.variantsets.search</tt>.
module Network.Google.Resource.Genomics.VariantSets.Search

-- | A resource alias for <tt>genomics.variantsets.search</tt> method which
--   the <a>VariantSetsSearch</a> request conforms to.
type VariantSetsSearchResource = "v1" :> ("variantsets" :> ("search" :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] SearchVariantSetsRequest :> Post '[JSON] SearchVariantSetsResponse)))))))))))

-- | Creates a value of <a>VariantSetsSearch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vssXgafv</a></li>
--   <li><a>vssUploadProtocol</a></li>
--   <li><a>vssPp</a></li>
--   <li><a>vssAccessToken</a></li>
--   <li><a>vssUploadType</a></li>
--   <li><a>vssPayload</a></li>
--   <li><a>vssBearerToken</a></li>
--   <li><a>vssCallback</a></li>
--   </ul>
variantSetsSearch :: SearchVariantSetsRequest -> VariantSetsSearch

-- | Returns a list of all variant sets matching search criteria. For the
--   definitions of variant sets and other genomics resources, see
--   <a>Fundamentals of Google Genomics</a> Implements
--   <a>GlobalAllianceApi.searchVariantSets</a>.
--   
--   <i>See:</i> <a>variantSetsSearch</a> smart constructor.
data VariantSetsSearch

-- | V1 error format.
vssXgafv :: Lens' VariantSetsSearch (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
vssUploadProtocol :: Lens' VariantSetsSearch (Maybe Text)

-- | Pretty-print response.
vssPp :: Lens' VariantSetsSearch Bool

-- | OAuth access token.
vssAccessToken :: Lens' VariantSetsSearch (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
vssUploadType :: Lens' VariantSetsSearch (Maybe Text)

-- | Multipart request metadata.
vssPayload :: Lens' VariantSetsSearch SearchVariantSetsRequest

-- | OAuth bearer token.
vssBearerToken :: Lens' VariantSetsSearch (Maybe Text)

-- | JSONP
vssCallback :: Lens' VariantSetsSearch (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.VariantSets.Search.VariantSetsSearch
instance Data.Data.Data Network.Google.Resource.Genomics.VariantSets.Search.VariantSetsSearch
instance GHC.Show.Show Network.Google.Resource.Genomics.VariantSets.Search.VariantSetsSearch
instance GHC.Classes.Eq Network.Google.Resource.Genomics.VariantSets.Search.VariantSetsSearch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.VariantSets.Search.VariantSetsSearch


-- | Creates a new variant. For the definitions of variants and other
--   genomics resources, see <a>Fundamentals of Google Genomics</a>
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.variants.create</tt>.
module Network.Google.Resource.Genomics.Variants.Create

-- | A resource alias for <tt>genomics.variants.create</tt> method which
--   the <a>VariantsCreate</a> request conforms to.
type VariantsCreateResource = "v1" :> ("variants" :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Variant :> Post '[JSON] Variant))))))))))

-- | Creates a value of <a>VariantsCreate</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vcXgafv</a></li>
--   <li><a>vcUploadProtocol</a></li>
--   <li><a>vcPp</a></li>
--   <li><a>vcAccessToken</a></li>
--   <li><a>vcUploadType</a></li>
--   <li><a>vcPayload</a></li>
--   <li><a>vcBearerToken</a></li>
--   <li><a>vcCallback</a></li>
--   </ul>
variantsCreate :: Variant -> VariantsCreate

-- | Creates a new variant. For the definitions of variants and other
--   genomics resources, see <a>Fundamentals of Google Genomics</a>
--   
--   <i>See:</i> <a>variantsCreate</a> smart constructor.
data VariantsCreate

-- | V1 error format.
vcXgafv :: Lens' VariantsCreate (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
vcUploadProtocol :: Lens' VariantsCreate (Maybe Text)

-- | Pretty-print response.
vcPp :: Lens' VariantsCreate Bool

-- | OAuth access token.
vcAccessToken :: Lens' VariantsCreate (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
vcUploadType :: Lens' VariantsCreate (Maybe Text)

-- | Multipart request metadata.
vcPayload :: Lens' VariantsCreate Variant

-- | OAuth bearer token.
vcBearerToken :: Lens' VariantsCreate (Maybe Text)

-- | JSONP
vcCallback :: Lens' VariantsCreate (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.Variants.Create.VariantsCreate
instance Data.Data.Data Network.Google.Resource.Genomics.Variants.Create.VariantsCreate
instance GHC.Show.Show Network.Google.Resource.Genomics.Variants.Create.VariantsCreate
instance GHC.Classes.Eq Network.Google.Resource.Genomics.Variants.Create.VariantsCreate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.Variants.Create.VariantsCreate


-- | Deletes a variant. For the definitions of variants and other genomics
--   resources, see <a>Fundamentals of Google Genomics</a>
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.variants.delete</tt>.
module Network.Google.Resource.Genomics.Variants.Delete

-- | A resource alias for <tt>genomics.variants.delete</tt> method which
--   the <a>VariantsDelete</a> request conforms to.
type VariantsDeleteResource = "v1" :> ("variants" :> (Capture "variantId" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] Empty))))))))))

-- | Creates a value of <a>VariantsDelete</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vdXgafv</a></li>
--   <li><a>vdUploadProtocol</a></li>
--   <li><a>vdPp</a></li>
--   <li><a>vdAccessToken</a></li>
--   <li><a>vdUploadType</a></li>
--   <li><a>vdBearerToken</a></li>
--   <li><a>vdVariantId</a></li>
--   <li><a>vdCallback</a></li>
--   </ul>
variantsDelete :: Text -> VariantsDelete

-- | Deletes a variant. For the definitions of variants and other genomics
--   resources, see <a>Fundamentals of Google Genomics</a>
--   
--   <i>See:</i> <a>variantsDelete</a> smart constructor.
data VariantsDelete

-- | V1 error format.
vdXgafv :: Lens' VariantsDelete (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
vdUploadProtocol :: Lens' VariantsDelete (Maybe Text)

-- | Pretty-print response.
vdPp :: Lens' VariantsDelete Bool

-- | OAuth access token.
vdAccessToken :: Lens' VariantsDelete (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
vdUploadType :: Lens' VariantsDelete (Maybe Text)

-- | OAuth bearer token.
vdBearerToken :: Lens' VariantsDelete (Maybe Text)

-- | The ID of the variant to be deleted.
vdVariantId :: Lens' VariantsDelete Text

-- | JSONP
vdCallback :: Lens' VariantsDelete (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.Variants.Delete.VariantsDelete
instance Data.Data.Data Network.Google.Resource.Genomics.Variants.Delete.VariantsDelete
instance GHC.Show.Show Network.Google.Resource.Genomics.Variants.Delete.VariantsDelete
instance GHC.Classes.Eq Network.Google.Resource.Genomics.Variants.Delete.VariantsDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.Variants.Delete.VariantsDelete


-- | Gets a variant by ID. For the definitions of variants and other
--   genomics resources, see <a>Fundamentals of Google Genomics</a>
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.variants.get</tt>.
module Network.Google.Resource.Genomics.Variants.Get

-- | A resource alias for <tt>genomics.variants.get</tt> method which the
--   <a>VariantsGet</a> request conforms to.
type VariantsGetResource = "v1" :> ("variants" :> (Capture "variantId" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Variant))))))))))

-- | Creates a value of <a>VariantsGet</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vgXgafv</a></li>
--   <li><a>vgUploadProtocol</a></li>
--   <li><a>vgPp</a></li>
--   <li><a>vgAccessToken</a></li>
--   <li><a>vgUploadType</a></li>
--   <li><a>vgBearerToken</a></li>
--   <li><a>vgVariantId</a></li>
--   <li><a>vgCallback</a></li>
--   </ul>
variantsGet :: Text -> VariantsGet

-- | Gets a variant by ID. For the definitions of variants and other
--   genomics resources, see <a>Fundamentals of Google Genomics</a>
--   
--   <i>See:</i> <a>variantsGet</a> smart constructor.
data VariantsGet

-- | V1 error format.
vgXgafv :: Lens' VariantsGet (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
vgUploadProtocol :: Lens' VariantsGet (Maybe Text)

-- | Pretty-print response.
vgPp :: Lens' VariantsGet Bool

-- | OAuth access token.
vgAccessToken :: Lens' VariantsGet (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
vgUploadType :: Lens' VariantsGet (Maybe Text)

-- | OAuth bearer token.
vgBearerToken :: Lens' VariantsGet (Maybe Text)

-- | The ID of the variant.
vgVariantId :: Lens' VariantsGet Text

-- | JSONP
vgCallback :: Lens' VariantsGet (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.Variants.Get.VariantsGet
instance Data.Data.Data Network.Google.Resource.Genomics.Variants.Get.VariantsGet
instance GHC.Show.Show Network.Google.Resource.Genomics.Variants.Get.VariantsGet
instance GHC.Classes.Eq Network.Google.Resource.Genomics.Variants.Get.VariantsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.Variants.Get.VariantsGet


-- | Creates variant data by asynchronously importing the provided
--   information. For the definitions of variant sets and other genomics
--   resources, see <a>Fundamentals of Google Genomics</a> The variants for
--   import will be merged with any 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. When
--   variants are merged, the call information from the new variant is
--   added to the existing variant, and Variant info fields are merged as
--   specified in infoMergeConfig. 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.
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.variants.import</tt>.
module Network.Google.Resource.Genomics.Variants.Import

-- | A resource alias for <tt>genomics.variants.import</tt> method which
--   the <a>VariantsImport</a> request conforms to.
type VariantsImportResource = "v1" :> ("variants:import" :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] ImportVariantsRequest :> Post '[JSON] Operation))))))))))

-- | Creates a value of <a>VariantsImport</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>viXgafv</a></li>
--   <li><a>viUploadProtocol</a></li>
--   <li><a>viPp</a></li>
--   <li><a>viAccessToken</a></li>
--   <li><a>viUploadType</a></li>
--   <li><a>viPayload</a></li>
--   <li><a>viBearerToken</a></li>
--   <li><a>viCallback</a></li>
--   </ul>
variantsImport :: ImportVariantsRequest -> VariantsImport

-- | Creates variant data by asynchronously importing the provided
--   information. For the definitions of variant sets and other genomics
--   resources, see <a>Fundamentals of Google Genomics</a> The variants for
--   import will be merged with any 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. When
--   variants are merged, the call information from the new variant is
--   added to the existing variant, and Variant info fields are merged as
--   specified in infoMergeConfig. 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.
--   
--   <i>See:</i> <a>variantsImport</a> smart constructor.
data VariantsImport

-- | V1 error format.
viXgafv :: Lens' VariantsImport (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
viUploadProtocol :: Lens' VariantsImport (Maybe Text)

-- | Pretty-print response.
viPp :: Lens' VariantsImport Bool

-- | OAuth access token.
viAccessToken :: Lens' VariantsImport (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
viUploadType :: Lens' VariantsImport (Maybe Text)

-- | Multipart request metadata.
viPayload :: Lens' VariantsImport ImportVariantsRequest

-- | OAuth bearer token.
viBearerToken :: Lens' VariantsImport (Maybe Text)

-- | JSONP
viCallback :: Lens' VariantsImport (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.Variants.Import.VariantsImport
instance Data.Data.Data Network.Google.Resource.Genomics.Variants.Import.VariantsImport
instance GHC.Show.Show Network.Google.Resource.Genomics.Variants.Import.VariantsImport
instance GHC.Classes.Eq Network.Google.Resource.Genomics.Variants.Import.VariantsImport
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.Variants.Import.VariantsImport


-- | Merges the given variants with existing variants. For the definitions
--   of variants and other genomics resources, see <a>Fundamentals of
--   Google Genomics</a> 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. When variants are merged, the call information from
--   the new variant is added to the existing variant. Variant info fields
--   are merged as specified in the infoMergeConfig field of the
--   MergeVariantsRequest. Please exercise caution when using this method!
--   It is easy to introduce mistakes in existing variants and difficult to
--   back out of them. For example, suppose you were trying to merge a new
--   variant with an existing one and both variants contain calls that
--   belong to callsets with the same callset ID. // Existing variant -
--   irrelevant fields trimmed for clarity { "variantSetId":
--   "10473108253681171589", "referenceName": "1", "start": "10582",
--   "referenceBases": "G", "alternateBases": [ "A" ], "calls": [ {
--   "callSetId": "10473108253681171589-0", "callSetName": "CALLSET0",
--   "genotype": [ 0, 1 ], } ] } // New variant with conflicting call
--   information { "variantSetId": "10473108253681171589", "referenceName":
--   "1", "start": "10582", "referenceBases": "G", "alternateBases": [ "A"
--   ], "calls": [ { "callSetId": "10473108253681171589-0", "callSetName":
--   "CALLSET0", "genotype": [ 1, 1 ], } ] } The resulting merged variant
--   would overwrite the existing calls with those from the new variant: {
--   "variantSetId": "10473108253681171589", "referenceName": "1", "start":
--   "10582", "referenceBases": "G", "alternateBases": [ "A" ], "calls": [
--   { "callSetId": "10473108253681171589-0", "callSetName": "CALLSET0",
--   "genotype": [ 1, 1 ], } ] } This may be the desired outcome, but it is
--   up to the user to determine if if that is indeed the case.
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.variants.merge</tt>.
module Network.Google.Resource.Genomics.Variants.Merge

-- | A resource alias for <tt>genomics.variants.merge</tt> method which the
--   <a>VariantsMerge</a> request conforms to.
type VariantsMergeResource = "v1" :> ("variants:merge" :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] MergeVariantsRequest :> Post '[JSON] Empty))))))))))

-- | Creates a value of <a>VariantsMerge</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vmXgafv</a></li>
--   <li><a>vmUploadProtocol</a></li>
--   <li><a>vmPp</a></li>
--   <li><a>vmAccessToken</a></li>
--   <li><a>vmUploadType</a></li>
--   <li><a>vmPayload</a></li>
--   <li><a>vmBearerToken</a></li>
--   <li><a>vmCallback</a></li>
--   </ul>
variantsMerge :: MergeVariantsRequest -> VariantsMerge

-- | Merges the given variants with existing variants. For the definitions
--   of variants and other genomics resources, see <a>Fundamentals of
--   Google Genomics</a> 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. When variants are merged, the call information from
--   the new variant is added to the existing variant. Variant info fields
--   are merged as specified in the infoMergeConfig field of the
--   MergeVariantsRequest. Please exercise caution when using this method!
--   It is easy to introduce mistakes in existing variants and difficult to
--   back out of them. For example, suppose you were trying to merge a new
--   variant with an existing one and both variants contain calls that
--   belong to callsets with the same callset ID. // Existing variant -
--   irrelevant fields trimmed for clarity { "variantSetId":
--   "10473108253681171589", "referenceName": "1", "start": "10582",
--   "referenceBases": "G", "alternateBases": [ "A" ], "calls": [ {
--   "callSetId": "10473108253681171589-0", "callSetName": "CALLSET0",
--   "genotype": [ 0, 1 ], } ] } // New variant with conflicting call
--   information { "variantSetId": "10473108253681171589", "referenceName":
--   "1", "start": "10582", "referenceBases": "G", "alternateBases": [ "A"
--   ], "calls": [ { "callSetId": "10473108253681171589-0", "callSetName":
--   "CALLSET0", "genotype": [ 1, 1 ], } ] } The resulting merged variant
--   would overwrite the existing calls with those from the new variant: {
--   "variantSetId": "10473108253681171589", "referenceName": "1", "start":
--   "10582", "referenceBases": "G", "alternateBases": [ "A" ], "calls": [
--   { "callSetId": "10473108253681171589-0", "callSetName": "CALLSET0",
--   "genotype": [ 1, 1 ], } ] } This may be the desired outcome, but it is
--   up to the user to determine if if that is indeed the case.
--   
--   <i>See:</i> <a>variantsMerge</a> smart constructor.
data VariantsMerge

-- | V1 error format.
vmXgafv :: Lens' VariantsMerge (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
vmUploadProtocol :: Lens' VariantsMerge (Maybe Text)

-- | Pretty-print response.
vmPp :: Lens' VariantsMerge Bool

-- | OAuth access token.
vmAccessToken :: Lens' VariantsMerge (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
vmUploadType :: Lens' VariantsMerge (Maybe Text)

-- | Multipart request metadata.
vmPayload :: Lens' VariantsMerge MergeVariantsRequest

-- | OAuth bearer token.
vmBearerToken :: Lens' VariantsMerge (Maybe Text)

-- | JSONP
vmCallback :: Lens' VariantsMerge (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.Variants.Merge.VariantsMerge
instance Data.Data.Data Network.Google.Resource.Genomics.Variants.Merge.VariantsMerge
instance GHC.Show.Show Network.Google.Resource.Genomics.Variants.Merge.VariantsMerge
instance GHC.Classes.Eq Network.Google.Resource.Genomics.Variants.Merge.VariantsMerge
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.Variants.Merge.VariantsMerge


-- | Updates a variant. For the definitions of variants and other genomics
--   resources, see <a>Fundamentals of Google Genomics</a> This method
--   supports patch semantics. Returns the modified variant without its
--   calls.
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.variants.patch</tt>.
module Network.Google.Resource.Genomics.Variants.Patch

-- | A resource alias for <tt>genomics.variants.patch</tt> method which the
--   <a>VariantsPatch</a> request conforms to.
type VariantsPatchResource = "v1" :> ("variants" :> (Capture "variantId" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "updateMask" FieldMask :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Variant :> Patch '[JSON] Variant))))))))))))

-- | Creates a value of <a>VariantsPatch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vpXgafv</a></li>
--   <li><a>vpUploadProtocol</a></li>
--   <li><a>vpUpdateMask</a></li>
--   <li><a>vpPp</a></li>
--   <li><a>vpAccessToken</a></li>
--   <li><a>vpUploadType</a></li>
--   <li><a>vpPayload</a></li>
--   <li><a>vpBearerToken</a></li>
--   <li><a>vpVariantId</a></li>
--   <li><a>vpCallback</a></li>
--   </ul>
variantsPatch :: Variant -> Text -> VariantsPatch

-- | Updates a variant. For the definitions of variants and other genomics
--   resources, see <a>Fundamentals of Google Genomics</a> This method
--   supports patch semantics. Returns the modified variant without its
--   calls.
--   
--   <i>See:</i> <a>variantsPatch</a> smart constructor.
data VariantsPatch

-- | V1 error format.
vpXgafv :: Lens' VariantsPatch (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
vpUploadProtocol :: Lens' VariantsPatch (Maybe Text)

-- | An optional mask specifying which fields to update. At this time,
--   mutable fields are names and info. Acceptable values are "names" and
--   "info". If unspecified, all mutable fields will be updated.
vpUpdateMask :: Lens' VariantsPatch (Maybe FieldMask)

-- | Pretty-print response.
vpPp :: Lens' VariantsPatch Bool

-- | OAuth access token.
vpAccessToken :: Lens' VariantsPatch (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
vpUploadType :: Lens' VariantsPatch (Maybe Text)

-- | Multipart request metadata.
vpPayload :: Lens' VariantsPatch Variant

-- | OAuth bearer token.
vpBearerToken :: Lens' VariantsPatch (Maybe Text)

-- | The ID of the variant to be updated.
vpVariantId :: Lens' VariantsPatch Text

-- | JSONP
vpCallback :: Lens' VariantsPatch (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.Variants.Patch.VariantsPatch
instance Data.Data.Data Network.Google.Resource.Genomics.Variants.Patch.VariantsPatch
instance GHC.Show.Show Network.Google.Resource.Genomics.Variants.Patch.VariantsPatch
instance GHC.Classes.Eq Network.Google.Resource.Genomics.Variants.Patch.VariantsPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.Variants.Patch.VariantsPatch


-- | Gets a list of variants matching the criteria. For the definitions of
--   variants and other genomics resources, see <a>Fundamentals of Google
--   Genomics</a> Implements <a>GlobalAllianceApi.searchVariants</a>.
--   
--   <i>See:</i> <a>Genomics API Reference</a> for
--   <tt>genomics.variants.search</tt>.
module Network.Google.Resource.Genomics.Variants.Search

-- | A resource alias for <tt>genomics.variants.search</tt> method which
--   the <a>VariantsSearch</a> request conforms to.
type VariantsSearchResource = "v1" :> ("variants" :> ("search" :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] SearchVariantsRequest :> Post '[JSON] SearchVariantsResponse)))))))))))

-- | Creates a value of <a>VariantsSearch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vsXgafv</a></li>
--   <li><a>vsUploadProtocol</a></li>
--   <li><a>vsPp</a></li>
--   <li><a>vsAccessToken</a></li>
--   <li><a>vsUploadType</a></li>
--   <li><a>vsPayload</a></li>
--   <li><a>vsBearerToken</a></li>
--   <li><a>vsCallback</a></li>
--   </ul>
variantsSearch :: SearchVariantsRequest -> VariantsSearch

-- | Gets a list of variants matching the criteria. For the definitions of
--   variants and other genomics resources, see <a>Fundamentals of Google
--   Genomics</a> Implements <a>GlobalAllianceApi.searchVariants</a>.
--   
--   <i>See:</i> <a>variantsSearch</a> smart constructor.
data VariantsSearch

-- | V1 error format.
vsXgafv :: Lens' VariantsSearch (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
vsUploadProtocol :: Lens' VariantsSearch (Maybe Text)

-- | Pretty-print response.
vsPp :: Lens' VariantsSearch Bool

-- | OAuth access token.
vsAccessToken :: Lens' VariantsSearch (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
vsUploadType :: Lens' VariantsSearch (Maybe Text)

-- | Multipart request metadata.
vsPayload :: Lens' VariantsSearch SearchVariantsRequest

-- | OAuth bearer token.
vsBearerToken :: Lens' VariantsSearch (Maybe Text)

-- | JSONP
vsCallback :: Lens' VariantsSearch (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Genomics.Variants.Search.VariantsSearch
instance Data.Data.Data Network.Google.Resource.Genomics.Variants.Search.VariantsSearch
instance GHC.Show.Show Network.Google.Resource.Genomics.Variants.Search.VariantsSearch
instance GHC.Classes.Eq Network.Google.Resource.Genomics.Variants.Search.VariantsSearch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Genomics.Variants.Search.VariantsSearch


-- | Upload, process, query, and search Genomics data in the cloud.
--   
--   <i>See:</i> <a>Genomics API Reference</a>
module Network.Google.Genomics

-- | Default request referring to version <tt>v1</tt> of the Genomics API.
--   This contains the host and root path used as a starting point for
--   constructing service requests.
genomicsService :: ServiceConfig

-- | View and manage Genomics data
genomicsScope :: Proxy '["https://www.googleapis.com/auth/genomics"]

-- | View and manage your data across Google Cloud Platform services
cloudPlatformScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform"]

-- | View Genomics data
genomicsReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/genomics.readonly"]

-- | Manage your data in Google Cloud Storage
storageReadWriteScope :: Proxy '["https://www.googleapis.com/auth/devstorage.read_write"]

-- | View and manage your data in Google BigQuery
bigQueryScope :: Proxy '["https://www.googleapis.com/auth/bigquery"]

-- | Represents the entirety of the methods and resources available for the
--   Genomics API service.
type GenomicsAPI = AnnotationsGetResource :<|> (AnnotationsCreateResource :<|> (AnnotationsBatchCreateResource :<|> (AnnotationsSearchResource :<|> (AnnotationsDeleteResource :<|> (AnnotationsUpdateResource :<|> (VariantsPatchResource :<|> (VariantsGetResource :<|> (VariantsCreateResource :<|> (VariantsImportResource :<|> (VariantsMergeResource :<|> (VariantsSearchResource :<|> (VariantsDeleteResource :<|> (ReferencesBasesListResource :<|> (ReferencesGetResource :<|> (ReferencesSearchResource :<|> (VariantSetsExportResource :<|> (VariantSetsPatchResource :<|> (VariantSetsGetResource :<|> (VariantSetsCreateResource :<|> (VariantSetsSearchResource :<|> (VariantSetsDeleteResource :<|> (AnnotationSetsGetResource :<|> (AnnotationSetsCreateResource :<|> (AnnotationSetsSearchResource :<|> (AnnotationSetsDeleteResource :<|> (AnnotationSetsUpdateResource :<|> (ReadGroupSetsCoverageBucketsListResource :<|> (ReadGroupSetsExportResource :<|> (ReadGroupSetsPatchResource :<|> (ReadGroupSetsGetResource :<|> (ReadGroupSetsImportResource :<|> (ReadGroupSetsSearchResource :<|> (ReadGroupSetsDeleteResource :<|> (ReferencesetsGetResource :<|> (ReferencesetsSearchResource :<|> (CallSetsPatchResource :<|> (CallSetsGetResource :<|> (CallSetsCreateResource :<|> (CallSetsSearchResource :<|> (CallSetsDeleteResource :<|> (OperationsListResource :<|> (OperationsGetResource :<|> (OperationsCancelResource :<|> (ReadsSearchResource :<|> (DataSetsListResource :<|> (DataSetsUndeleteResource :<|> (DataSetsGetIAMPolicyResource :<|> (DataSetsPatchResource :<|> (DataSetsGetResource :<|> (DataSetsCreateResource :<|> (DataSetsSetIAMPolicyResource :<|> (DataSetsTestIAMPermissionsResource :<|> DataSetsDeleteResource))))))))))))))))))))))))))))))))))))))))))))))))))))

-- | A mapping between info field keys and the InfoMergeOperations to be
--   performed on them. This is plumbed down to the MergeVariantRequests
--   generated by the resulting import job.
--   
--   <i>See:</i> <a>importVariantsRequestInfoMergeConfig</a> smart
--   constructor.
data ImportVariantsRequestInfoMergeConfig

-- | Creates a value of <a>ImportVariantsRequestInfoMergeConfig</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ivrimcAddtional</a></li>
--   </ul>
importVariantsRequestInfoMergeConfig :: HashMap Text Text -> ImportVariantsRequestInfoMergeConfig
ivrimcAddtional :: Lens' ImportVariantsRequestInfoMergeConfig (HashMap Text Text)

-- | A map of additional read alignment information. This must be of the
--   form map (string key mapping to a list of string values).
--   
--   <i>See:</i> <a>readInfo</a> smart constructor.
data ReadInfo

-- | Creates a value of <a>ReadInfo</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>riAddtional</a></li>
--   </ul>
readInfo :: HashMap Text [JSONValue] -> ReadInfo
riAddtional :: Lens' ReadInfo (HashMap Text [JSONValue])
data Exon

-- | Creates a value of <a>Exon</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eStart</a></li>
--   <li><a>eEnd</a></li>
--   <li><a>eFrame</a></li>
--   </ul>
exon :: Exon

-- | 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.
eStart :: Lens' Exon (Maybe Int64)

-- | 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.
eEnd :: Lens' Exon (Maybe Int64)

-- | 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.reverse_strand). 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.
eFrame :: Lens' Exon (Maybe Int32)

-- | The `Status` type defines a logical error model that is suitable for
--   different programming environments, including REST APIs and RPC APIs.
--   It is used by <a>gRPC</a>. The error model is designed to be: - Simple
--   to use and understand for most users - Flexible enough to meet
--   unexpected needs # Overview The `Status` message contains three pieces
--   of data: error code, error message, and error details. The error code
--   should be an enum value of google.rpc.Code, but it may accept
--   additional error codes if needed. The error message should be a
--   developer-facing English message that helps developers *understand*
--   and *resolve* the error. If a localized user-facing error message is
--   needed, put the localized message in the error details or localize it
--   in the client. The optional error details may contain arbitrary
--   information about the error. There is a predefined set of error detail
--   types in the package `google.rpc` which can be used for common error
--   conditions. # Language mapping The `Status` message is the logical
--   representation of the error model, but it is not necessarily the
--   actual wire format. When the `Status` message is exposed in different
--   client libraries and different wire protocols, it can be mapped
--   differently. For example, it will likely be mapped to some exceptions
--   in Java, but more likely mapped to some error codes in C. # Other uses
--   The error model and the `Status` message can be used in a variety of
--   environments, either with or without APIs, to provide a consistent
--   developer experience across different environments. Example uses of
--   this error model include: - Partial errors. If a service needs to
--   return partial errors to the client, it may embed the `Status` in the
--   normal response to indicate the partial errors. - Workflow errors. A
--   typical workflow has multiple steps. Each step may have a `Status`
--   message for error reporting purpose. - Batch operations. If a client
--   uses batch request and batch response, the `Status` message should be
--   used directly inside batch response, one for each error sub-response.
--   - Asynchronous operations. If an API call embeds asynchronous
--   operation results in its response, the status of those operations
--   should be represented directly using the `Status` message. - Logging.
--   If some API errors are stored in logs, the message `Status` could be
--   used directly after any stripping needed for security/privacy reasons.
--   
--   <i>See:</i> <a>status</a> smart constructor.
data Status

-- | Creates a value of <a>Status</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sDetails</a></li>
--   <li><a>sCode</a></li>
--   <li><a>sMessage</a></li>
--   </ul>
status :: Status

-- | A list of messages that carry the error details. There will be a
--   common set of message types for APIs to use.
sDetails :: Lens' Status [StatusDetailsItem]

-- | The status code, which should be an enum value of google.rpc.Code.
sCode :: Lens' Status (Maybe Int32)

-- | A developer-facing error message, which should be in English. Any
--   user-facing error message should be localized and sent in the
--   google.rpc.Status.details field, or localized by the client.
sMessage :: Lens' Status (Maybe Text)

-- | An OperationMetadata object. This will always be returned with the
--   Operation.
--   
--   <i>See:</i> <a>operationSchema</a> smart constructor.
data OperationSchema

-- | Creates a value of <a>OperationSchema</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>osAddtional</a></li>
--   </ul>
operationSchema :: HashMap Text JSONValue -> OperationSchema

-- | Properties of the object. Contains field 'type with type URL.
osAddtional :: Lens' OperationSchema (HashMap Text JSONValue)

-- | Effect of the variant on the coding sequence.
data VariantAnnotationEffect

-- | <pre>
--   EFFECT_UNSPECIFIED
--   </pre>
EffectUnspecified :: VariantAnnotationEffect

-- | <tt>EFFECT_OTHER</tt> `EFFECT_OTHER` should be used when no other
--   Effect will suffice.
EffectOther :: VariantAnnotationEffect

-- | <tt>FRAMESHIFT</tt> `FRAMESHIFT` indicates a mutation in which the
--   insertion or deletion of nucleotides resulted in a frameshift change.
Frameshift :: VariantAnnotationEffect

-- | <tt>FRAME_PRESERVING_INDEL</tt> `FRAME_PRESERVING_INDEL` indicates a
--   mutation in which a multiple of three nucleotides has been inserted or
--   deleted, resulting in no change to the reading frame of the coding
--   sequence.
FramePreservingIndel :: VariantAnnotationEffect

-- | <tt>SYNONYMOUS_SNP</tt> `SYNONYMOUS_SNP` indicates a single nucleotide
--   polymorphism mutation that results in no amino acid change.
SynonymousSnp :: VariantAnnotationEffect

-- | <tt>NONSYNONYMOUS_SNP</tt> `NONSYNONYMOUS_SNP` indicates a single
--   nucleotide polymorphism mutation that results in an amino acid change.
NonsynonymousSnp :: VariantAnnotationEffect

-- | <tt>STOP_GAIN</tt> `STOP_GAIN` indicates a mutation that leads to the
--   creation of a stop codon at the variant site. Frameshift mutations
--   creating downstream stop codons do not count as `STOP_GAIN`.
StopGain :: VariantAnnotationEffect

-- | <tt>STOP_LOSS</tt> `STOP_LOSS` indicates a mutation that eliminates a
--   stop codon at the variant site.
StopLoss :: VariantAnnotationEffect

-- | <tt>SPLICE_SITE_DISRUPTION</tt> `SPLICE_SITE_DISRUPTION` indicates
--   that this variant is found in a splice site for the associated
--   transcript, and alters the normal splicing pattern.
SpliceSiteDisruption :: VariantAnnotationEffect

-- | 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. For more genomics
--   resource definitions, see <a>Fundamentals of Google Genomics</a> 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.
--   
--   <i>See:</i> <a>variant</a> smart constructor.
data Variant

-- | Creates a value of <a>Variant</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vVariantSetId</a></li>
--   <li><a>vCreated</a></li>
--   <li><a>vStart</a></li>
--   <li><a>vAlternateBases</a></li>
--   <li><a>vReferenceName</a></li>
--   <li><a>vNames</a></li>
--   <li><a>vEnd</a></li>
--   <li><a>vReferenceBases</a></li>
--   <li><a>vId</a></li>
--   <li><a>vQuality</a></li>
--   <li><a>vFilter</a></li>
--   <li><a>vInfo</a></li>
--   <li><a>vCalls</a></li>
--   </ul>
variant :: Variant

-- | The ID of the variant set this variant belongs to.
vVariantSetId :: Lens' Variant (Maybe Text)

-- | The date this variant was created, in milliseconds from the epoch.
vCreated :: Lens' Variant (Maybe Int64)

-- | The position at which this variant occurs (0-based). This corresponds
--   to the first base of the string of reference bases.
vStart :: Lens' Variant (Maybe Int64)

-- | The bases that appear instead of the reference bases.
vAlternateBases :: Lens' Variant [Text]

-- | The reference on which this variant occurs. (such as `chr20` or `X`)
vReferenceName :: Lens' Variant (Maybe Text)

-- | Names for the variant, for example a RefSNP ID.
vNames :: Lens' Variant [Text]

-- | 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.
vEnd :: Lens' Variant (Maybe Int64)

-- | The reference bases for this variant. They start at the given
--   position.
vReferenceBases :: Lens' Variant (Maybe Text)

-- | The server-generated variant ID, unique across all variants.
vId :: Lens' Variant (Maybe Text)

-- | A measure of how likely this variant is to be real. A higher value is
--   better.
vQuality :: Lens' Variant (Maybe Double)

-- | A list of filters (normally quality filters) this variant has failed.
--   `PASS` indicates this variant has passed all filters.
vFilter :: Lens' Variant [Text]

-- | A map of additional variant information. This must be of the form map
--   (string key mapping to a list of string values).
vInfo :: Lens' Variant (Maybe VariantInfo)

-- | The variant calls for this particular variant. Each one represents the
--   determination of genotype with respect to this variant.
vCalls :: Lens' Variant [VariantCall]

-- | 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. 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`.
--   
--   <i>See:</i> <a>annotation</a> smart constructor.
data Annotation

-- | Creates a value of <a>Annotation</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aVariant</a></li>
--   <li><a>aAnnotationSetId</a></li>
--   <li><a>aStart</a></li>
--   <li><a>aReverseStrand</a></li>
--   <li><a>aReferenceId</a></li>
--   <li><a>aReferenceName</a></li>
--   <li><a>aName</a></li>
--   <li><a>aEnd</a></li>
--   <li><a>aId</a></li>
--   <li><a>aType</a></li>
--   <li><a>aTranscript</a></li>
--   <li><a>aInfo</a></li>
--   </ul>
annotation :: 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`.
aVariant :: Lens' Annotation (Maybe VariantAnnotation)

-- | The annotation set to which this annotation belongs.
aAnnotationSetId :: Lens' Annotation (Maybe Text)

-- | The start position of the range on the reference, 0-based inclusive.
aStart :: Lens' Annotation (Maybe Int64)

-- | 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.
aReverseStrand :: Lens' Annotation (Maybe Bool)

-- | The ID of the Google Genomics reference associated with this range.
aReferenceId :: Lens' Annotation (Maybe Text)

-- | The display name corresponding to the reference specified by
--   `referenceId`, for example `chr1`, `1`, or `chrX`.
aReferenceName :: Lens' Annotation (Maybe Text)

-- | The display name of this annotation.
aName :: Lens' Annotation (Maybe Text)

-- | The end position of the range on the reference, 0-based exclusive.
aEnd :: Lens' Annotation (Maybe Int64)

-- | The server-generated annotation ID, unique across all annotations.
aId :: Lens' Annotation (Maybe Text)

-- | The data type for this annotation. Must match the containing
--   annotation set's type.
aType :: Lens' Annotation (Maybe AnnotationType)

-- | 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`.
aTranscript :: Lens' Annotation (Maybe Transcript)

-- | A map of additional read alignment information. This must be of the
--   form map (string key mapping to a list of string values).
aInfo :: Lens' Annotation (Maybe AnnotationInfo)
data ListBasesResponse

-- | Creates a value of <a>ListBasesResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lbrNextPageToken</a></li>
--   <li><a>lbrOffSet</a></li>
--   <li><a>lbrSequence</a></li>
--   </ul>
listBasesResponse :: ListBasesResponse

-- | 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.
lbrNextPageToken :: Lens' ListBasesResponse (Maybe Text)

-- | 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.
lbrOffSet :: Lens' ListBasesResponse (Maybe Int64)

-- | A substring of the bases that make up this reference.
lbrSequence :: Lens' ListBasesResponse (Maybe Text)

-- | The response message for Operations.ListOperations.
--   
--   <i>See:</i> <a>listOperationsResponse</a> smart constructor.
data ListOperationsResponse

-- | Creates a value of <a>ListOperationsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lorNextPageToken</a></li>
--   <li><a>lorOperations</a></li>
--   </ul>
listOperationsResponse :: ListOperationsResponse

-- | The standard List next-page token.
lorNextPageToken :: Lens' ListOperationsResponse (Maybe Text)

-- | A list of operations that matches the specified filter in the request.
lorOperations :: Lens' ListOperationsResponse [Operation]

-- | Request message for `GetIamPolicy` method.
--   
--   <i>See:</i> <a>getIAMPolicyRequest</a> smart constructor.
data GetIAMPolicyRequest

-- | Creates a value of <a>GetIAMPolicyRequest</a> with the minimum fields
--   required to make a request.
getIAMPolicyRequest :: GetIAMPolicyRequest

-- | The request message for Operations.CancelOperation.
--   
--   <i>See:</i> <a>cancelOperationRequest</a> smart constructor.
data CancelOperationRequest

-- | Creates a value of <a>CancelOperationRequest</a> with the minimum
--   fields required to make a request.
cancelOperationRequest :: CancelOperationRequest

-- | A Dataset is a collection of genomic data. For more genomics resource
--   definitions, see <a>Fundamentals of Google Genomics</a>
--   
--   <i>See:</i> <a>dataSet</a> smart constructor.
data DataSet

-- | Creates a value of <a>DataSet</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsName</a></li>
--   <li><a>dsId</a></li>
--   <li><a>dsProjectId</a></li>
--   <li><a>dsCreateTime</a></li>
--   </ul>
dataSet :: DataSet

-- | The dataset name.
dsName :: Lens' DataSet (Maybe Text)

-- | The server-generated dataset ID, unique across all datasets.
dsId :: Lens' DataSet (Maybe Text)

-- | The Google Cloud project ID that this dataset belongs to.
dsProjectId :: Lens' DataSet (Maybe Text)

-- | The time this dataset was created, in seconds from the epoch.
dsCreateTime :: Lens' DataSet (Maybe UTCTime)

-- | 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. For
--   more genomics resource definitions, see <a>Fundamentals of Google
--   Genomics</a> ### Reverse-stranded reads Mapped reads (reads having a
--   non-null `alignment`) can be aligned to either the forward or the
--   reverse strand of their associated reference. Strandedness of a mapped
--   read is encoded by `alignment.position.reverseStrand`. If we consider
--   the reference to be a forward-stranded coordinate space of `[0,
--   reference.length)` with `0` as the left-most position and
--   `reference.length` as the right-most position, reads are always
--   aligned left to right. That is, `alignment.position.position` always
--   refers to the left-most reference coordinate and `alignment.cigar`
--   describes the alignment of this read to the reference from left to
--   right. All per-base fields such as `alignedSequence` and
--   `alignedQuality` share this same left-to-right orientation; this is
--   true of reads which are aligned to either strand. For reverse-stranded
--   reads, this means that `alignedSequence` is the reverse complement of
--   the bases that were originally reported by the sequencing machine. ###
--   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: out = "" 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 ###
--   Converting 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). cigarMap = {
--   "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
--   
--   <i>See:</i> <a>read'</a> smart constructor.
data Read'

-- | Creates a value of <a>Read</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rFragmentLength</a></li>
--   <li><a>rDuplicateFragment</a></li>
--   <li><a>rReadGroupSetId</a></li>
--   <li><a>rNextMatePosition</a></li>
--   <li><a>rFailedVendorQualityChecks</a></li>
--   <li><a>rAlignment</a></li>
--   <li><a>rFragmentName</a></li>
--   <li><a>rNumberReads</a></li>
--   <li><a>rId</a></li>
--   <li><a>rSecondaryAlignment</a></li>
--   <li><a>rReadGroupId</a></li>
--   <li><a>rSupplementaryAlignment</a></li>
--   <li><a>rAlignedSequence</a></li>
--   <li><a>rProperPlacement</a></li>
--   <li><a>rInfo</a></li>
--   <li><a>rReadNumber</a></li>
--   <li><a>rAlignedQuality</a></li>
--   </ul>
read' :: Read'

-- | The observed length of the fragment, equivalent to TLEN in SAM.
rFragmentLength :: Lens' Read' (Maybe Int32)

-- | The fragment is a PCR or optical duplicate (SAM flag 0x400).
rDuplicateFragment :: Lens' Read' (Maybe Bool)

-- | The ID of the read group set this read belongs to. A read belongs to
--   exactly one read group set.
rReadGroupSetId :: Lens' Read' (Maybe Text)

-- | The mapping of the primary alignment of the
--   `(readNumber+1)%numberReads` read in the fragment. It replaces mate
--   position and mate strand in SAM.
rNextMatePosition :: Lens' Read' (Maybe Position)

-- | Whether this read did not pass filters, such as platform or vendor
--   quality controls (SAM flag 0x200).
rFailedVendorQualityChecks :: Lens' Read' (Maybe Bool)

-- | The linear alignment for this alignment record. This field is null for
--   unmapped reads.
rAlignment :: Lens' Read' (Maybe LinearAlignment)

-- | The fragment name. Equivalent to QNAME (query template name) in SAM.
rFragmentName :: Lens' Read' (Maybe Text)

-- | The number of reads in the fragment (extension to SAM flag 0x1).
rNumberReads :: Lens' Read' (Maybe Int32)

-- | The server-generated read ID, unique across all reads. This is
--   different from the `fragmentName`.
rId :: Lens' Read' (Maybe Text)

-- | 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.
rSecondaryAlignment :: Lens' Read' (Maybe Bool)

-- | The ID of the read group this read belongs to. A read belongs to
--   exactly one read group. This is a server-generated ID which is
--   distinct from SAM's RG tag (for that value, see ReadGroup.name).
rReadGroupId :: Lens' Read' (Maybe Text)

-- | 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.
rSupplementaryAlignment :: Lens' Read' (Maybe Bool)

-- | The bases of the read sequence contained in this alignment record,
--   **without CIGAR operations applied** (equivalent to SEQ in SAM).
--   `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.
rAlignedSequence :: Lens' Read' (Maybe Text)

-- | The orientation and the distance between reads from the fragment are
--   consistent with the sequencing protocol (SAM flag 0x2).
rProperPlacement :: Lens' Read' (Maybe Bool)

-- | A map of additional read alignment information. This must be of the
--   form map (string key mapping to a list of string values).
rInfo :: Lens' Read' (Maybe ReadInfo)

-- | The read number in sequencing. 0-based and less than numberReads. This
--   field replaces SAM flag 0x40 and 0x80.
rReadNumber :: Lens' Read' (Maybe Int32)

-- | The quality of the read sequence contained in this alignment record
--   (equivalent to QUAL in SAM). `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.
rAlignedQuality :: Lens' Read' [Int32]

-- | Optionally provided by the caller when submitting the request that
--   creates the operation.
--   
--   <i>See:</i> <a>operationMetadataLabels</a> smart constructor.
data OperationMetadataLabels

-- | Creates a value of <a>OperationMetadataLabels</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>omlAddtional</a></li>
--   </ul>
operationMetadataLabels :: HashMap Text Text -> OperationMetadataLabels
omlAddtional :: Lens' OperationMetadataLabels (HashMap Text Text)

-- | 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.
--   
--   <i>See:</i> <a>variantCall</a> smart constructor.
data VariantCall

-- | Creates a value of <a>VariantCall</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vcGenotypeLikelihood</a></li>
--   <li><a>vcCallSetName</a></li>
--   <li><a>vcPhaseset</a></li>
--   <li><a>vcCallSetId</a></li>
--   <li><a>vcGenotype</a></li>
--   <li><a>vcInfo</a></li>
--   </ul>
variantCall :: VariantCall

-- | 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`.
vcGenotypeLikelihood :: Lens' VariantCall [Double]

-- | The name of the call set this variant call belongs to.
vcCallSetName :: Lens' VariantCall (Maybe Text)

-- | 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 `*`.
vcPhaseset :: Lens' VariantCall (Maybe Text)

-- | The ID of the call set this variant call belongs to.
vcCallSetId :: Lens' VariantCall (Maybe Text)

-- | 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.
vcGenotype :: Lens' VariantCall [Int32]

-- | A map of additional variant call information. This must be of the form
--   map (string key mapping to a list of string values).
vcInfo :: Lens' VariantCall (Maybe VariantCallInfo)
data BatchCreateAnnotationsRequest

-- | Creates a value of <a>BatchCreateAnnotationsRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bcarAnnotations</a></li>
--   <li><a>bcarRequestId</a></li>
--   </ul>
batchCreateAnnotationsRequest :: BatchCreateAnnotationsRequest

-- | The annotations to be created. At most 4096 can be specified in a
--   single request.
bcarAnnotations :: Lens' BatchCreateAnnotationsRequest [Annotation]

-- | A unique request ID which enables the server to detect duplicated
--   requests. If provided, duplicated requests will result in the same
--   response; if not provided, duplicated requests may result in
--   duplicated data. For a given annotation set, callers should not reuse
--   `request_id`s when writing different batches of annotations - behavior
--   in this case is undefined. A common approach is to use a UUID. For
--   batch jobs where worker crashes are a possibility, consider using some
--   unique variant of a worker or run ID.
bcarRequestId :: Lens' BatchCreateAnnotationsRequest (Maybe Text)
data MergeVariantsRequest

-- | Creates a value of <a>MergeVariantsRequest</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mvrVariants</a></li>
--   <li><a>mvrVariantSetId</a></li>
--   <li><a>mvrInfoMergeConfig</a></li>
--   </ul>
mergeVariantsRequest :: MergeVariantsRequest

-- | The variants to be merged with existing variants.
mvrVariants :: Lens' MergeVariantsRequest [Variant]

-- | The destination variant set.
mvrVariantSetId :: Lens' MergeVariantsRequest (Maybe Text)

-- | A mapping between info field keys and the InfoMergeOperations to be
--   performed on them.
mvrInfoMergeConfig :: Lens' MergeVariantsRequest (Maybe MergeVariantsRequestInfoMergeConfig)

-- | A read group is all the data that's processed the same way by the
--   sequencer.
--   
--   <i>See:</i> <a>readGroup</a> smart constructor.
data ReadGroup

-- | Creates a value of <a>ReadGroup</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>reaReferenceSetId</a></li>
--   <li><a>reaPrograms</a></li>
--   <li><a>reaExperiment</a></li>
--   <li><a>reaName</a></li>
--   <li><a>reaDataSetId</a></li>
--   <li><a>reaId</a></li>
--   <li><a>reaSampleId</a></li>
--   <li><a>reaPredictedInsertSize</a></li>
--   <li><a>reaDescription</a></li>
--   <li><a>reaInfo</a></li>
--   </ul>
readGroup :: ReadGroup

-- | The reference set the reads in this read group are aligned to.
reaReferenceSetId :: Lens' ReadGroup (Maybe Text)

-- | 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.
reaPrograms :: Lens' ReadGroup [Program]

-- | The experiment used to generate this read group.
reaExperiment :: Lens' ReadGroup (Maybe Experiment)

-- | The read group name. This corresponds to the 'RG ID field in the SAM
--   spec.
reaName :: Lens' ReadGroup (Maybe Text)

-- | The dataset to which this read group belongs.
reaDataSetId :: Lens' ReadGroup (Maybe Text)

-- | The server-generated read group ID, unique for all read groups. Note:
--   This is different than the 'RG ID field in the SAM spec. For that
--   value, see name.
reaId :: Lens' ReadGroup (Maybe Text)

-- | A client-supplied sample identifier for the reads in this read group.
reaSampleId :: Lens' ReadGroup (Maybe Text)

-- | 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.
reaPredictedInsertSize :: Lens' ReadGroup (Maybe Int32)

-- | A free-form text description of this read group.
reaDescription :: Lens' ReadGroup (Maybe Text)

-- | A map of additional read group information. This must be of the form
--   map (string key mapping to a list of string values).
reaInfo :: Lens' ReadGroup (Maybe ReadGroupInfo)

-- | This resource represents a long-running operation that is the result
--   of a network API call.
--   
--   <i>See:</i> <a>operation</a> smart constructor.
data Operation

-- | Creates a value of <a>Operation</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oDone</a></li>
--   <li><a>oError</a></li>
--   <li><a>oResponse</a></li>
--   <li><a>oName</a></li>
--   <li><a>oMetadata</a></li>
--   </ul>
operation :: Operation

-- | If the value is `false`, it means the operation is still in progress.
--   If true, the operation is completed, and either `error` or `response`
--   is available.
oDone :: Lens' Operation (Maybe Bool)

-- | The error result of the operation in case of failure or cancellation.
oError :: Lens' Operation (Maybe Status)

-- | If importing ReadGroupSets, an ImportReadGroupSetsResponse is
--   returned. If importing Variants, an ImportVariantsResponse is
--   returned. For pipelines and exports, an empty response is returned.
oResponse :: Lens' Operation (Maybe OperationResponse)

-- | The server-assigned name, which is only unique within the same service
--   that originally returns it. For example:
--   `operations/CJHU7Oi_ChDrveSpBRjfuL-qzoWAgEw`
oName :: Lens' Operation (Maybe Text)

-- | An OperationMetadata object. This will always be returned with the
--   Operation.
oMetadata :: Lens' Operation (Maybe OperationSchema)
data SearchReferenceSetsRequest

-- | Creates a value of <a>SearchReferenceSetsRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>srsrMD5checksums</a></li>
--   <li><a>srsrAccessions</a></li>
--   <li><a>srsrPageToken</a></li>
--   <li><a>srsrAssemblyId</a></li>
--   <li><a>srsrPageSize</a></li>
--   </ul>
searchReferenceSetsRequest :: SearchReferenceSetsRequest

-- | If present, return reference sets for which the md5checksum matches
--   exactly.
srsrMD5checksums :: Lens' SearchReferenceSetsRequest [Text]

-- | If present, return reference sets for which a prefix of any of
--   sourceAccessions match any of these strings. Accession numbers
--   typically have a main number and a version, for example
--   `NC_000001.11`.
srsrAccessions :: Lens' SearchReferenceSetsRequest [Text]

-- | 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.
srsrPageToken :: Lens' SearchReferenceSetsRequest (Maybe Text)

-- | If present, return reference sets for which a substring of their
--   `assemblyId` matches this string (case insensitive).
srsrAssemblyId :: Lens' SearchReferenceSetsRequest (Maybe Text)

-- | The maximum number of results to return in a single page. If
--   unspecified, defaults to 1024. The maximum value is 4096.
srsrPageSize :: Lens' SearchReferenceSetsRequest (Maybe Int32)

-- | A generic empty message that you can re-use to avoid defining
--   duplicated empty messages in your APIs. A typical example is to use it
--   as the request or the response type of an API method. For instance:
--   service Foo { rpc Bar(google.protobuf.Empty) returns
--   (google.protobuf.Empty); } The JSON representation for `Empty` is
--   empty JSON object `{}`.
--   
--   <i>See:</i> <a>empty</a> smart constructor.
data Empty

-- | Creates a value of <a>Empty</a> with the minimum fields required to
--   make a request.
empty :: Empty

-- | The type of annotations contained within this set.
data AnnotationSetType

-- | <pre>
--   ANNOTATION_TYPE_UNSPECIFIED
--   </pre>
ASTAnnotationTypeUnspecified :: AnnotationSetType

-- | <tt>GENERIC</tt> A `GENERIC` annotation type should be used when no
--   other annotation type will suffice. This represents an untyped
--   annotation of the reference genome.
ASTGeneric :: AnnotationSetType

-- | <tt>VARIANT</tt> A `VARIANT` annotation type.
ASTVariant :: AnnotationSetType

-- | <tt>GENE</tt> A `GENE` annotation type represents the existence of a
--   gene at the associated reference coordinates. The start coordinate is
--   typically the gene's transcription start site and the end is typically
--   the end of the gene's last exon.
ASTGene :: AnnotationSetType

-- | <tt>TRANSCRIPT</tt> A `TRANSCRIPT` annotation type represents the
--   assertion that a particular region of the reference genome may be
--   transcribed as RNA.
ASTTranscript :: AnnotationSetType
data SearchReferencesResponse

-- | Creates a value of <a>SearchReferencesResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>srrNextPageToken</a></li>
--   <li><a>srrReferences</a></li>
--   </ul>
searchReferencesResponse :: SearchReferencesResponse

-- | 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.
srrNextPageToken :: Lens' SearchReferencesResponse (Maybe Text)

-- | The matching references.
srrReferences :: Lens' SearchReferencesResponse [Reference]

-- | 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.
--   
--   <i>See:</i> <a>variantSetMetadata</a> smart constructor.
data VariantSetMetadata

-- | Creates a value of <a>VariantSetMetadata</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vsmValue</a></li>
--   <li><a>vsmKey</a></li>
--   <li><a>vsmId</a></li>
--   <li><a>vsmType</a></li>
--   <li><a>vsmNumber</a></li>
--   <li><a>vsmDescription</a></li>
--   <li><a>vsmInfo</a></li>
--   </ul>
variantSetMetadata :: VariantSetMetadata

-- | The value field for simple metadata
vsmValue :: Lens' VariantSetMetadata (Maybe Text)

-- | The top-level key.
vsmKey :: Lens' VariantSetMetadata (Maybe Text)

-- | 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.
vsmId :: Lens' VariantSetMetadata (Maybe Text)

-- | The type of data. Possible types include: Integer, Float, Flag,
--   Character, and String.
vsmType :: Lens' VariantSetMetadata (Maybe VariantSetMetadataType)

-- | The number of values that can be included in a field described by this
--   metadata.
vsmNumber :: Lens' VariantSetMetadata (Maybe Text)

-- | A textual description of this metadata.
vsmDescription :: Lens' VariantSetMetadata (Maybe Text)

-- | Remaining structured metadata key-value pairs. This must be of the
--   form map (string key mapping to a list of string values).
vsmInfo :: Lens' VariantSetMetadata (Maybe VariantSetMetadataInfo)

-- | A call set is a collection of variant calls, typically for one sample.
--   It belongs to a variant set. For more genomics resource definitions,
--   see <a>Fundamentals of Google Genomics</a>
--   
--   <i>See:</i> <a>callSet</a> smart constructor.
data CallSet

-- | Creates a value of <a>CallSet</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>csCreated</a></li>
--   <li><a>csName</a></li>
--   <li><a>csId</a></li>
--   <li><a>csSampleId</a></li>
--   <li><a>csVariantSetIds</a></li>
--   <li><a>csInfo</a></li>
--   </ul>
callSet :: CallSet

-- | The date this call set was created in milliseconds from the epoch.
csCreated :: Lens' CallSet (Maybe Int64)

-- | The call set name.
csName :: Lens' CallSet (Maybe Text)

-- | The server-generated call set ID, unique across all call sets.
csId :: Lens' CallSet (Maybe Text)

-- | The sample ID this call set corresponds to.
csSampleId :: Lens' CallSet (Maybe Text)

-- | The IDs of the variant sets this call set belongs to. This field must
--   have exactly length one, as a call set belongs to a single variant
--   set. This field is repeated for compatibility with the <a>GA4GH 0.5.1
--   API</a>.
csVariantSetIds :: Lens' CallSet [Text]

-- | A map of additional call set information. This must be of the form map
--   (string key mapping to a list of string values).
csInfo :: Lens' CallSet (Maybe CallSetInfo)

-- | A bucket over which read coverage has been precomputed. A bucket
--   corresponds to a specific range of the reference sequence.
--   
--   <i>See:</i> <a>coverageBucket</a> smart constructor.
data CoverageBucket

-- | Creates a value of <a>CoverageBucket</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cbRange</a></li>
--   <li><a>cbMeanCoverage</a></li>
--   </ul>
coverageBucket :: CoverageBucket

-- | The genomic coordinate range spanned by this bucket.
cbRange :: Lens' CoverageBucket (Maybe Range)

-- | The average number of reads which are aligned to each individual
--   reference base in this bucket.
cbMeanCoverage :: Lens' CoverageBucket (Maybe Double)
data VariantAnnotation

-- | Creates a value of <a>VariantAnnotation</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vaEffect</a></li>
--   <li><a>vaClinicalSignificance</a></li>
--   <li><a>vaAlternateBases</a></li>
--   <li><a>vaGeneId</a></li>
--   <li><a>vaConditions</a></li>
--   <li><a>vaType</a></li>
--   <li><a>vaTranscriptIds</a></li>
--   </ul>
variantAnnotation :: VariantAnnotation

-- | Effect of the variant on the coding sequence.
vaEffect :: Lens' VariantAnnotation (Maybe VariantAnnotationEffect)

-- | 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/
vaClinicalSignificance :: Lens' VariantAnnotation (Maybe VariantAnnotationClinicalSignificance)

-- | 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.
vaAlternateBases :: Lens' VariantAnnotation (Maybe Text)

-- | Google annotation ID of the gene affected by this variant. This should
--   be provided when the variant is created.
vaGeneId :: Lens' VariantAnnotation (Maybe Text)

-- | The set of conditions associated with this variant. A condition
--   describes the way a variant influences human health.
vaConditions :: Lens' VariantAnnotation [ClinicalCondition]

-- | Type has been adapted from ClinVar's list of variant types.
vaType :: Lens' VariantAnnotation (Maybe VariantAnnotationType)

-- | Google annotation IDs of the transcripts affected by this variant.
--   These should be provided when the variant is created.
vaTranscriptIds :: Lens' VariantAnnotation [Text]

-- | 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/
data VariantAnnotationClinicalSignificance

-- | <pre>
--   CLINICAL_SIGNIFICANCE_UNSPECIFIED
--   </pre>
ClinicalSignificanceUnspecified :: VariantAnnotationClinicalSignificance

-- | <tt>CLINICAL_SIGNIFICANCE_OTHER</tt> `OTHER` should be used when no
--   other clinical significance value will suffice.
ClinicalSignificanceOther :: VariantAnnotationClinicalSignificance

-- | <pre>
--   UNCERTAIN
--   </pre>
Uncertain :: VariantAnnotationClinicalSignificance

-- | <pre>
--   BENIGN
--   </pre>
Benign :: VariantAnnotationClinicalSignificance

-- | <pre>
--   LIKELY_BENIGN
--   </pre>
LikelyBenign :: VariantAnnotationClinicalSignificance

-- | <pre>
--   LIKELY_PATHOGENIC
--   </pre>
LikelyPathogenic :: VariantAnnotationClinicalSignificance

-- | <pre>
--   PATHOGENIC
--   </pre>
Pathogenic :: VariantAnnotationClinicalSignificance

-- | <pre>
--   DRUG_RESPONSE
--   </pre>
DrugResponse :: VariantAnnotationClinicalSignificance

-- | <pre>
--   HISTOCOMPATIBILITY
--   </pre>
Histocompatibility :: VariantAnnotationClinicalSignificance

-- | <pre>
--   CONFERS_SENSITIVITY
--   </pre>
ConfersSensitivity :: VariantAnnotationClinicalSignificance

-- | <pre>
--   RISK_FACTOR
--   </pre>
RiskFactor :: VariantAnnotationClinicalSignificance

-- | <pre>
--   ASSOCIATION
--   </pre>
Association :: VariantAnnotationClinicalSignificance

-- | <pre>
--   PROTECTIVE
--   </pre>
Protective :: VariantAnnotationClinicalSignificance

-- | <tt>MULTIPLE_REPORTED</tt> `MULTIPLE_REPORTED` should be used when
--   multiple clinical signficances are reported for a variant. The
--   original clinical significance values may be provided in the `info`
--   field.
MultipleReported :: VariantAnnotationClinicalSignificance

-- | The read group set search request.
--   
--   <i>See:</i> <a>searchReadGroupSetsRequest</a> smart constructor.
data SearchReadGroupSetsRequest

-- | Creates a value of <a>SearchReadGroupSetsRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>srgsrDataSetIds</a></li>
--   <li><a>srgsrName</a></li>
--   <li><a>srgsrPageToken</a></li>
--   <li><a>srgsrPageSize</a></li>
--   </ul>
searchReadGroupSetsRequest :: SearchReadGroupSetsRequest

-- | Restricts this query to read group sets within the given datasets. At
--   least one ID must be provided.
srgsrDataSetIds :: Lens' SearchReadGroupSetsRequest [Text]

-- | Only return read group sets for which a substring of the name matches
--   this string.
srgsrName :: Lens' SearchReadGroupSetsRequest (Maybe Text)

-- | 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.
srgsrPageToken :: Lens' SearchReadGroupSetsRequest (Maybe Text)

-- | The maximum number of results to return in a single page. If
--   unspecified, defaults to 256. The maximum value is 1024.
srgsrPageSize :: Lens' SearchReadGroupSetsRequest (Maybe Int32)

-- | 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. For
--   more genomics resource definitions, see <a>Fundamentals of Google
--   Genomics</a>
--   
--   <i>See:</i> <a>reference</a> smart constructor.
data Reference

-- | Creates a value of <a>Reference</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>refLength</a></li>
--   <li><a>refSourceAccessions</a></li>
--   <li><a>refMD5checksum</a></li>
--   <li><a>refName</a></li>
--   <li><a>refNcbiTaxonId</a></li>
--   <li><a>refId</a></li>
--   <li><a>refSourceURI</a></li>
--   </ul>
reference :: Reference

-- | The length of this reference's sequence.
refLength :: Lens' Reference (Maybe Int64)

-- | All known corresponding accession IDs in INSDC (GenBank/ENA/DDBJ)
--   ideally with a version number, for example `GCF_000001405.26`.
refSourceAccessions :: Lens' Reference [Text]

-- | 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.
refMD5checksum :: Lens' Reference (Maybe Text)

-- | The name of this reference, for example `22`.
refName :: Lens' Reference (Maybe Text)

-- | ID from http://www.ncbi.nlm.nih.gov/taxonomy. For example, 9606 for
--   human.
refNcbiTaxonId :: Lens' Reference (Maybe Int32)

-- | The server-generated reference ID, unique across all references.
refId :: Lens' Reference (Maybe Text)

-- | The URI from which the sequence was obtained. Typically specifies a
--   FASTA format file.
refSourceURI :: Lens' Reference (Maybe Text)

-- | A map of additional variant call information. This must be of the form
--   map (string key mapping to a list of string values).
--   
--   <i>See:</i> <a>variantCallInfo</a> smart constructor.
data VariantCallInfo

-- | Creates a value of <a>VariantCallInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vciAddtional</a></li>
--   </ul>
variantCallInfo :: HashMap Text [JSONValue] -> VariantCallInfo
vciAddtional :: Lens' VariantCallInfo (HashMap Text [JSONValue])

-- | A map of additional read group information. This must be of the form
--   map (string key mapping to a list of string values).
--   
--   <i>See:</i> <a>readGroupInfo</a> smart constructor.
data ReadGroupInfo

-- | Creates a value of <a>ReadGroupInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rgiAddtional</a></li>
--   </ul>
readGroupInfo :: HashMap Text [JSONValue] -> ReadGroupInfo
rgiAddtional :: Lens' ReadGroupInfo (HashMap Text [JSONValue])
data StatusDetailsItem

-- | Creates a value of <a>StatusDetailsItem</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sdiAddtional</a></li>
--   </ul>
statusDetailsItem :: HashMap Text JSONValue -> StatusDetailsItem

-- | Properties of the object. Contains field 'type with type URL.
sdiAddtional :: Lens' StatusDetailsItem (HashMap Text JSONValue)

-- | The call set search response.
--   
--   <i>See:</i> <a>searchCallSetsResponse</a> smart constructor.
data SearchCallSetsResponse

-- | Creates a value of <a>SearchCallSetsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>scsrNextPageToken</a></li>
--   <li><a>scsrCallSets</a></li>
--   </ul>
searchCallSetsResponse :: SearchCallSetsResponse

-- | 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.
scsrNextPageToken :: Lens' SearchCallSetsResponse (Maybe Text)

-- | The list of matching call sets.
scsrCallSets :: Lens' SearchCallSetsResponse [CallSet]

-- | Request message for `SetIamPolicy` method.
--   
--   <i>See:</i> <a>setIAMPolicyRequest</a> smart constructor.
data SetIAMPolicyRequest

-- | Creates a value of <a>SetIAMPolicyRequest</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>siprPolicy</a></li>
--   </ul>
setIAMPolicyRequest :: SetIAMPolicyRequest

-- | REQUIRED: The complete policy to be applied to the `resource`. The
--   size of the policy is limited to a few 10s of KB. An empty policy is a
--   valid policy but certain Cloud Platform services (such as Projects)
--   might reject them.
siprPolicy :: Lens' SetIAMPolicyRequest (Maybe Policy)

-- | The read search request.
--   
--   <i>See:</i> <a>searchReadsRequest</a> smart constructor.
data SearchReadsRequest

-- | Creates a value of <a>SearchReadsRequest</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>srrStart</a></li>
--   <li><a>srrReadGroupIds</a></li>
--   <li><a>srrReferenceName</a></li>
--   <li><a>srrEnd</a></li>
--   <li><a>srrPageToken</a></li>
--   <li><a>srrPageSize</a></li>
--   <li><a>srrReadGroupSetIds</a></li>
--   </ul>
searchReadsRequest :: SearchReadsRequest

-- | The start position of the range on the reference, 0-based inclusive.
--   If specified, `referenceName` must also be specified.
srrStart :: Lens' SearchReadsRequest (Maybe Int64)

-- | 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`.
srrReadGroupIds :: Lens' SearchReadsRequest [Text]

-- | The reference sequence name, for example `chr1`, `1`, or `chrX`. If
--   set to `*`, only unmapped reads are returned. If unspecified, all
--   reads (mapped and unmapped) are returned.
srrReferenceName :: Lens' SearchReadsRequest (Maybe Text)

-- | The end position of the range on the reference, 0-based exclusive. If
--   specified, `referenceName` must also be specified.
srrEnd :: Lens' SearchReadsRequest (Maybe Int64)

-- | 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.
srrPageToken :: Lens' SearchReadsRequest (Maybe Text)

-- | The maximum number of results to return in a single page. If
--   unspecified, defaults to 256. The maximum value is 2048.
srrPageSize :: Lens' SearchReadsRequest (Maybe Int32)

-- | 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`.
srrReadGroupSetIds :: Lens' SearchReadsRequest [Text]

-- | The original request that started the operation. Note that this will
--   be in current version of the API. If the operation was started with
--   v1beta2 API and a GetOperation is performed on v1 API, a v1 request
--   will be returned.
--   
--   <i>See:</i> <a>operationMetadataRequest</a> smart constructor.
data OperationMetadataRequest

-- | Creates a value of <a>OperationMetadataRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>omrAddtional</a></li>
--   </ul>
operationMetadataRequest :: HashMap Text JSONValue -> OperationMetadataRequest

-- | Properties of the object. Contains field 'type with type URL.
omrAddtional :: Lens' OperationMetadataRequest (HashMap Text JSONValue)

-- | A mapping between info field keys and the InfoMergeOperations to be
--   performed on them.
--   
--   <i>See:</i> <a>mergeVariantsRequestInfoMergeConfig</a> smart
--   constructor.
data MergeVariantsRequestInfoMergeConfig

-- | Creates a value of <a>MergeVariantsRequestInfoMergeConfig</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mvrimcAddtional</a></li>
--   </ul>
mergeVariantsRequestInfoMergeConfig :: HashMap Text Text -> MergeVariantsRequestInfoMergeConfig
mvrimcAddtional :: Lens' MergeVariantsRequestInfoMergeConfig (HashMap Text Text)

-- | A map of additional variant information. This must be of the form map
--   (string key mapping to a list of string values).
--   
--   <i>See:</i> <a>variantInfo</a> smart constructor.
data VariantInfo

-- | Creates a value of <a>VariantInfo</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>viAddtional</a></li>
--   </ul>
variantInfo :: HashMap Text [JSONValue] -> VariantInfo
viAddtional :: Lens' VariantInfo (HashMap Text [JSONValue])
data Experiment

-- | Creates a value of <a>Experiment</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eInstrumentModel</a></li>
--   <li><a>ePlatformUnit</a></li>
--   <li><a>eSequencingCenter</a></li>
--   <li><a>eLibraryId</a></li>
--   </ul>
experiment :: Experiment

-- | The instrument model used as part of this experiment. This maps to
--   sequencing technology in the SAM spec.
eInstrumentModel :: Lens' Experiment (Maybe Text)

-- | The platform unit used as part of this experiment, for example
--   flowcell-barcode.lane for Illumina or slide for SOLiD. Corresponds to
--   the 'RG PU field in the SAM spec.
ePlatformUnit :: Lens' Experiment (Maybe Text)

-- | The sequencing center used as part of this experiment.
eSequencingCenter :: Lens' Experiment (Maybe Text)

-- | A client-supplied library identifier; a library is a collection of DNA
--   fragments which have been prepared for sequencing from a sample. This
--   field is important for quality control as error or bias can be
--   introduced during sample preparation.
eLibraryId :: Lens' Experiment (Maybe Text)

-- | The search variant sets request.
--   
--   <i>See:</i> <a>searchVariantSetsRequest</a> smart constructor.
data SearchVariantSetsRequest

-- | Creates a value of <a>SearchVariantSetsRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>svsrDataSetIds</a></li>
--   <li><a>svsrPageToken</a></li>
--   <li><a>svsrPageSize</a></li>
--   </ul>
searchVariantSetsRequest :: SearchVariantSetsRequest

-- | Exactly one dataset ID must be provided here. Only variant sets which
--   belong to this dataset will be returned.
svsrDataSetIds :: Lens' SearchVariantSetsRequest [Text]

-- | 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.
svsrPageToken :: Lens' SearchVariantSetsRequest (Maybe Text)

-- | The maximum number of results to return in a single page. If
--   unspecified, defaults to 1024.
svsrPageSize :: Lens' SearchVariantSetsRequest (Maybe Int32)

-- | A map of additional read alignment information. This must be of the
--   form map (string key mapping to a list of string values).
--   
--   <i>See:</i> <a>annotationInfo</a> smart constructor.
data AnnotationInfo

-- | Creates a value of <a>AnnotationInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aiAddtional</a></li>
--   </ul>
annotationInfo :: HashMap Text [JSONValue] -> AnnotationInfo
aiAddtional :: Lens' AnnotationInfo (HashMap Text [JSONValue])
data SearchAnnotationsResponse

-- | Creates a value of <a>SearchAnnotationsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sarAnnotations</a></li>
--   <li><a>sarNextPageToken</a></li>
--   </ul>
searchAnnotationsResponse :: SearchAnnotationsResponse

-- | The matching annotations.
sarAnnotations :: Lens' SearchAnnotationsResponse [Annotation]

-- | 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.
sarNextPageToken :: Lens' SearchAnnotationsResponse (Maybe Text)
data SearchAnnotationSetsRequest

-- | Creates a value of <a>SearchAnnotationSetsRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sasrReferenceSetId</a></li>
--   <li><a>sasrTypes</a></li>
--   <li><a>sasrDataSetIds</a></li>
--   <li><a>sasrName</a></li>
--   <li><a>sasrPageToken</a></li>
--   <li><a>sasrPageSize</a></li>
--   </ul>
searchAnnotationSetsRequest :: SearchAnnotationSetsRequest

-- | If specified, only annotation sets associated with the given reference
--   set are returned.
sasrReferenceSetId :: Lens' SearchAnnotationSetsRequest (Maybe Text)

-- | If specified, only annotation sets that have any of these types are
--   returned.
sasrTypes :: Lens' SearchAnnotationSetsRequest [Text]

-- | Required. The dataset IDs to search within. Caller must have `READ`
--   access to these datasets.
sasrDataSetIds :: Lens' SearchAnnotationSetsRequest [Text]

-- | Only return annotations sets for which a substring of the name matches
--   this string (case insensitive).
sasrName :: Lens' SearchAnnotationSetsRequest (Maybe Text)

-- | 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.
sasrPageToken :: Lens' SearchAnnotationSetsRequest (Maybe Text)

-- | The maximum number of results to return in a single page. If
--   unspecified, defaults to 128. The maximum value is 1024.
sasrPageSize :: Lens' SearchAnnotationSetsRequest (Maybe Int32)

-- | The partition strategy describes how read groups are partitioned into
--   read group sets.
data ImportReadGroupSetsRequestPartitionStrategy

-- | <pre>
--   PARTITION_STRATEGY_UNSPECIFIED
--   </pre>
PartitionStrategyUnspecified :: ImportReadGroupSetsRequestPartitionStrategy

-- | <tt>PER_FILE_PER_SAMPLE</tt> In most cases, this strategy yields one
--   read group set per file. This is the default behavior. Allocate one
--   read group set per file per sample. For BAM files, read groups are
--   considered to share a sample if they have identical sample names.
--   Furthermore, all reads for each file which do not belong to a read
--   group, if any, will be grouped into a single read group set per-file.
PerFilePerSample :: ImportReadGroupSetsRequestPartitionStrategy

-- | <tt>MERGE_ALL</tt> Includes all read groups in all imported files into
--   a single read group set. Requires that the headers for all imported
--   files are equivalent. All reads which do not belong to a read group,
--   if any, will be grouped into a separate read group set.
MergeAll :: ImportReadGroupSetsRequestPartitionStrategy

-- | The variant search response.
--   
--   <i>See:</i> <a>searchVariantsResponse</a> smart constructor.
data SearchVariantsResponse

-- | Creates a value of <a>SearchVariantsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>svrVariants</a></li>
--   <li><a>svrNextPageToken</a></li>
--   </ul>
searchVariantsResponse :: SearchVariantsResponse

-- | The list of matching Variants.
svrVariants :: Lens' SearchVariantsResponse [Variant]

-- | 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.
svrNextPageToken :: Lens' SearchVariantsResponse (Maybe Text)

-- | Runtime metadata on this Operation.
--   
--   <i>See:</i> <a>operationMetadataRuntimeMetadata</a> smart constructor.
data OperationMetadataRuntimeMetadata

-- | Creates a value of <a>OperationMetadataRuntimeMetadata</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>omrmAddtional</a></li>
--   </ul>
operationMetadataRuntimeMetadata :: HashMap Text JSONValue -> OperationMetadataRuntimeMetadata

-- | Properties of the object. Contains field 'type with type URL.
omrmAddtional :: Lens' OperationMetadataRuntimeMetadata (HashMap Text JSONValue)
data ClinicalCondition

-- | Creates a value of <a>ClinicalCondition</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccExternalIds</a></li>
--   <li><a>ccNames</a></li>
--   <li><a>ccConceptId</a></li>
--   <li><a>ccOmimId</a></li>
--   </ul>
clinicalCondition :: ClinicalCondition

-- | The set of external IDs for this condition.
ccExternalIds :: Lens' ClinicalCondition [ExternalId]

-- | A set of names for the condition.
ccNames :: Lens' ClinicalCondition [Text]

-- | The MedGen concept id associated with this gene. Search for these IDs
--   at http://www.ncbi.nlm.nih.gov/medgen/
ccConceptId :: Lens' ClinicalCondition (Maybe Text)

-- | The OMIM id for this condition. Search for these IDs at
--   http://omim.org/
ccOmimId :: Lens' ClinicalCondition (Maybe Text)

-- | The call set search request.
--   
--   <i>See:</i> <a>searchCallSetsRequest</a> smart constructor.
data SearchCallSetsRequest

-- | Creates a value of <a>SearchCallSetsRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>scsrName</a></li>
--   <li><a>scsrPageToken</a></li>
--   <li><a>scsrVariantSetIds</a></li>
--   <li><a>scsrPageSize</a></li>
--   </ul>
searchCallSetsRequest :: SearchCallSetsRequest

-- | Only return call sets for which a substring of the name matches this
--   string.
scsrName :: Lens' SearchCallSetsRequest (Maybe Text)

-- | 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.
scsrPageToken :: Lens' SearchCallSetsRequest (Maybe Text)

-- | Restrict the query to call sets within the given variant sets. At
--   least one ID must be provided.
scsrVariantSetIds :: Lens' SearchCallSetsRequest [Text]

-- | The maximum number of results to return in a single page. If
--   unspecified, defaults to 1024.
scsrPageSize :: Lens' SearchCallSetsRequest (Maybe Int32)
data Entry

-- | Creates a value of <a>Entry</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eStatus</a></li>
--   <li><a>eAnnotation</a></li>
--   </ul>
entry :: Entry

-- | The creation status.
eStatus :: Lens' Entry (Maybe Status)

-- | The created annotation, if creation was successful.
eAnnotation :: Lens' Entry (Maybe Annotation)

-- | The read search response.
--   
--   <i>See:</i> <a>searchReadsResponse</a> smart constructor.
data SearchReadsResponse

-- | Creates a value of <a>SearchReadsResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sNextPageToken</a></li>
--   <li><a>sAlignments</a></li>
--   </ul>
searchReadsResponse :: SearchReadsResponse

-- | 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.
sNextPageToken :: Lens' SearchReadsResponse (Maybe Text)

-- | 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.
sAlignments :: Lens' SearchReadsResponse [Read']
data Program

-- | Creates a value of <a>Program</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pPrevProgramId</a></li>
--   <li><a>pName</a></li>
--   <li><a>pVersion</a></li>
--   <li><a>pId</a></li>
--   <li><a>pCommandLine</a></li>
--   </ul>
program :: Program

-- | The ID of the program run before this one.
pPrevProgramId :: Lens' Program (Maybe Text)

-- | The display name of the program. This is typically the colloquial name
--   of the tool used, for example 'bwa' or 'picard'.
pName :: Lens' Program (Maybe Text)

-- | The version of the program run.
pVersion :: Lens' Program (Maybe Text)

-- | The user specified locally unique ID of the program. Used along with
--   `prevProgramId` to define an ordering between programs.
pId :: Lens' Program (Maybe Text)

-- | The command line used to run this program.
pCommandLine :: Lens' Program (Maybe Text)
data SearchReferencesRequest

-- | Creates a value of <a>SearchReferencesRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sReferenceSetId</a></li>
--   <li><a>sMD5checksums</a></li>
--   <li><a>sAccessions</a></li>
--   <li><a>sPageToken</a></li>
--   <li><a>sPageSize</a></li>
--   </ul>
searchReferencesRequest :: SearchReferencesRequest

-- | If present, return only references which belong to this reference set.
sReferenceSetId :: Lens' SearchReferencesRequest (Maybe Text)

-- | If present, return references for which the md5checksum matches
--   exactly.
sMD5checksums :: Lens' SearchReferencesRequest [Text]

-- | If present, return references for which a prefix of any of
--   sourceAccessions match any of these strings. Accession numbers
--   typically have a main number and a version, for example
--   `GCF_000001405.26`.
sAccessions :: Lens' SearchReferencesRequest [Text]

-- | 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.
sPageToken :: Lens' SearchReferencesRequest (Maybe Text)

-- | The maximum number of results to return in a single page. If
--   unspecified, defaults to 1024. The maximum value is 4096.
sPageSize :: Lens' SearchReferencesRequest (Maybe Int32)
data BatchCreateAnnotationsResponse

-- | Creates a value of <a>BatchCreateAnnotationsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bcarEntries</a></li>
--   </ul>
batchCreateAnnotationsResponse :: BatchCreateAnnotationsResponse

-- | The resulting per-annotation entries, ordered consistently with the
--   original request.
bcarEntries :: Lens' BatchCreateAnnotationsResponse [Entry]
data CodingSequence

-- | Creates a value of <a>CodingSequence</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>csStart</a></li>
--   <li><a>csEnd</a></li>
--   </ul>
codingSequence :: CodingSequence

-- | 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.
csStart :: Lens' CodingSequence (Maybe Int64)

-- | 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.
csEnd :: Lens' CodingSequence (Maybe Int64)

-- | The data type for this annotation. Must match the containing
--   annotation set's type.
data AnnotationType

-- | <pre>
--   ANNOTATION_TYPE_UNSPECIFIED
--   </pre>
ATAnnotationTypeUnspecified :: AnnotationType

-- | <tt>GENERIC</tt> A `GENERIC` annotation type should be used when no
--   other annotation type will suffice. This represents an untyped
--   annotation of the reference genome.
ATGeneric :: AnnotationType

-- | <tt>VARIANT</tt> A `VARIANT` annotation type.
ATVariant :: AnnotationType

-- | <tt>GENE</tt> A `GENE` annotation type represents the existence of a
--   gene at the associated reference coordinates. The start coordinate is
--   typically the gene's transcription start site and the end is typically
--   the end of the gene's last exon.
ATGene :: AnnotationType

-- | <tt>TRANSCRIPT</tt> A `TRANSCRIPT` annotation type represents the
--   assertion that a particular region of the reference genome may be
--   transcribed as RNA.
ATTranscript :: AnnotationType
data SearchReferenceSetsResponse

-- | Creates a value of <a>SearchReferenceSetsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>srsrNextPageToken</a></li>
--   <li><a>srsrReferenceSets</a></li>
--   </ul>
searchReferenceSetsResponse :: SearchReferenceSetsResponse

-- | 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.
srsrNextPageToken :: Lens' SearchReferenceSetsResponse (Maybe Text)

-- | The matching references sets.
srsrReferenceSets :: Lens' SearchReferenceSetsResponse [ReferenceSet]

-- | A 0-based half-open genomic coordinate range for search requests.
--   
--   <i>See:</i> <a>range</a> smart constructor.
data Range

-- | Creates a value of <a>Range</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rStart</a></li>
--   <li><a>rReferenceName</a></li>
--   <li><a>rEnd</a></li>
--   </ul>
range :: Range

-- | The start position of the range on the reference, 0-based inclusive.
rStart :: Lens' Range (Maybe Int64)

-- | The reference sequence name, for example `chr1`, `1`, or `chrX`.
rReferenceName :: Lens' Range (Maybe Text)

-- | The end position of the range on the reference, 0-based exclusive.
rEnd :: Lens' Range (Maybe Int64)

-- | 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. * A read group set belongs to one dataset. * A
--   read group belongs to one read group set. * A read belongs to one read
--   group. For more genomics resource definitions, see <a>Fundamentals of
--   Google Genomics</a>
--   
--   <i>See:</i> <a>readGroupSet</a> smart constructor.
data ReadGroupSet

-- | Creates a value of <a>ReadGroupSet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rgsReferenceSetId</a></li>
--   <li><a>rgsName</a></li>
--   <li><a>rgsDataSetId</a></li>
--   <li><a>rgsId</a></li>
--   <li><a>rgsInfo</a></li>
--   <li><a>rgsReadGroups</a></li>
--   <li><a>rgsFilename</a></li>
--   </ul>
readGroupSet :: ReadGroupSet

-- | The reference set to which the reads in this read group set are
--   aligned.
rgsReferenceSetId :: Lens' ReadGroupSet (Maybe Text)

-- | The read group set name. By default this will be initialized to the
--   sample name of the sequenced data contained in this set.
rgsName :: Lens' ReadGroupSet (Maybe Text)

-- | The dataset to which this read group set belongs.
rgsDataSetId :: Lens' ReadGroupSet (Maybe Text)

-- | The server-generated read group set ID, unique for all read group
--   sets.
rgsId :: Lens' ReadGroupSet (Maybe Text)

-- | A map of additional read group set information.
rgsInfo :: Lens' ReadGroupSet (Maybe ReadGroupSetInfo)

-- | The read groups in this set. There are typically 1-10 read groups in a
--   read group set.
rgsReadGroups :: Lens' ReadGroupSet [ReadGroup]

-- | The filename of the original source file for this read group set, if
--   any.
rgsFilename :: Lens' ReadGroupSet (Maybe Text)

-- | V1 error format.
data Xgafv

-- | <tt>1</tt> v1 error format
X1 :: Xgafv

-- | <tt>2</tt> v2 error format
X2 :: Xgafv

-- | The read group set export request.
--   
--   <i>See:</i> <a>exportReadGroupSetRequest</a> smart constructor.
data ExportReadGroupSetRequest

-- | Creates a value of <a>ExportReadGroupSetRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ergsrReferenceNames</a></li>
--   <li><a>ergsrExportURI</a></li>
--   <li><a>ergsrProjectId</a></li>
--   </ul>
exportReadGroupSetRequest :: ExportReadGroupSetRequest

-- | The reference names to export. If this is not specified, all reference
--   sequences, including unmapped reads, are exported. Use `*` to export
--   only unmapped reads.
ergsrReferenceNames :: Lens' ExportReadGroupSetRequest [Text]

-- | 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.
ergsrExportURI :: Lens' ExportReadGroupSetRequest (Maybe Text)

-- | Required. The Google Cloud project ID that owns this export. The
--   caller must have WRITE access to this project.
ergsrProjectId :: Lens' ExportReadGroupSetRequest (Maybe Text)

-- | The variant data import response.
--   
--   <i>See:</i> <a>importVariantsResponse</a> smart constructor.
data ImportVariantsResponse

-- | Creates a value of <a>ImportVariantsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ivrCallSetIds</a></li>
--   </ul>
importVariantsResponse :: ImportVariantsResponse

-- | IDs of the call sets created during the import.
ivrCallSetIds :: Lens' ImportVariantsResponse [Text]
data ListCoverageBucketsResponse

-- | Creates a value of <a>ListCoverageBucketsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lcbrNextPageToken</a></li>
--   <li><a>lcbrBucketWidth</a></li>
--   <li><a>lcbrCoverageBuckets</a></li>
--   </ul>
listCoverageBucketsResponse :: ListCoverageBucketsResponse

-- | 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.
lcbrNextPageToken :: Lens' ListCoverageBucketsResponse (Maybe Text)

-- | 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`).
lcbrBucketWidth :: Lens' ListCoverageBucketsResponse (Maybe Int64)

-- | 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.
lcbrCoverageBuckets :: Lens' ListCoverageBucketsResponse [CoverageBucket]

-- | Request message for `TestIamPermissions` method.
--   
--   <i>See:</i> <a>testIAMPermissionsRequest</a> smart constructor.
data TestIAMPermissionsRequest

-- | Creates a value of <a>TestIAMPermissionsRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tiprPermissions</a></li>
--   </ul>
testIAMPermissionsRequest :: TestIAMPermissionsRequest

-- | REQUIRED: The set of permissions to check for the 'resource'.
--   Permissions with wildcards (such as '*' or 'storage.*') are not
--   allowed. Allowed permissions are: * `genomics.datasets.create` *
--   `genomics.datasets.delete` * `genomics.datasets.get` *
--   `genomics.datasets.list` * `genomics.datasets.update` *
--   `genomics.datasets.getIamPolicy` * `genomics.datasets.setIamPolicy`
tiprPermissions :: Lens' TestIAMPermissionsRequest [Text]

-- | The read group set import response.
--   
--   <i>See:</i> <a>importReadGroupSetsResponse</a> smart constructor.
data ImportReadGroupSetsResponse

-- | Creates a value of <a>ImportReadGroupSetsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irgsrReadGroupSetIds</a></li>
--   </ul>
importReadGroupSetsResponse :: ImportReadGroupSetsResponse

-- | IDs of the read group sets that were created.
irgsrReadGroupSetIds :: Lens' ImportReadGroupSetsResponse [Text]

-- | A linear alignment can be represented by one CIGAR string. Describes
--   the mapped position and local alignment of the read to the reference.
--   
--   <i>See:</i> <a>linearAlignment</a> smart constructor.
data LinearAlignment

-- | Creates a value of <a>LinearAlignment</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>laCigar</a></li>
--   <li><a>laMAppingQuality</a></li>
--   <li><a>laPosition</a></li>
--   </ul>
linearAlignment :: LinearAlignment

-- | Represents the local alignment of this sequence (alignment matches,
--   indels, etc) against the reference.
laCigar :: Lens' LinearAlignment [CigarUnit]

-- | The mapping quality of this alignment. Represents how likely the read
--   maps to this position as opposed to other locations. Specifically,
--   this is -10 log10 Pr(mapping position is wrong), rounded to the
--   nearest integer.
laMAppingQuality :: Lens' LinearAlignment (Maybe Int32)

-- | The position of this alignment.
laPosition :: Lens' LinearAlignment (Maybe Position)

-- | 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'.
--   
--   <i>See:</i> <a>annotationSet</a> smart constructor.
data AnnotationSet

-- | Creates a value of <a>AnnotationSet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asReferenceSetId</a></li>
--   <li><a>asName</a></li>
--   <li><a>asDataSetId</a></li>
--   <li><a>asId</a></li>
--   <li><a>asType</a></li>
--   <li><a>asSourceURI</a></li>
--   <li><a>asInfo</a></li>
--   </ul>
annotationSet :: AnnotationSet

-- | The ID of the reference set that defines the coordinate space for this
--   set's annotations.
asReferenceSetId :: Lens' AnnotationSet (Maybe Text)

-- | The display name for this annotation set.
asName :: Lens' AnnotationSet (Maybe Text)

-- | The dataset to which this annotation set belongs.
asDataSetId :: Lens' AnnotationSet (Maybe Text)

-- | The server-generated annotation set ID, unique across all annotation
--   sets.
asId :: Lens' AnnotationSet (Maybe Text)

-- | The type of annotations contained within this set.
asType :: Lens' AnnotationSet (Maybe AnnotationSetType)

-- | The source URI describing the file from which this annotation set was
--   generated, if any.
asSourceURI :: Lens' AnnotationSet (Maybe Text)

-- | A map of additional read alignment information. This must be of the
--   form map (string key mapping to a list of string values).
asInfo :: Lens' AnnotationSet (Maybe AnnotationSetInfo)

-- | 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. For more genomics resource definitions, see <a>Fundamentals
--   of Google Genomics</a>
--   
--   <i>See:</i> <a>variantSet</a> smart constructor.
data VariantSet

-- | Creates a value of <a>VariantSet</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vsReferenceSetId</a></li>
--   <li><a>vsName</a></li>
--   <li><a>vsDataSetId</a></li>
--   <li><a>vsReferenceBounds</a></li>
--   <li><a>vsMetadata</a></li>
--   <li><a>vsId</a></li>
--   <li><a>vsDescription</a></li>
--   </ul>
variantSet :: VariantSet

-- | The reference set to which the variant set is mapped. The reference
--   set describes the alignment provenance of the variant set, while the
--   `referenceBounds` describe the shape of the actual variant data. The
--   reference set's reference names are a superset of those found in the
--   `referenceBounds`. For example, given a variant set that is mapped to
--   the GRCh38 reference set and contains a single variant on reference
--   'X', `referenceBounds` would contain only an entry for 'X', while the
--   associated reference set enumerates all possible references: '1', '2',
--   'X', 'Y', 'MT', etc.
vsReferenceSetId :: Lens' VariantSet (Maybe Text)

-- | User-specified, mutable name.
vsName :: Lens' VariantSet (Maybe Text)

-- | The dataset to which this variant set belongs.
vsDataSetId :: Lens' VariantSet (Maybe Text)

-- | A list of all references used by the variants in a variant set with
--   associated coordinate upper bounds for each one.
vsReferenceBounds :: Lens' VariantSet [ReferenceBound]

-- | The metadata associated with this variant set.
vsMetadata :: Lens' VariantSet [VariantSetMetadata]

-- | The server-generated variant set ID, unique across all variant sets.
vsId :: Lens' VariantSet (Maybe Text)

-- | A textual description of this variant set.
vsDescription :: Lens' VariantSet (Maybe Text)
data CigarUnitOperation

-- | <pre>
--   OPERATION_UNSPECIFIED
--   </pre>
OperationUnspecified :: CigarUnitOperation

-- | <tt>ALIGNMENT_MATCH</tt> An alignment match indicates that a sequence
--   can be aligned to the reference without evidence of an INDEL. Unlike
--   the `SEQUENCE_MATCH` and `SEQUENCE_MISMATCH` operators, the
--   `ALIGNMENT_MATCH` operator does not indicate whether the reference and
--   read sequences are an exact match. This operator is equivalent to
--   SAM's `M`.
AlignmentMatch :: CigarUnitOperation

-- | <tt>INSERT</tt> The insert operator indicates that the read contains
--   evidence of bases being inserted into the reference. This operator is
--   equivalent to SAM's `I`.
Insert :: CigarUnitOperation

-- | <tt>DELETE</tt> The delete operator indicates that the read contains
--   evidence of bases being deleted from the reference. This operator is
--   equivalent to SAM's `D`.
Delete' :: CigarUnitOperation

-- | <tt>SKIP</tt> The skip operator indicates that this read skips a long
--   segment of the reference, but the bases have not been deleted. This
--   operator is commonly used when working with RNA-seq data, where reads
--   may skip long segments of the reference between exons. This operator
--   is equivalent to SAM's `N`.
Skip :: CigarUnitOperation

-- | <tt>CLIP_SOFT</tt> The soft clip operator indicates that bases at the
--   start/end of a read have not been considered during alignment. This
--   may occur if the majority of a read maps, except for low quality bases
--   at the start/end of a read. This operator is equivalent to SAM's `S`.
--   Bases that are soft clipped will still be stored in the read.
ClipSoft :: CigarUnitOperation

-- | <tt>CLIP_HARD</tt> The hard clip operator indicates that bases at the
--   start/end of a read have been omitted from this alignment. This may
--   occur if this linear alignment is part of a chimeric alignment, or if
--   the read has been trimmed (for example, during error correction or to
--   trim poly-A tails for RNA-seq). This operator is equivalent to SAM's
--   `H`.
ClipHard :: CigarUnitOperation

-- | <tt>PAD</tt> The pad operator indicates that there is padding in an
--   alignment. This operator is equivalent to SAM's `P`.
Pad :: CigarUnitOperation

-- | <tt>SEQUENCE_MATCH</tt> This operator indicates that this portion of
--   the aligned sequence exactly matches the reference. This operator is
--   equivalent to SAM's `=`.
SequenceMatch :: CigarUnitOperation

-- | <tt>SEQUENCE_MISMATCH</tt> This operator indicates that this portion
--   of the aligned sequence is an alignment match to the reference, but a
--   sequence mismatch. This can indicate a SNP or a read error. This
--   operator is equivalent to SAM's `X`.
SequenceMismatch :: CigarUnitOperation

-- | The type of data. Possible types include: Integer, Float, Flag,
--   Character, and String.
data VariantSetMetadataType

-- | <pre>
--   TYPE_UNSPECIFIED
--   </pre>
TypeUnspecified :: VariantSetMetadataType

-- | <pre>
--   INTEGER
--   </pre>
Integer :: VariantSetMetadataType

-- | <pre>
--   FLOAT
--   </pre>
Float :: VariantSetMetadataType

-- | <pre>
--   FLAG
--   </pre>
Flag :: VariantSetMetadataType

-- | <pre>
--   CHARACTER
--   </pre>
Character :: VariantSetMetadataType

-- | <pre>
--   STRING
--   </pre>
String :: VariantSetMetadataType

-- | Response message for `TestIamPermissions` method.
--   
--   <i>See:</i> <a>testIAMPermissionsResponse</a> smart constructor.
data TestIAMPermissionsResponse

-- | Creates a value of <a>TestIAMPermissionsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tiamprPermissions</a></li>
--   </ul>
testIAMPermissionsResponse :: TestIAMPermissionsResponse

-- | A subset of `TestPermissionsRequest.permissions` that the caller is
--   allowed.
tiamprPermissions :: Lens' TestIAMPermissionsResponse [Text]

-- | The dataset list response.
--   
--   <i>See:</i> <a>listDataSetsResponse</a> smart constructor.
data ListDataSetsResponse

-- | Creates a value of <a>ListDataSetsResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ldsrNextPageToken</a></li>
--   <li><a>ldsrDataSets</a></li>
--   </ul>
listDataSetsResponse :: ListDataSetsResponse

-- | 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.
ldsrNextPageToken :: Lens' ListDataSetsResponse (Maybe Text)

-- | The list of matching Datasets.
ldsrDataSets :: Lens' ListDataSetsResponse [DataSet]

-- | The read group set import request.
--   
--   <i>See:</i> <a>importReadGroupSetsRequest</a> smart constructor.
data ImportReadGroupSetsRequest

-- | Creates a value of <a>ImportReadGroupSetsRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irgsrReferenceSetId</a></li>
--   <li><a>irgsrDataSetId</a></li>
--   <li><a>irgsrSourceURIs</a></li>
--   <li><a>irgsrPartitionStrategy</a></li>
--   </ul>
importReadGroupSetsRequest :: ImportReadGroupSetsRequest

-- | 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.
irgsrReferenceSetId :: Lens' ImportReadGroupSetsRequest (Maybe Text)

-- | Required. The ID of the dataset these read group sets will belong to.
--   The caller must have WRITE permissions to this dataset.
irgsrDataSetId :: Lens' ImportReadGroupSetsRequest (Maybe Text)

-- | A list of URIs pointing at <a>BAM files</a> in Google Cloud Storage.
--   Those URIs can include wildcards (*), but do not add or remove
--   matching files before import has completed. Note that Google Cloud
--   Storage object listing is only eventually consistent: files added may
--   be not be immediately visible to everyone. Thus, if using a wildcard
--   it is preferable not to start the import immediately after the files
--   are created.
irgsrSourceURIs :: Lens' ImportReadGroupSetsRequest [Text]

-- | The partition strategy describes how read groups are partitioned into
--   read group sets.
irgsrPartitionStrategy :: Lens' ImportReadGroupSetsRequest (Maybe ImportReadGroupSetsRequestPartitionStrategy)

-- | The variant data import request.
--   
--   <i>See:</i> <a>importVariantsRequest</a> smart constructor.
data ImportVariantsRequest

-- | Creates a value of <a>ImportVariantsRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ivrVariantSetId</a></li>
--   <li><a>ivrFormat</a></li>
--   <li><a>ivrInfoMergeConfig</a></li>
--   <li><a>ivrNormalizeReferenceNames</a></li>
--   <li><a>ivrSourceURIs</a></li>
--   </ul>
importVariantsRequest :: ImportVariantsRequest

-- | Required. The variant set to which variant data should be imported.
ivrVariantSetId :: Lens' ImportVariantsRequest (Maybe Text)

-- | The format of the variant data being imported. If unspecified,
--   defaults to to `VCF`.
ivrFormat :: Lens' ImportVariantsRequest (Maybe ImportVariantsRequestFormat)

-- | A mapping between info field keys and the InfoMergeOperations to be
--   performed on them. This is plumbed down to the MergeVariantRequests
--   generated by the resulting import job.
ivrInfoMergeConfig :: Lens' ImportVariantsRequest (Maybe ImportVariantsRequestInfoMergeConfig)

-- | 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".
ivrNormalizeReferenceNames :: Lens' ImportVariantsRequest (Maybe Bool)

-- | A list of URIs referencing variant files in Google Cloud Storage. URIs
--   can include wildcards <a>as described here</a>. Note that recursive
--   wildcards ('**') are not supported.
ivrSourceURIs :: Lens' ImportVariantsRequest [Text]
data ExternalId

-- | Creates a value of <a>ExternalId</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eiSourceName</a></li>
--   <li><a>eiId</a></li>
--   </ul>
externalId :: ExternalId

-- | The name of the source of this data.
eiSourceName :: Lens' ExternalId (Maybe Text)

-- | The id used by the source of this data.
eiId :: Lens' ExternalId (Maybe Text)

-- | A single CIGAR operation.
--   
--   <i>See:</i> <a>cigarUnit</a> smart constructor.
data CigarUnit

-- | Creates a value of <a>CigarUnit</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cuOperation</a></li>
--   <li><a>cuOperationLength</a></li>
--   <li><a>cuReferenceSequence</a></li>
--   </ul>
cigarUnit :: CigarUnit
cuOperation :: Lens' CigarUnit (Maybe CigarUnitOperation)

-- | The number of genomic bases that the operation runs for. Required.
cuOperationLength :: Lens' CigarUnit (Maybe Int64)

-- | `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.
cuReferenceSequence :: Lens' CigarUnit (Maybe Text)

-- | Defines an Identity and Access Management (IAM) policy. It is used to
--   specify access control policies for Cloud Platform resources. A
--   `Policy` consists of a list of `bindings`. A `Binding` binds a list of
--   `members` to a `role`, where the members can be user accounts, Google
--   groups, Google domains, and service accounts. A `role` is a named list
--   of permissions defined by IAM. **Example** { "bindings": [ { "role":
--   "roles/owner", "members": [ "user:mike'example.com",
--   "group:admins'example.com", "domain:google.com",
--   "serviceAccount:my-other-app'appspot.gserviceaccount.com", ] }, {
--   "role": "roles/viewer", "members": ["user:sean'example.com"] } ] } For
--   a description of IAM and its features, see the <a>IAM developer's
--   guide</a>.
--   
--   <i>See:</i> <a>policy</a> smart constructor.
data Policy

-- | Creates a value of <a>Policy</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>polEtag</a></li>
--   <li><a>polVersion</a></li>
--   <li><a>polBindings</a></li>
--   </ul>
policy :: Policy

-- | `etag` is used for optimistic concurrency control as a way to help
--   prevent simultaneous updates of a policy from overwriting each other.
--   It is strongly suggested that systems make use of the `etag` in the
--   read-modify-write cycle to perform policy updates in order to avoid
--   race conditions: An `etag` is returned in the response to
--   `getIamPolicy`, and systems are expected to put that etag in the
--   request to `setIamPolicy` to ensure that their change will be applied
--   to the same version of the policy. If no `etag` is provided in the
--   call to `setIamPolicy`, then the existing policy is overwritten
--   blindly.
polEtag :: Lens' Policy (Maybe ByteString)

-- | Version of the `Policy`. The default version is 0.
polVersion :: Lens' Policy (Maybe Int32)

-- | Associates a list of `members` to a `role`. Multiple `bindings` must
--   not be specified for the same `role`. `bindings` with no members will
--   result in an error.
polBindings :: Lens' Policy [Binding]

-- | The variant data export request.
--   
--   <i>See:</i> <a>exportVariantSetRequest</a> smart constructor.
data ExportVariantSetRequest

-- | Creates a value of <a>ExportVariantSetRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>evsrBigQueryDataSet</a></li>
--   <li><a>evsrBigQueryTable</a></li>
--   <li><a>evsrFormat</a></li>
--   <li><a>evsrCallSetIds</a></li>
--   <li><a>evsrProjectId</a></li>
--   </ul>
exportVariantSetRequest :: ExportVariantSetRequest

-- | Required. The BigQuery dataset to export data to. This dataset must
--   already exist. Note that this is distinct from the Genomics concept of
--   "dataset".
evsrBigQueryDataSet :: Lens' ExportVariantSetRequest (Maybe Text)

-- | 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.
evsrBigQueryTable :: Lens' ExportVariantSetRequest (Maybe Text)

-- | The format for the exported data.
evsrFormat :: Lens' ExportVariantSetRequest (Maybe ExportVariantSetRequestFormat)

-- | If provided, only variant call information from the specified call
--   sets will be exported. By default all variant calls are exported.
evsrCallSetIds :: Lens' ExportVariantSetRequest [Text]

-- | Required. The Google Cloud project ID that owns the destination
--   BigQuery dataset. The caller must have WRITE access to this project.
--   This project will also own the resulting export job.
evsrProjectId :: Lens' ExportVariantSetRequest (Maybe Text)

-- | Type has been adapted from ClinVar's list of variant types.
data VariantAnnotationType

-- | <pre>
--   TYPE_UNSPECIFIED
--   </pre>
VATTypeUnspecified :: VariantAnnotationType

-- | <tt>TYPE_OTHER</tt> `TYPE_OTHER` should be used when no other Type
--   will suffice. Further explanation of the variant type may be included
--   in the info field.
VATTypeOther :: VariantAnnotationType

-- | <tt>INSERTION</tt> `INSERTION` indicates an insertion.
VATInsertion :: VariantAnnotationType

-- | <tt>DELETION</tt> `DELETION` indicates a deletion.
VATDeletion :: VariantAnnotationType

-- | <tt>SUBSTITUTION</tt> `SUBSTITUTION` indicates a block substitution of
--   two or more nucleotides.
VATSubstitution :: VariantAnnotationType

-- | <tt>SNP</tt> `SNP` indicates a single nucleotide polymorphism.
VATSnp :: VariantAnnotationType

-- | <tt>STRUCTURAL</tt> `STRUCTURAL` indicates a large structural variant,
--   including chromosomal fusions, inversions, etc.
VATStructural :: VariantAnnotationType

-- | <tt>CNV</tt> `CNV` indicates a variation in copy number.
VATCnv :: VariantAnnotationType

-- | Metadata describing an Operation.
--   
--   <i>See:</i> <a>operationMetadata</a> smart constructor.
data OperationMetadata

-- | Creates a value of <a>OperationMetadata</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>omClientId</a></li>
--   <li><a>omStartTime</a></li>
--   <li><a>omEvents</a></li>
--   <li><a>omEndTime</a></li>
--   <li><a>omLabels</a></li>
--   <li><a>omProjectId</a></li>
--   <li><a>omCreateTime</a></li>
--   <li><a>omRuntimeMetadata</a></li>
--   <li><a>omRequest</a></li>
--   </ul>
operationMetadata :: OperationMetadata

-- | This field is deprecated. Use `labels` instead. Optionally provided by
--   the caller when submitting the request that creates the operation.
omClientId :: Lens' OperationMetadata (Maybe Text)

-- | The time at which the job began to run.
omStartTime :: Lens' OperationMetadata (Maybe UTCTime)

-- | Optional event messages that were generated during the job's
--   execution. This also contains any warnings that were generated during
--   import or export.
omEvents :: Lens' OperationMetadata [OperationEvent]

-- | The time at which the job stopped running.
omEndTime :: Lens' OperationMetadata (Maybe UTCTime)

-- | Optionally provided by the caller when submitting the request that
--   creates the operation.
omLabels :: Lens' OperationMetadata (Maybe OperationMetadataLabels)

-- | The Google Cloud Project in which the job is scoped.
omProjectId :: Lens' OperationMetadata (Maybe Text)

-- | The time at which the job was submitted to the Genomics service.
omCreateTime :: Lens' OperationMetadata (Maybe UTCTime)

-- | Runtime metadata on this Operation.
omRuntimeMetadata :: Lens' OperationMetadata (Maybe OperationMetadataRuntimeMetadata)

-- | The original request that started the operation. Note that this will
--   be in current version of the API. If the operation was started with
--   v1beta2 API and a GetOperation is performed on v1 API, a v1 request
--   will be returned.
omRequest :: Lens' OperationMetadata (Maybe OperationMetadataRequest)

-- | The format of the variant data being imported. If unspecified,
--   defaults to to `VCF`.
data ImportVariantsRequestFormat

-- | <pre>
--   FORMAT_UNSPECIFIED
--   </pre>
FormatUnspecified :: ImportVariantsRequestFormat

-- | <tt>FORMAT_VCF</tt> VCF (Variant Call Format). The VCF files may be
--   gzip compressed. gVCF is also supported.
FormatVcf :: ImportVariantsRequestFormat

-- | <tt>FORMAT_COMPLETE_GENOMICS</tt> Complete Genomics masterVarBeta
--   format. The masterVarBeta files may be bzip2 compressed.
FormatCompleteGenomics :: ImportVariantsRequestFormat
data SearchAnnotationsRequest

-- | Creates a value of <a>SearchAnnotationsRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sarStart</a></li>
--   <li><a>sarReferenceId</a></li>
--   <li><a>sarReferenceName</a></li>
--   <li><a>sarEnd</a></li>
--   <li><a>sarPageToken</a></li>
--   <li><a>sarAnnotationSetIds</a></li>
--   <li><a>sarPageSize</a></li>
--   </ul>
searchAnnotationsRequest :: SearchAnnotationsRequest

-- | The start position of the range on the reference, 0-based inclusive.
--   If specified, referenceId or referenceName must be specified. Defaults
--   to 0.
sarStart :: Lens' SearchAnnotationsRequest (Maybe Int64)

-- | The ID of the reference to query.
sarReferenceId :: Lens' SearchAnnotationsRequest (Maybe Text)

-- | The name of the reference to query, within the reference set
--   associated with this query.
sarReferenceName :: Lens' SearchAnnotationsRequest (Maybe Text)

-- | The end position of the range on the reference, 0-based exclusive. If
--   referenceId or referenceName must be specified, Defaults to the length
--   of the reference.
sarEnd :: Lens' SearchAnnotationsRequest (Maybe Int64)

-- | 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.
sarPageToken :: Lens' SearchAnnotationsRequest (Maybe Text)

-- | Required. The annotation sets to search within. The caller must have
--   `READ` access to these annotation sets. All queried annotation sets
--   must have the same type.
sarAnnotationSetIds :: Lens' SearchAnnotationsRequest [Text]

-- | The maximum number of results to return in a single page. If
--   unspecified, defaults to 256. The maximum value is 2048.
sarPageSize :: Lens' SearchAnnotationsRequest (Maybe Int32)

-- | The search variant sets response.
--   
--   <i>See:</i> <a>searchVariantSetsResponse</a> smart constructor.
data SearchVariantSetsResponse

-- | Creates a value of <a>SearchVariantSetsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>svsrNextPageToken</a></li>
--   <li><a>svsrVariantSets</a></li>
--   </ul>
searchVariantSetsResponse :: SearchVariantSetsResponse

-- | 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.
svsrNextPageToken :: Lens' SearchVariantSetsResponse (Maybe Text)

-- | The variant sets belonging to the requested dataset.
svsrVariantSets :: Lens' SearchVariantSetsResponse [VariantSet]

-- | The variant search request.
--   
--   <i>See:</i> <a>searchVariantsRequest</a> smart constructor.
data SearchVariantsRequest

-- | Creates a value of <a>SearchVariantsRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>svrStart</a></li>
--   <li><a>svrCallSetIds</a></li>
--   <li><a>svrReferenceName</a></li>
--   <li><a>svrEnd</a></li>
--   <li><a>svrMaxCalls</a></li>
--   <li><a>svrPageToken</a></li>
--   <li><a>svrVariantName</a></li>
--   <li><a>svrVariantSetIds</a></li>
--   <li><a>svrPageSize</a></li>
--   </ul>
searchVariantsRequest :: SearchVariantsRequest

-- | The beginning of the window (0-based, inclusive) for which overlapping
--   variants should be returned. If unspecified, defaults to 0.
svrStart :: Lens' SearchVariantsRequest (Maybe Int64)

-- | 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.
svrCallSetIds :: Lens' SearchVariantsRequest [Text]

-- | Required. Only return variants in this reference sequence.
svrReferenceName :: Lens' SearchVariantsRequest (Maybe Text)

-- | The end of the window, 0-based exclusive. If unspecified or 0,
--   defaults to the length of the reference.
svrEnd :: Lens' SearchVariantsRequest (Maybe Int64)

-- | The maximum number of calls to return in a single page. Note that this
--   limit may be exceeded in the event that a matching variant contains
--   more calls than the requested maximum. If unspecified, defaults to
--   5000. The maximum value is 10000.
svrMaxCalls :: Lens' SearchVariantsRequest (Maybe Int32)

-- | 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.
svrPageToken :: Lens' SearchVariantsRequest (Maybe Text)

-- | Only return variants which have exactly this name.
svrVariantName :: Lens' SearchVariantsRequest (Maybe Text)

-- | 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.
svrVariantSetIds :: Lens' SearchVariantsRequest [Text]

-- | The maximum number of variants to return in a single page. If
--   unspecified, defaults to 5000. The maximum value is 10000.
svrPageSize :: Lens' SearchVariantsRequest (Maybe Int32)

-- | The format for the exported data.
data ExportVariantSetRequestFormat

-- | <pre>
--   FORMAT_UNSPECIFIED
--   </pre>
EVSRFFormatUnspecified :: ExportVariantSetRequestFormat

-- | <tt>FORMAT_BIGQUERY</tt> Export the data to Google BigQuery.
EVSRFFormatBigQuery :: ExportVariantSetRequestFormat

-- | A map of additional read alignment information. This must be of the
--   form map (string key mapping to a list of string values).
--   
--   <i>See:</i> <a>annotationSetInfo</a> smart constructor.
data AnnotationSetInfo

-- | Creates a value of <a>AnnotationSetInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asiAddtional</a></li>
--   </ul>
annotationSetInfo :: HashMap Text [JSONValue] -> AnnotationSetInfo
asiAddtional :: Lens' AnnotationSetInfo (HashMap Text [JSONValue])

-- | Describes a Compute Engine resource that is being managed by a running
--   pipeline.
--   
--   <i>See:</i> <a>computeEngine</a> smart constructor.
data ComputeEngine

-- | Creates a value of <a>ComputeEngine</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ceZone</a></li>
--   <li><a>ceDiskNames</a></li>
--   <li><a>ceMachineType</a></li>
--   <li><a>ceInstanceName</a></li>
--   </ul>
computeEngine :: ComputeEngine

-- | The availability zone in which the instance resides.
ceZone :: Lens' ComputeEngine (Maybe Text)

-- | The names of the disks that were created for this pipeline.
ceDiskNames :: Lens' ComputeEngine [Text]

-- | The machine type of the instance.
ceMachineType :: Lens' ComputeEngine (Maybe Text)

-- | The instance on which the operation is running.
ceInstanceName :: Lens' ComputeEngine (Maybe Text)
data SearchAnnotationSetsResponse

-- | Creates a value of <a>SearchAnnotationSetsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sasrNextPageToken</a></li>
--   <li><a>sasrAnnotationSets</a></li>
--   </ul>
searchAnnotationSetsResponse :: SearchAnnotationSetsResponse

-- | 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.
sasrNextPageToken :: Lens' SearchAnnotationSetsResponse (Maybe Text)

-- | The matching annotation sets.
sasrAnnotationSets :: Lens' SearchAnnotationSetsResponse [AnnotationSet]

-- | A map of additional call set information. This must be of the form map
--   (string key mapping to a list of string values).
--   
--   <i>See:</i> <a>callSetInfo</a> smart constructor.
data CallSetInfo

-- | Creates a value of <a>CallSetInfo</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>csiAddtional</a></li>
--   </ul>
callSetInfo :: HashMap Text [JSONValue] -> CallSetInfo
csiAddtional :: Lens' CallSetInfo (HashMap Text [JSONValue])

-- | Remaining structured metadata key-value pairs. This must be of the
--   form map (string key mapping to a list of string values).
--   
--   <i>See:</i> <a>variantSetMetadataInfo</a> smart constructor.
data VariantSetMetadataInfo

-- | Creates a value of <a>VariantSetMetadataInfo</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vsmiAddtional</a></li>
--   </ul>
variantSetMetadataInfo :: HashMap Text [JSONValue] -> VariantSetMetadataInfo
vsmiAddtional :: Lens' VariantSetMetadataInfo (HashMap Text [JSONValue])

-- | If importing ReadGroupSets, an ImportReadGroupSetsResponse is
--   returned. If importing Variants, an ImportVariantsResponse is
--   returned. For pipelines and exports, an empty response is returned.
--   
--   <i>See:</i> <a>operationResponse</a> smart constructor.
data OperationResponse

-- | Creates a value of <a>OperationResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>orAddtional</a></li>
--   </ul>
operationResponse :: HashMap Text JSONValue -> OperationResponse

-- | Properties of the object. Contains field 'type with type URL.
orAddtional :: Lens' OperationResponse (HashMap Text JSONValue)

-- | A transcript represents the assertion that a particular region of the
--   reference genome may be transcribed as RNA.
--   
--   <i>See:</i> <a>transcript</a> smart constructor.
data Transcript

-- | Creates a value of <a>Transcript</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tGeneId</a></li>
--   <li><a>tCodingSequence</a></li>
--   <li><a>tExons</a></li>
--   </ul>
transcript :: Transcript

-- | The annotation ID of the gene from which this transcript is
--   transcribed.
tGeneId :: Lens' Transcript (Maybe Text)

-- | 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.
tCodingSequence :: Lens' Transcript (Maybe CodingSequence)

-- | The <a>exons</a> 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.
tExons :: Lens' Transcript [Exon]

-- | An event that occurred during an Operation.
--   
--   <i>See:</i> <a>operationEvent</a> smart constructor.
data OperationEvent

-- | Creates a value of <a>OperationEvent</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oeStartTime</a></li>
--   <li><a>oeEndTime</a></li>
--   <li><a>oeDescription</a></li>
--   </ul>
operationEvent :: OperationEvent

-- | Optional time of when event started.
oeStartTime :: Lens' OperationEvent (Maybe UTCTime)

-- | Optional time of when event finished. An event can have a start time
--   and no finish time. If an event has a finish time, there must be a
--   start time.
oeEndTime :: Lens' OperationEvent (Maybe UTCTime)

-- | Required description of event.
oeDescription :: Lens' OperationEvent (Maybe Text)

-- | ReferenceBound records an upper bound for the starting coordinate of
--   variants in a particular reference.
--   
--   <i>See:</i> <a>referenceBound</a> smart constructor.
data ReferenceBound

-- | Creates a value of <a>ReferenceBound</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rbUpperBound</a></li>
--   <li><a>rbReferenceName</a></li>
--   </ul>
referenceBound :: ReferenceBound

-- | An upper bound (inclusive) on the starting coordinate of any variant
--   in the reference sequence.
rbUpperBound :: Lens' ReferenceBound (Maybe Int64)

-- | The name of the reference associated with this reference bound.
rbReferenceName :: Lens' ReferenceBound (Maybe Text)
data UndeleteDataSetRequest

-- | Creates a value of <a>UndeleteDataSetRequest</a> with the minimum
--   fields required to make a request.
undeleteDataSetRequest :: UndeleteDataSetRequest

-- | Associates `members` with a `role`.
--   
--   <i>See:</i> <a>binding</a> smart constructor.
data Binding

-- | Creates a value of <a>Binding</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bMembers</a></li>
--   <li><a>bRole</a></li>
--   </ul>
binding :: Binding

-- | Specifies the identities requesting access for a Cloud Platform
--   resource. `members` can have the following values: * `allUsers`: A
--   special identifier that represents anyone who is on the internet; with
--   or without a Google account. * `allAuthenticatedUsers`: A special
--   identifier that represents anyone who is authenticated with a Google
--   account or a service account. * `user:{emailid}`: An email address
--   that represents a specific Google account. For example,
--   `alice'gmail.com` or `joe'example.com`. * `serviceAccount:{emailid}`:
--   An email address that represents a service account. For example,
--   `my-other-app'appspot.gserviceaccount.com`. * `group:{emailid}`: An
--   email address that represents a Google group. For example,
--   `admins'example.com`. * `domain:{domain}`: A Google Apps domain name
--   that represents all the users of that domain. For example,
--   `google.com` or `example.com`.
bMembers :: Lens' Binding [Text]

-- | Role that is assigned to `members`. For example, `roles/viewer`,
--   `roles/editor`, or `roles/owner`. Required
bRole :: Lens' Binding (Maybe Text)

-- | 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.
--   
--   <i>See:</i> <a>position</a> smart constructor.
data Position

-- | Creates a value of <a>Position</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pReverseStrand</a></li>
--   <li><a>pReferenceName</a></li>
--   <li><a>pPosition</a></li>
--   </ul>
position :: Position

-- | Whether this position is on the reverse strand, as opposed to the
--   forward strand.
pReverseStrand :: Lens' Position (Maybe Bool)

-- | The name of the reference in whatever reference set is being used.
pReferenceName :: Lens' Position (Maybe Text)

-- | The 0-based offset from the start of the forward strand for that
--   reference.
pPosition :: Lens' Position (Maybe Int64)

-- | Runtime metadata that will be populated in the runtimeMetadata field
--   of the Operation associated with a RunPipeline execution.
--   
--   <i>See:</i> <a>runtimeMetadata</a> smart constructor.
data RuntimeMetadata

-- | Creates a value of <a>RuntimeMetadata</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rmComputeEngine</a></li>
--   </ul>
runtimeMetadata :: RuntimeMetadata

-- | Execution information specific to Google Compute Engine.
rmComputeEngine :: Lens' RuntimeMetadata (Maybe ComputeEngine)

-- | The read group set search response.
--   
--   <i>See:</i> <a>searchReadGroupSetsResponse</a> smart constructor.
data SearchReadGroupSetsResponse

-- | Creates a value of <a>SearchReadGroupSetsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>srgsrNextPageToken</a></li>
--   <li><a>srgsrReadGroupSets</a></li>
--   </ul>
searchReadGroupSetsResponse :: SearchReadGroupSetsResponse

-- | 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.
srgsrNextPageToken :: Lens' SearchReadGroupSetsResponse (Maybe Text)

-- | The list of matching read group sets.
srgsrReadGroupSets :: Lens' SearchReadGroupSetsResponse [ReadGroupSet]

-- | A map of additional read group set information.
--   
--   <i>See:</i> <a>readGroupSetInfo</a> smart constructor.
data ReadGroupSetInfo

-- | Creates a value of <a>ReadGroupSetInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rgsiAddtional</a></li>
--   </ul>
readGroupSetInfo :: HashMap Text [JSONValue] -> ReadGroupSetInfo
rgsiAddtional :: Lens' ReadGroupSetInfo (HashMap Text [JSONValue])

-- | 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. For more genomics
--   resource definitions, see <a>Fundamentals of Google Genomics</a>
--   
--   <i>See:</i> <a>referenceSet</a> smart constructor.
data ReferenceSet

-- | Creates a value of <a>ReferenceSet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rsSourceAccessions</a></li>
--   <li><a>rsReferenceIds</a></li>
--   <li><a>rsMD5checksum</a></li>
--   <li><a>rsNcbiTaxonId</a></li>
--   <li><a>rsId</a></li>
--   <li><a>rsAssemblyId</a></li>
--   <li><a>rsSourceURI</a></li>
--   <li><a>rsDescription</a></li>
--   </ul>
referenceSet :: ReferenceSet

-- | All known corresponding accession IDs in INSDC (GenBank/ENA/DDBJ)
--   ideally with a version number, for example `NC_000001.11`.
rsSourceAccessions :: Lens' ReferenceSet [Text]

-- | The IDs of the reference objects that are part of this set.
--   `Reference.md5checksum` must be unique within this set.
rsReferenceIds :: Lens' ReferenceSet [Text]

-- | 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.
rsMD5checksum :: Lens' ReferenceSet (Maybe Text)

-- | ID from http://www.ncbi.nlm.nih.gov/taxonomy (for example, 9606 for
--   human) indicating the species which this reference set 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, for example EBV in a human
--   reference genome.
rsNcbiTaxonId :: Lens' ReferenceSet (Maybe Int32)

-- | The server-generated reference set ID, unique across all reference
--   sets.
rsId :: Lens' ReferenceSet (Maybe Text)

-- | Public id of this reference set, such as `GRCh37`.
rsAssemblyId :: Lens' ReferenceSet (Maybe Text)

-- | The URI from which the references were obtained.
rsSourceURI :: Lens' ReferenceSet (Maybe Text)

-- | Free text description of this reference set.
rsDescription :: Lens' ReferenceSet (Maybe Text)
