googleapis
Version:
Google APIs Client Library for Node.js
1,414 lines • 251 kB
TypeScript
/**
* Copyright 2015 Google Inc. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { AxiosPromise } from 'axios';
import { GoogleApis } from '../..';
import { BodyResponseCallback, GlobalOptions, MethodOptions } from '../../lib/api';
/**
* Genomics API
*
* Upload, process, query, and search Genomics data in the cloud.
*
* @example
* const google = require('googleapis');
* const genomics = google.genomics('v1');
*
* @namespace genomics
* @type {Function}
* @version v1
* @variation v1
* @param {object=} options Options for Genomics
*/
export declare class Genomics {
_options: GlobalOptions;
google: GoogleApis;
root: this;
annotations: Resource$Annotations;
annotationsets: Resource$Annotationsets;
callsets: Resource$Callsets;
datasets: Resource$Datasets;
operations: Resource$Operations;
readgroupsets: Resource$Readgroupsets;
reads: Resource$Reads;
references: Resource$References;
referencesets: Resource$Referencesets;
variants: Resource$Variants;
variantsets: Resource$Variantsets;
constructor(options: GlobalOptions, google: GoogleApis);
getRoot(): this;
}
/**
* 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`.
*/
export interface Schema$Annotation {
/**
* The annotation set to which this annotation belongs.
*/
annotationSetId: string;
/**
* The end position of the range on the reference, 0-based exclusive.
*/
end: string;
/**
* The server-generated annotation ID, unique across all annotations.
*/
id: string;
/**
* A map of additional read alignment information. This must be of the form
* map<string, string[]> (string key mapping to a list of string
* values).
*/
info: any;
/**
* The display name of this annotation.
*/
name: string;
/**
* The ID of the Google Genomics reference associated with this range.
*/
referenceId: string;
/**
* The display name corresponding to the reference specified by `referenceId`,
* for example `chr1`, `1`, or `chrX`.
*/
referenceName: string;
/**
* 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.
*/
reverseStrand: boolean;
/**
* The start position of the range on the reference, 0-based inclusive.
*/
start: string;
/**
* 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`.
*/
transcript: Schema$Transcript;
/**
* The data type for this annotation. Must match the containing annotation
* set's type.
*/
type: string;
/**
* 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`.
*/
variant: Schema$VariantAnnotation;
}
/**
* 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'.
*/
export interface Schema$AnnotationSet {
/**
* The dataset to which this annotation set belongs.
*/
datasetId: string;
/**
* The server-generated annotation set ID, unique across all annotation sets.
*/
id: string;
/**
* A map of additional read alignment information. This must be of the form
* map<string, string[]> (string key mapping to a list of string
* values).
*/
info: any;
/**
* The display name for this annotation set.
*/
name: string;
/**
* The ID of the reference set that defines the coordinate space for this
* set's annotations.
*/
referenceSetId: string;
/**
* The source URI describing the file from which this annotation set was
* generated, if any.
*/
sourceUri: string;
/**
* The type of annotations contained within this set.
*/
type: string;
}
export interface Schema$BatchCreateAnnotationsRequest {
/**
* The annotations to be created. At most 4096 can be specified in a single
* request.
*/
annotations: Schema$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.
*/
requestId: string;
}
export interface Schema$BatchCreateAnnotationsResponse {
/**
* The resulting per-annotation entries, ordered consistently with the
* original request.
*/
entries: Schema$Entry[];
}
/**
* Associates `members` with a `role`.
*/
export interface Schema$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`.
*/
members: string[];
/**
* Role that is assigned to `members`. For example, `roles/viewer`,
* `roles/editor`, or `roles/owner`. Required
*/
role: string;
}
/**
* A call set is a collection of variant calls, typically for one sample. It
* belongs to a variant set.
*/
export interface Schema$CallSet {
/**
* The date this call set was created in milliseconds from the epoch.
*/
created: string;
/**
* The server-generated call set ID, unique across all call sets.
*/
id: string;
/**
* A map of additional call set information. This must be of the form
* map<string, string[]> (string key mapping to a list of string
* values).
*/
info: any;
/**
* The call set name.
*/
name: string;
/**
* The sample ID this call set corresponds to.
*/
sampleId: string;
/**
* 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 [GA4GH 0.5.1
* API](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/variants.avdl#L76).
*/
variantSetIds: string[];
}
/**
* The request message for Operations.CancelOperation.
*/
export interface Schema$CancelOperationRequest {
}
/**
* A single CIGAR operation.
*/
export interface Schema$CigarUnit {
operation: string;
/**
* The number of genomic bases that the operation runs for. Required.
*/
operationLength: string;
/**
* `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.
*/
referenceSequence: string;
}
export interface Schema$ClinicalCondition {
/**
* The MedGen concept id associated with this gene. Search for these IDs at
* http://www.ncbi.nlm.nih.gov/medgen/
*/
conceptId: string;
/**
* The set of external IDs for this condition.
*/
externalIds: Schema$ExternalId[];
/**
* A set of names for the condition.
*/
names: string[];
/**
* The OMIM id for this condition. Search for these IDs at http://omim.org/
*/
omimId: string;
}
export interface Schema$CodingSequence {
/**
* 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.
*/
end: string;
/**
* The start of the coding sequence on this annotation's reference
* sequence, 0-based inclusive. Note that this position is relative to the
* reference start, and *not* the containing annotation start.
*/
start: string;
}
/**
* Describes a Compute Engine resource that is being managed by a running
* pipeline.
*/
export interface Schema$ComputeEngine {
/**
* The names of the disks that were created for this pipeline.
*/
diskNames: string[];
/**
* The instance on which the operation is running.
*/
instanceName: string;
/**
* The machine type of the instance.
*/
machineType: string;
/**
* The availability zone in which the instance resides.
*/
zone: string;
}
/**
* This event is generated when a container starts.
*/
export interface Schema$ContainerStartedEvent {
/**
* The numeric ID of the action that started this container.
*/
actionId: number;
/**
* The public IP address that can be used to connect to the container. This
* field is only populated when at least one port mapping is present. If the
* instance was created with a private address this field will be empty even
* if port mappings exist.
*/
ipAddress: string;
/**
* The container to host port mappings installed for this container. This set
* will contain any ports exposed using the PUBLISH_EXPOSED_PORTS flag as well
* as any specified in the Action definition.
*/
portMappings: any;
}
/**
* This event is generated when a container exits.
*/
export interface Schema$ContainerStoppedEvent {
/**
* The numeric ID of the action that started this container.
*/
actionId: number;
/**
* The exit status of the container.
*/
exitStatus: number;
}
/**
* A bucket over which read coverage has been precomputed. A bucket corresponds
* to a specific range of the reference sequence.
*/
export interface Schema$CoverageBucket {
/**
* The average number of reads which are aligned to each individual reference
* base in this bucket.
*/
meanCoverage: number;
/**
* The genomic coordinate range spanned by this bucket.
*/
range: Schema$Range;
}
/**
* A Dataset is a collection of genomic data.
*/
export interface Schema$Dataset {
/**
* The time this dataset was created, in seconds from the epoch.
*/
createTime: string;
/**
* The server-generated dataset ID, unique across all datasets.
*/
id: string;
/**
* The dataset name.
*/
name: string;
/**
* The Google Cloud project ID that this dataset belongs to.
*/
projectId: string;
}
/**
* This event is generated whenever a resource limitation or transient error
* delays execution of a pipeline that was otherwise ready to run.
*/
export interface Schema$DelayedEvent {
/**
* A textual description of the cause of the delay. The string may change
* without notice since it is often generated by another service (such as
* Compute Engine).
*/
cause: string;
/**
* If the delay was caused by a resource shortage, this field lists the
* Compute Engine metrics that are preventing this operation from running (for
* example, CPUS or INSTANCES). If the particular metric is not known, a
* single UNKNOWN metric will be present.
*/
metrics: string[];
}
/**
* 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 `{}`.
*/
export interface Schema$Empty {
}
export interface Schema$Entry {
/**
* The created annotation, if creation was successful.
*/
annotation: Schema$Annotation;
/**
* The creation status.
*/
status: Schema$Status;
}
/**
* Event carries information about events that occur during pipeline execution.
*/
export interface Schema$Event {
/**
* A human readable description of the event. Note that these strings may
* change at any time without notice. Any application logic must use the
* information in the details field.
*/
description: string;
/**
* Machine readable details about the event.
*/
details: any;
/**
* The time that the event occurred.
*/
timestamp: string;
}
export interface Schema$Exon {
/**
* 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.
*/
end: string;
/**
* 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.
*/
frame: number;
/**
* 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.
*/
start: string;
}
export interface Schema$Experiment {
/**
* The instrument model used as part of this experiment. This maps to
* sequencing technology in the SAM spec.
*/
instrumentModel: string;
/**
* 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.
*/
libraryId: string;
/**
* 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.
*/
platformUnit: string;
/**
* The sequencing center used as part of this experiment.
*/
sequencingCenter: string;
}
/**
* The read group set export request.
*/
export interface Schema$ExportReadGroupSetRequest {
/**
* 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.
*/
exportUri: string;
/**
* Required. The Google Cloud project ID that owns this export. The caller
* must have WRITE access to this project.
*/
projectId: string;
/**
* The reference names to export. If this is not specified, all reference
* sequences, including unmapped reads, are exported. Use `*` to export only
* unmapped reads.
*/
referenceNames: string[];
}
/**
* The variant data export request.
*/
export interface Schema$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".
*/
bigqueryDataset: string;
/**
* 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.
*/
bigqueryTable: string;
/**
* If provided, only variant call information from the specified call sets
* will be exported. By default all variant calls are exported.
*/
callSetIds: string[];
/**
* The format for the exported data.
*/
format: string;
/**
* 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.
*/
projectId: string;
}
export interface Schema$ExternalId {
/**
* The id used by the source of this data.
*/
id: string;
/**
* The name of the source of this data.
*/
sourceName: string;
}
/**
* This event is generated when the execution of a pipeline has failed. Note
* that other events may continue to occur after this event.
*/
export interface Schema$FailedEvent {
/**
* The human readable description of the cause of the failure.
*/
cause: string;
/**
* The Google standard error code that best describes this failure.
*/
code: string;
}
/**
* Request message for `GetIamPolicy` method.
*/
export interface Schema$GetIamPolicyRequest {
}
/**
* The read group set import request.
*/
export interface Schema$ImportReadGroupSetsRequest {
/**
* Required. The ID of the dataset these read group sets will belong to. The
* caller must have WRITE permissions to this dataset.
*/
datasetId: string;
/**
* The partition strategy describes how read groups are partitioned into read
* group sets.
*/
partitionStrategy: string;
/**
* 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.
*/
referenceSetId: string;
/**
* A list of URIs pointing at [BAM
* files](https://samtools.github.io/hts-specs/SAMv1.pdf) 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.
*/
sourceUris: string[];
}
/**
* The read group set import response.
*/
export interface Schema$ImportReadGroupSetsResponse {
/**
* IDs of the read group sets that were created.
*/
readGroupSetIds: string[];
}
/**
* The variant data import request.
*/
export interface Schema$ImportVariantsRequest {
/**
* The format of the variant data being imported. If unspecified, defaults to
* to `VCF`.
*/
format: string;
/**
* 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.
*/
infoMergeConfig: any;
/**
* 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".
*/
normalizeReferenceNames: boolean;
/**
* A list of URIs referencing variant files in Google Cloud Storage. URIs can
* include wildcards [as described
* here](https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames).
* Note that recursive wildcards ('**') are not supported.
*/
sourceUris: string[];
/**
* Required. The variant set to which variant data should be imported.
*/
variantSetId: string;
}
/**
* The variant data import response.
*/
export interface Schema$ImportVariantsResponse {
/**
* IDs of the call sets created during the import.
*/
callSetIds: string[];
}
/**
* A linear alignment can be represented by one CIGAR string. Describes the
* mapped position and local alignment of the read to the reference.
*/
export interface Schema$LinearAlignment {
/**
* Represents the local alignment of this sequence (alignment matches, indels,
* etc) against the reference.
*/
cigar: Schema$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.
*/
mappingQuality: number;
/**
* The position of this alignment.
*/
position: Schema$Position;
}
export interface Schema$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.
*/
nextPageToken: string;
/**
* 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.
*/
offset: string;
/**
* A substring of the bases that make up this reference.
*/
sequence: string;
}
export interface Schema$ListCoverageBucketsResponse {
/**
* 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`).
*/
bucketWidth: string;
/**
* 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.
*/
coverageBuckets: Schema$CoverageBucket[];
/**
* 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.
*/
nextPageToken: string;
}
/**
* The dataset list response.
*/
export interface Schema$ListDatasetsResponse {
/**
* The list of matching Datasets.
*/
datasets: Schema$Dataset[];
/**
* 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.
*/
nextPageToken: string;
}
/**
* The response message for Operations.ListOperations.
*/
export interface Schema$ListOperationsResponse {
/**
* The standard List next-page token.
*/
nextPageToken: string;
/**
* A list of operations that matches the specified filter in the request.
*/
operations: Schema$Operation[];
}
export interface Schema$MergeVariantsRequest {
/**
* A mapping between info field keys and the InfoMergeOperations to be
* performed on them.
*/
infoMergeConfig: any;
/**
* The variants to be merged with existing variants.
*/
variants: Schema$Variant[];
/**
* The destination variant set.
*/
variantSetId: string;
}
/**
* This resource represents a long-running operation that is the result of a
* network API call.
*/
export interface Schema$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.
*/
done: boolean;
/**
* The error result of the operation in case of failure or cancellation.
*/
error: Schema$Status;
/**
* An OperationMetadata or Metadata object. This will always be returned with
* the Operation.
*/
metadata: any;
/**
* The server-assigned name, which is only unique within the same service that
* originally returns it. For example&#58;
* `operations/CJHU7Oi_ChDrveSpBRjfuL-qzoWAgEw`
*/
name: string;
/**
* If importing ReadGroupSets, an ImportReadGroupSetsResponse is returned. If
* importing Variants, an ImportVariantsResponse is returned. For pipelines
* and exports, an Empty response is returned.
*/
response: any;
}
/**
* An event that occurred during an Operation.
*/
export interface Schema$OperationEvent {
/**
* Required description of event.
*/
description: string;
/**
* 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.
*/
endTime: string;
/**
* Optional time of when event started.
*/
startTime: string;
}
/**
* Metadata describing an Operation.
*/
export interface Schema$OperationMetadata {
/**
* This field is deprecated. Use `labels` instead. Optionally provided by the
* caller when submitting the request that creates the operation.
*/
clientId: string;
/**
* The time at which the job was submitted to the Genomics service.
*/
createTime: string;
/**
* The time at which the job stopped running.
*/
endTime: string;
/**
* Optional event messages that were generated during the job's execution.
* This also contains any warnings that were generated during import or
* export.
*/
events: Schema$OperationEvent[];
/**
* Optionally provided by the caller when submitting the request that creates
* the operation.
*/
labels: any;
/**
* The Google Cloud Project in which the job is scoped.
*/
projectId: string;
/**
* 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.
*/
request: any;
/**
* Runtime metadata on this Operation.
*/
runtimeMetadata: any;
/**
* The time at which the job began to run.
*/
startTime: string;
}
/**
* 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 [IAM developer's
* guide](https://cloud.google.com/iam/docs).
*/
export interface Schema$Policy {
/**
* Associates a list of `members` to a `role`. `bindings` with no members will
* result in an error.
*/
bindings: Schema$Binding[];
/**
* `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.
*/
etag: string;
/**
* Deprecated.
*/
version: number;
}
/**
* 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.
*/
export interface Schema$Position {
/**
* The 0-based offset from the start of the forward strand for that reference.
*/
position: string;
/**
* The name of the reference in whatever reference set is being used.
*/
referenceName: string;
/**
* Whether this position is on the reverse strand, as opposed to the forward
* strand.
*/
reverseStrand: boolean;
}
export interface Schema$Program {
/**
* The command line used to run this program.
*/
commandLine: string;
/**
* The user specified locally unique ID of the program. Used along with
* `prevProgramId` to define an ordering between programs.
*/
id: string;
/**
* The display name of the program. This is typically the colloquial name of
* the tool used, for example 'bwa' or 'picard'.
*/
name: string;
/**
* The ID of the program run before this one.
*/
prevProgramId: string;
/**
* The version of the program run.
*/
version: string;
}
/**
* This event is generated when the worker starts pulling an image.
*/
export interface Schema$PullStartedEvent {
/**
* The URI of the image that was pulled.
*/
imageUri: string;
}
/**
* This event is generated when the worker stops pulling an image.
*/
export interface Schema$PullStoppedEvent {
/**
* The URI of the image that was pulled.
*/
imageUri: string;
}
/**
* A 0-based half-open genomic coordinate range for search requests.
*/
export interface Schema$Range {
/**
* The end position of the range on the reference, 0-based exclusive.
*/
end: string;
/**
* The reference sequence name, for example `chr1`, `1`, or `chrX`.
*/
referenceName: string;
/**
* The start position of the range on the reference, 0-based inclusive.
*/
start: string;
}
/**
* 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. ### 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
*/
export interface Schema$Read {
/**
* 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.
*/
alignedQuality: number[];
/**
* 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.
*/
alignedSequence: string;
/**
* The linear alignment for this alignment record. This field is null for
* unmapped reads.
*/
alignment: Schema$LinearAlignment;
/**
* The fragment is a PCR or optical duplicate (SAM flag 0x400).
*/
duplicateFragment: boolean;
/**
* Whether this read did not pass filters, such as platform or vendor quality
* controls (SAM flag 0x200).
*/
failedVendorQualityChecks: boolean;
/**
* The observed length of the fragment, equivalent to TLEN in SAM.
*/
fragmentLength: number;
/**
* The fragment name. Equivalent to QNAME (query template name) in SAM.
*/
fragmentName: string;
/**
* The server-generated read ID, unique across all reads. This is different
* from the `fragmentName`.
*/
id: string;
/**
* A map of additional read alignment information. This must be of the form
* map<string, string[]> (string key mapping to a list of string
* values).
*/
info: any;
/**
* The mapping of the primary alignment of the `(readNumber+1)%numberReads`
* read in the fragment. It replaces mate position and mate strand in SAM.
*/
nextMatePosition: Schema$Position;
/**
* The number of reads in the fragment (extension to SAM flag 0x1).
*/
numberReads: number;
/**
* The orientation and the distance between reads from the fragment are
* consistent with the sequencing protocol (SAM flag 0x2).
*/
properPlacement: boolean;
/**
* 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).
*/
readGroupId: string;
/**
* The ID of the read group set this read belongs to. A read belongs to
* exactly one read group set.
*/
readGroupSetId: string;
/**
* The read number in sequencing. 0-based and less than numberReads. This
* field replaces SAM flag 0x40 and 0x80.
*/
readNumber: number;
/**
* 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.
*/
secondaryAlignment: boolean;
/**
* 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.
*/
supplementaryAlignment: boolean;
}
/**
* A read group is all the data that's processed the same way by the
* sequencer.
*/
export interface Schema$ReadGroup {
/**
* The dataset to which this read group belongs.
*/
datasetId: string;
/**
* A free-form text description of this read group.
*/
description: string;
/**
* The experiment used to generate this read group.
*/
experiment: Schema$Experiment;
/**
* 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.
*/
id: string;
/**
* A map of additional read group information. This must be of the form
* map<string, string[]> (string key mapping to a list of string
* values).
*/
info: any;
/**
* The read group name. This corresponds to the @RG ID field in the SAM spec.
*/
name: string;
/**
* 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.
*/
predictedInsertSize: number;
/**
* 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.
*/
programs: Schema$Program[];
/**
* The reference set the reads in this read group are aligned to.
*/
referenceSetId: string;
/**
* A client-supplied sample identifier for the reads in this read group.
*/
sampleId: string;
}
/**
* 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.
*/
export interface Schema$ReadGroupSet {
/**
* The dataset to which this read group set belongs.
*/
datasetId: string;
/**
* The filename of the original source file for this read group set, if any.
*/
filename: string;
/**
* The server-generated read group set ID, unique for all read group sets.
*/
id: string;
/**
* A map of additional read group set information.
*/
info: any;
/**
* The read group set name. By default this will be initialized to the sample
* name of the sequenced data contained in this set.
*/
name: string;
/**
* The read groups in this set. There are typically 1-10 read groups in a read
* group set.
*/
readGroups: Schema$ReadGroup[];
/**
* The reference set to which the reads in this read group set are aligned.
*/
referenceSetId: string;
}
/**
* 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.
*/
export interface Schema$Reference {
/**
* The server-generated reference ID, unique across all references.
*/
id: string;
/**
* The length of this reference's sequence.
*/
length: string;
/**
* 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.
*/
md5checksum: string;
/**
* The name of this reference, for example `22`.
*/
name: string;
/**
* ID from http://www.ncbi.nlm.nih.gov/taxonomy. For example, 9606 for human.
*/
ncbiTaxonId: number;
/**
* All known corresponding accession IDs in INSDC (GenBank/ENA/DDBJ) ideally
* with a version number, for example `GCF_000001405.26`.
*/
sourceAccessions: string[];
/**
* The URI from which the sequence was obtained. Typically specifies a FASTA
* format file.
*/
sourceUri: string;
}
/**
* ReferenceBound records an upper bound for the starting coordinate of variants
* in a particular reference.
*/
export interface Schema$ReferenceBound {
/**
* The name of the reference associated with this reference bound.
*/
referenceName: string;
/**
* An upper bound (inclusive) on the starting coordinate of any variant in the
* reference sequence.
*/
upperBound: string;
}
/**
* 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.
*/
export interface Schema$ReferenceSet {
/**
* Public id of this reference set, such as `GRCh37`.
*/
assemblyId: string;
/**
* Free text description of this reference set.
*/
description: string;
/**
* The server-generated reference set ID, unique across all reference sets.
*/
id: string;
/**
* 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.
*/
md5checksum: string;
/**
* 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.
*/
ncbiTaxonId: number;
/**
* The IDs of the reference objects that are part of this set.
* `Reference.md5checksum` must be unique within this set.
*/
referenceIds: string[];
/**
* All known corresponding accession IDs in INSDC (GenBank/ENA/DDBJ) ideally
* with a version number, for example `NC_000001.11`.
*/
sourceAccessions: string[];
/**
* The URI from which the references were obtained.
*/
sourceUri: string;
}
/**
* Runtime metadata that will be populated in the runtimeMetadata field of the
* Operation associated with a RunPipeline execution.
*/
export interface Schema$RuntimeMetadata {
/**
* Execution information specific to Google Compute Engine.
*/
computeEngine: Schema$ComputeEngine;
}
export interface Schema$SearchAnnotationSetsRequest {
/**
* Required. The dataset IDs to search within. Caller must have `READ` access
* to these datasets.
*/
datasetIds: string[];
/**
* Only return annotations sets for which a substring of the name matches this
* string (case insensitive).
*/
name: string;
/**
* The maximum number of results to return in a single page. If unspecified,
* defaults to 128. The maximum value is 1024.
*/
pageSize: number;
/**
* 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.
*/
pageToken: string;
/**
* If specified, only annotation sets associated with the given reference set
* are returned.
*/
referenceSetId: string;
/**
* If specified, only annotation sets that have any of these types are
* returned.
*/
types: string[];
}
export interface Schema$SearchAnnotationSetsResponse {
/**
* The matching annotation sets.
*/
annotationSets: Schema$AnnotationSet[];
/**
* 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.
*/
nextPageToken: string;
}
export interface Schema$SearchAnnotationsRequest {
/**
* 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.
*/
annotationSetIds: string[];
/**
* 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.
*/
end: string;
/**
* The maximum number of results to return in a single page. If unspecified,
* defaults to 256.