# Copyright 2017 Google Inc. # # 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. # NOTE: This class is auto generated by the swagger code generator program. # https://github.com/swagger-api/swagger-codegen.git # Do not edit the class manually. defmodule GoogleApi.Genomics.V1.Api.Annotations do @moduledoc """ API calls for all endpoints tagged `Annotations`. """ alias GoogleApi.Genomics.V1.Connection import GoogleApi.Genomics.V1.RequestBuilder @doc """ 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. ## Parameters - connection (GoogleApi.Genomics.V1.Connection): Connection to server - opts (KeywordList): [optional] Optional parameters - :fields (String): Selector specifying which fields to include in a partial response. - :upload_type (String): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :__/xgafv (String): V1 error format. - :callback (String): JSONP - :alt (String): Data format for response. - :access_token (String): OAuth access token. - :key (String): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :quota_user (String): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :pp (Boolean): Pretty-print response. - :bearer_token (String): OAuth bearer token. - :oauth_token (String): OAuth 2.0 token for the current user. - :upload_protocol (String): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :pretty_print (Boolean): Returns response with indentations and line breaks. - :body (BatchCreateAnnotationsRequest): ## Returns {:ok, %GoogleApi.Genomics.V1.Model.BatchCreateAnnotationsResponse{}} on success {:error, info} on failure """ @spec genomics_annotations_batch_create(Tesla.Env.client, keyword()) :: {:ok, GoogleApi.Genomics.V1.Model.BatchCreateAnnotationsResponse.t} | {:error, Tesla.Env.t} def genomics_annotations_batch_create(connection, opts \\ []) do optional_params = %{ :"fields" => :query, :"uploadType" => :query, :"$.xgafv" => :query, :"callback" => :query, :"alt" => :query, :"access_token" => :query, :"key" => :query, :"quotaUser" => :query, :"pp" => :query, :"bearer_token" => :query, :"oauth_token" => :query, :"upload_protocol" => :query, :"prettyPrint" => :query, :"body" => :body } %{} |> method(:post) |> url("/v1/annotations:batchCreate") |> add_optional_params(optional_params, opts) |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> decode(%GoogleApi.Genomics.V1.Model.BatchCreateAnnotationsResponse{}) end @doc """ 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. ## Parameters - connection (GoogleApi.Genomics.V1.Connection): Connection to server - opts (KeywordList): [optional] Optional parameters - :fields (String): Selector specifying which fields to include in a partial response. - :upload_type (String): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :__/xgafv (String): V1 error format. - :callback (String): JSONP - :alt (String): Data format for response. - :access_token (String): OAuth access token. - :key (String): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :quota_user (String): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :pp (Boolean): Pretty-print response. - :bearer_token (String): OAuth bearer token. - :oauth_token (String): OAuth 2.0 token for the current user. - :upload_protocol (String): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :pretty_print (Boolean): Returns response with indentations and line breaks. - :body (Annotation): ## Returns {:ok, %GoogleApi.Genomics.V1.Model.Annotation{}} on success {:error, info} on failure """ @spec genomics_annotations_create(Tesla.Env.client, keyword()) :: {:ok, GoogleApi.Genomics.V1.Model.Annotation.t} | {:error, Tesla.Env.t} def genomics_annotations_create(connection, opts \\ []) do optional_params = %{ :"fields" => :query, :"uploadType" => :query, :"$.xgafv" => :query, :"callback" => :query, :"alt" => :query, :"access_token" => :query, :"key" => :query, :"quotaUser" => :query, :"pp" => :query, :"bearer_token" => :query, :"oauth_token" => :query, :"upload_protocol" => :query, :"prettyPrint" => :query, :"body" => :body } %{} |> method(:post) |> url("/v1/annotations") |> add_optional_params(optional_params, opts) |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> decode(%GoogleApi.Genomics.V1.Model.Annotation{}) end @doc """ Deletes an annotation. Caller must have WRITE permission for the associated annotation set. ## Parameters - connection (GoogleApi.Genomics.V1.Connection): Connection to server - annotation_id (String): The ID of the annotation to be deleted. - opts (KeywordList): [optional] Optional parameters - :fields (String): Selector specifying which fields to include in a partial response. - :upload_type (String): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :__/xgafv (String): V1 error format. - :callback (String): JSONP - :alt (String): Data format for response. - :access_token (String): OAuth access token. - :key (String): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :quota_user (String): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :pp (Boolean): Pretty-print response. - :bearer_token (String): OAuth bearer token. - :oauth_token (String): OAuth 2.0 token for the current user. - :upload_protocol (String): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :pretty_print (Boolean): Returns response with indentations and line breaks. ## Returns {:ok, %GoogleApi.Genomics.V1.Model.Empty{}} on success {:error, info} on failure """ @spec genomics_annotations_delete(Tesla.Env.client, String.t, keyword()) :: {:ok, GoogleApi.Genomics.V1.Model.Empty.t} | {:error, Tesla.Env.t} def genomics_annotations_delete(connection, annotation_id, opts \\ []) do optional_params = %{ :"fields" => :query, :"uploadType" => :query, :"$.xgafv" => :query, :"callback" => :query, :"alt" => :query, :"access_token" => :query, :"key" => :query, :"quotaUser" => :query, :"pp" => :query, :"bearer_token" => :query, :"oauth_token" => :query, :"upload_protocol" => :query, :"prettyPrint" => :query } %{} |> method(:delete) |> url("/v1/annotations/{annotationId}", %{ "annotationId" => URI.encode_www_form(annotation_id) }) |> add_optional_params(optional_params, opts) |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> decode(%GoogleApi.Genomics.V1.Model.Empty{}) end @doc """ Gets an annotation. Caller must have READ permission for the associated annotation set. ## Parameters - connection (GoogleApi.Genomics.V1.Connection): Connection to server - annotation_id (String): The ID of the annotation to be retrieved. - opts (KeywordList): [optional] Optional parameters - :fields (String): Selector specifying which fields to include in a partial response. - :upload_type (String): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :__/xgafv (String): V1 error format. - :callback (String): JSONP - :alt (String): Data format for response. - :access_token (String): OAuth access token. - :key (String): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :quota_user (String): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :pp (Boolean): Pretty-print response. - :bearer_token (String): OAuth bearer token. - :oauth_token (String): OAuth 2.0 token for the current user. - :upload_protocol (String): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :pretty_print (Boolean): Returns response with indentations and line breaks. ## Returns {:ok, %GoogleApi.Genomics.V1.Model.Annotation{}} on success {:error, info} on failure """ @spec genomics_annotations_get(Tesla.Env.client, String.t, keyword()) :: {:ok, GoogleApi.Genomics.V1.Model.Annotation.t} | {:error, Tesla.Env.t} def genomics_annotations_get(connection, annotation_id, opts \\ []) do optional_params = %{ :"fields" => :query, :"uploadType" => :query, :"$.xgafv" => :query, :"callback" => :query, :"alt" => :query, :"access_token" => :query, :"key" => :query, :"quotaUser" => :query, :"pp" => :query, :"bearer_token" => :query, :"oauth_token" => :query, :"upload_protocol" => :query, :"prettyPrint" => :query } %{} |> method(:get) |> url("/v1/annotations/{annotationId}", %{ "annotationId" => URI.encode_www_form(annotation_id) }) |> add_optional_params(optional_params, opts) |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> decode(%GoogleApi.Genomics.V1.Model.Annotation{}) end @doc """ 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. ## Parameters - connection (GoogleApi.Genomics.V1.Connection): Connection to server - opts (KeywordList): [optional] Optional parameters - :fields (String): Selector specifying which fields to include in a partial response. - :upload_type (String): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :__/xgafv (String): V1 error format. - :callback (String): JSONP - :alt (String): Data format for response. - :access_token (String): OAuth access token. - :key (String): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :quota_user (String): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :pp (Boolean): Pretty-print response. - :bearer_token (String): OAuth bearer token. - :oauth_token (String): OAuth 2.0 token for the current user. - :upload_protocol (String): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :pretty_print (Boolean): Returns response with indentations and line breaks. - :body (SearchAnnotationsRequest): ## Returns {:ok, %GoogleApi.Genomics.V1.Model.SearchAnnotationsResponse{}} on success {:error, info} on failure """ @spec genomics_annotations_search(Tesla.Env.client, keyword()) :: {:ok, GoogleApi.Genomics.V1.Model.SearchAnnotationsResponse.t} | {:error, Tesla.Env.t} def genomics_annotations_search(connection, opts \\ []) do optional_params = %{ :"fields" => :query, :"uploadType" => :query, :"$.xgafv" => :query, :"callback" => :query, :"alt" => :query, :"access_token" => :query, :"key" => :query, :"quotaUser" => :query, :"pp" => :query, :"bearer_token" => :query, :"oauth_token" => :query, :"upload_protocol" => :query, :"prettyPrint" => :query, :"body" => :body } %{} |> method(:post) |> url("/v1/annotations/search") |> add_optional_params(optional_params, opts) |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> decode(%GoogleApi.Genomics.V1.Model.SearchAnnotationsResponse{}) end @doc """ Updates an annotation. Caller must have WRITE permission for the associated dataset. ## Parameters - connection (GoogleApi.Genomics.V1.Connection): Connection to server - annotation_id (String): The ID of the annotation to be updated. - opts (KeywordList): [optional] Optional parameters - :fields (String): Selector specifying which fields to include in a partial response. - :upload_type (String): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :__/xgafv (String): V1 error format. - :callback (String): JSONP - :alt (String): Data format for response. - :access_token (String): OAuth access token. - :key (String): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :quota_user (String): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :pp (Boolean): Pretty-print response. - :bearer_token (String): OAuth bearer token. - :oauth_token (String): OAuth 2.0 token for the current user. - :upload_protocol (String): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :pretty_print (Boolean): Returns response with indentations and line breaks. - :update_mask (String): An optional mask specifying which fields to update. Mutable fields are name, variant, transcript, and info. If unspecified, all mutable fields will be updated. - :body (Annotation): ## Returns {:ok, %GoogleApi.Genomics.V1.Model.Annotation{}} on success {:error, info} on failure """ @spec genomics_annotations_update(Tesla.Env.client, String.t, keyword()) :: {:ok, GoogleApi.Genomics.V1.Model.Annotation.t} | {:error, Tesla.Env.t} def genomics_annotations_update(connection, annotation_id, opts \\ []) do optional_params = %{ :"fields" => :query, :"uploadType" => :query, :"$.xgafv" => :query, :"callback" => :query, :"alt" => :query, :"access_token" => :query, :"key" => :query, :"quotaUser" => :query, :"pp" => :query, :"bearer_token" => :query, :"oauth_token" => :query, :"upload_protocol" => :query, :"prettyPrint" => :query, :"updateMask" => :query, :"body" => :body } %{} |> method(:put) |> url("/v1/annotations/{annotationId}", %{ "annotationId" => URI.encode_www_form(annotation_id) }) |> add_optional_params(optional_params, opts) |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> decode(%GoogleApi.Genomics.V1.Model.Annotation{}) end end