Skip to content

create_multipart_read_set_upload

create_multipart_read_set_upload(
    sequence_store_id: SequenceStoreId,
    source_file_type: FileType,
    subject_id: SubjectId,
    sample_id: SampleId,
    name: ReadSetName,
    *,
    config_overrides: Optional[OmicsClientConfig] = None,
    client_token: Optional[ClientToken] = None,
    generated_from: Optional[GeneratedFrom] = None,
    reference_arn: Optional[ReferenceArn] = None,
    description: Optional[ReadSetDescription] = None,
    tags: Optional[TagMap] = None,
) -> CreateMultipartReadSetUploadResponse

Initiates a multipart read set upload for uploading partitioned source files into a sequence store. You can directly import source files from an EC2 instance and other local compute, or from an S3 bucket. To separate these source files into parts, use the split operation. Each part cannot be larger than 100 MB. If the operation is successful, it provides an uploadId which is required by the UploadReadSetPart API operation to upload parts into a sequence store.

To continue uploading a multipart read set into your sequence store, you must use the UploadReadSetPart API operation to upload each part individually following the steps below:

  • Specify the uploadId obtained from the previous call to CreateMultipartReadSetUpload.

  • Upload parts for that uploadId.

When you have finished uploading parts, use the CompleteMultipartReadSetUpload API to complete the multipart read set upload and to retrieve the final read set IDs in the response.

To learn more about creating parts and the split operation, see Direct upload to a sequence store in the Amazon Web Services HealthOmics User Guide.

Parameters:

  • sequence_store_id (SequenceStoreId) –

    The sequence store ID for the store that is the destination of the multipart uploads.

  • client_token (Optional[ClientToken], default: None ) –

    An idempotency token that can be used to avoid triggering multiple multipart uploads.

  • source_file_type (FileType) –

    The type of file being uploaded.

  • subject_id (SubjectId) –

    The source's subject ID.

  • sample_id (SampleId) –

    The source's sample ID.

  • generated_from (Optional[GeneratedFrom], default: None ) –

    Where the source originated.

  • reference_arn (Optional[ReferenceArn], default: None ) –

    The ARN of the reference.

  • name (ReadSetName) –

    The name of the read set.

  • description (Optional[ReadSetDescription], default: None ) –

    The description of the read set.

  • tags (Optional[TagMap], default: None ) –

    Any tags to add to the read set.

Raises:

Source code in docs_src/capo_omics/_services/omics.py
def create_multipart_read_set_upload(
    self,
    sequence_store_id: "capo_omics.types.sequence_store_id.SequenceStoreId",
    source_file_type: "capo_omics.types.file_type.FileType",
    subject_id: "capo_omics.types.subject_id.SubjectId",
    sample_id: "capo_omics.types.sample_id.SampleId",
    name: "capo_omics.types.read_set_name.ReadSetName",
    *,
    config_overrides: Optional[OmicsClientConfig] = None,
    client_token: Optional["capo_omics.types.client_token.ClientToken"] = None,
    generated_from: Optional[
        "capo_omics.types.generated_from.GeneratedFrom"
    ] = None,
    reference_arn: Optional["capo_omics.types.reference_arn.ReferenceArn"] = None,
    description: Optional[
        "capo_omics.types.read_set_description.ReadSetDescription"
    ] = None,
    tags: Optional["capo_omics.types.tag_map.TagMap"] = None,
) -> "capo_omics.types.create_multipart_read_set_upload_response.CreateMultipartReadSetUploadResponse":
    """<p>Initiates a multipart read set upload for uploading partitioned source files into a sequence store. You can directly import source files from an EC2 instance and other local compute, or from an S3 bucket. To separate these source files into parts, use the <code>split</code> operation. Each part cannot be larger than 100 MB. If the operation is successful, it provides an <code>uploadId</code> which is required by the <code>UploadReadSetPart</code> API operation to upload parts into a sequence store.</p> <p>To continue uploading a multipart read set into your sequence store, you must use the <code>UploadReadSetPart</code> API operation to upload each part individually following the steps below:</p> <ul> <li> <p>Specify the <code>uploadId</code> obtained from the previous call to <code>CreateMultipartReadSetUpload</code>.</p> </li> <li> <p>Upload parts for that <code>uploadId</code>.</p> </li> </ul> <p>When you have finished uploading parts, use the <code>CompleteMultipartReadSetUpload</code> API to complete the multipart read set upload and to retrieve the final read set IDs in the response.</p> <p>To learn more about creating parts and the <code>split</code> operation, see <a href="https://docs.aws.amazon.com/omics/latest/dev/synchronous-uploads.html">Direct upload to a sequence store</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>

    Args:
        sequence_store_id: <p>The sequence store ID for the store that is the destination of the multipart uploads.</p>
        client_token: <p>An idempotency token that can be used to avoid triggering multiple multipart uploads.</p>
        source_file_type: <p>The type of file being uploaded.</p>
        subject_id: <p>The source's subject ID.</p>
        sample_id: <p>The source's sample ID.</p>
        generated_from: <p>Where the source originated.</p>
        reference_arn: <p>The ARN of the reference.</p>
        name: <p>The name of the read set.</p>
        description: <p>The description of the read set.</p>
        tags: <p>Any tags to add to the read set.</p>

    Raises:
        capo_omics.errors.access_denied_exception.AccessDeniedException: <p>You do not have sufficient access to perform this action.</p>
        capo_omics.errors.internal_server_exception.InternalServerException: <p>An unexpected error occurred. Try the request again.</p>
        capo_omics.errors.not_supported_operation_exception.NotSupportedOperationException: <p> The operation is not supported by Amazon Omics, or the API does not exist. </p>
        capo_omics.errors.request_timeout_exception.RequestTimeoutException: <p>The request timed out.</p>
        capo_omics.errors.resource_not_found_exception.ResourceNotFoundException: <p>The target resource was not found in the current Region.</p>
        capo_omics.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>The request exceeds a service quota.</p>
        capo_omics.errors.throttling_exception.ThrottlingException: <p>The request was denied due to request throttling.</p>
        capo_omics.errors.validation_exception.ValidationException: <p>The input fails to satisfy the constraints specified by an Amazon Web Services service.</p>
        capo_omics.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_omics.types.create_multipart_read_set_upload_request.CreateMultipartReadSetUploadRequest]",
    ) -> OperationResponse[
        "capo_omics.types.create_multipart_read_set_upload_response.CreateMultipartReadSetUploadResponse"
    ]:
        import capo_omics._operations.omics.create_multipart_read_set_upload

        output, http_response = (
            capo_omics._operations.omics.create_multipart_read_set_upload.create_multipart_read_set_upload(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreateMultipartReadSetUpload")
    )
    input_: capo_omics.types.create_multipart_read_set_upload_request.CreateMultipartReadSetUploadRequest = {
        "sequence_store_id": sequence_store_id,
        "source_file_type": source_file_type,
        "subject_id": subject_id,
        "sample_id": sample_id,
        "name": name,
    }
    if client_token is not None:
        input_["client_token"] = client_token
    if generated_from is not None:
        input_["generated_from"] = generated_from
    if reference_arn is not None:
        input_["reference_arn"] = reference_arn
    if description is not None:
        input_["description"] = description
    if tags is not None:
        input_["tags"] = tags

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output