Skip to content

/AWS1/IF_OMX=>CREATESEQUENCESTORE()

About CreateSequenceStore

Creates a sequence store and returns its metadata. Sequence stores are used to store sequence data files called read sets that are saved in FASTQ, BAM, uBAM, or CRAM formats. For aligned formats (BAM and CRAM), a sequence store can only use one reference genome. For unaligned formats (FASTQ and uBAM), a reference genome is not required. You can create multiple sequence stores per region per account.

The following are optional parameters you can specify for your sequence store:

  • Use s3AccessConfig to configure your sequence store with S3 access logs (recommended).

  • Use sseConfig to define your own KMS key for encryption.

  • Use eTagAlgorithmFamily to define which algorithm to use for the HealthOmics eTag on objects.

  • Use fallbackLocation to define a backup location for storing files that have failed a direct upload.

  • Use propagatedSetLevelTags to configure tags that propagate to all objects in your store.

For more information, see Creating a HealthOmics sequence store in the Amazon Web Services HealthOmics User Guide.

Method Signature

IMPORTING

Required arguments:

iv_name TYPE /AWS1/OMXSEQUENCESTORENAME /AWS1/OMXSEQUENCESTORENAME

A name for the store.

Optional arguments:

iv_description TYPE /AWS1/OMXSEQUENCESTOREDESC /AWS1/OMXSEQUENCESTOREDESC

A description for the store.

io_sseconfig TYPE REF TO /AWS1/CL_OMXSSECONFIG /AWS1/CL_OMXSSECONFIG

Server-side encryption (SSE) settings for the store.

it_tags TYPE /AWS1/CL_OMXTAGMAP_W=>TT_TAGMAP TT_TAGMAP

Tags for the store. You can configure up to 50 tags.

iv_clienttoken TYPE /AWS1/OMXCLIENTTOKEN /AWS1/OMXCLIENTTOKEN

An idempotency token used to dedupe retry requests so that duplicate runs are not created.

iv_fallbacklocation TYPE /AWS1/OMXFALLBACKLOCATION /AWS1/OMXFALLBACKLOCATION

An S3 location that is used to store files that have failed a direct upload. You can add or change the fallbackLocation after creating a sequence store. This is not required if you are uploading files from a different S3 bucket.

iv_etagalgorithmfamily TYPE /AWS1/OMXETAGALGORITHMFAMILY /AWS1/OMXETAGALGORITHMFAMILY

The ETag algorithm family to use for ingested read sets. The default value is MD5up. For more information on ETags, see ETags and data provenance in the Amazon Web Services HealthOmics User Guide.

it_propagatedsetleveltags TYPE /AWS1/CL_OMXPROPAGATEDSETLEV00=>TT_PROPAGATEDSETLEVELTAGS TT_PROPAGATEDSETLEVELTAGS

The tags keys to propagate to the S3 objects associated with read sets in the sequence store. These tags can be used as input to add metadata to your read sets.

io_s3accessconfig TYPE REF TO /AWS1/CL_OMXS3ACCESSCONFIG /AWS1/CL_OMXS3ACCESSCONFIG

S3 access configuration parameters. This specifies the parameters needed to access logs stored in S3 buckets. The S3 bucket must be in the same region and account as the sequence store.

RETURNING

oo_output TYPE REF TO /aws1/cl_omxcresequencestore01 /AWS1/CL_OMXCRESEQUENCESTORE01

Domain /AWS1/RT_ACCOUNT_ID
Primitive Type NUMC

Examples

Syntax Example

This is an example of the syntax for calling the method. It includes every possible argument and initializes every possible value. The data provided is not necessarily semantically accurate (for example the value "string" may be provided for something that is intended to be an instance ID, or in some cases two arguments may be mutually exclusive). The syntax shows the ABAP syntax for creating the various data structures.

DATA(lo_result) = lo_client->/aws1/if_omx~createsequencestore(
  io_s3accessconfig = new /aws1/cl_omxs3accessconfig( |string| )
  io_sseconfig = new /aws1/cl_omxsseconfig(
    iv_keyarn = |string|
    iv_type = |string|
  )
  it_propagatedsetleveltags = VALUE /aws1/cl_omxpropagatedsetlev00=>tt_propagatedsetleveltags(
    ( new /aws1/cl_omxpropagatedsetlev00( |string| ) )
  )
  it_tags = VALUE /aws1/cl_omxtagmap_w=>tt_tagmap(
    (
      VALUE /aws1/cl_omxtagmap_w=>ts_tagmap_maprow(
        value = new /aws1/cl_omxtagmap_w( |string| )
        key = |string|
      )
    )
  )
  iv_clienttoken = |string|
  iv_description = |string|
  iv_etagalgorithmfamily = |string|
  iv_fallbacklocation = |string|
  iv_name = |string|
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  lv_sequencestoreid = lo_result->get_id( ).
  lv_sequencestorearn = lo_result->get_arn( ).
  lv_sequencestorename = lo_result->get_name( ).
  lv_sequencestoredescriptio = lo_result->get_description( ).
  lo_sseconfig = lo_result->get_sseconfig( ).
  IF lo_sseconfig IS NOT INITIAL.
    lv_encryptiontype = lo_sseconfig->get_type( ).
    lv_string = lo_sseconfig->get_keyarn( ).
  ENDIF.
  lv_timestamp = lo_result->get_creationtime( ).
  lv_fallbacklocation = lo_result->get_fallbacklocation( ).
  lv_etagalgorithmfamily = lo_result->get_etagalgorithmfamily( ).
  lv_sequencestorestatus = lo_result->get_status( ).
  lv_sequencestorestatusmess = lo_result->get_statusmessage( ).
  LOOP AT lo_result->get_propagatedsetleveltags( ) into lo_row.
    lo_row_1 = lo_row.
    IF lo_row_1 IS NOT INITIAL.
      lv_tagkey = lo_row_1->get_value( ).
    ENDIF.
  ENDLOOP.
  lo_sequencestores3access = lo_result->get_s3access( ).
  IF lo_sequencestores3access IS NOT INITIAL.
    lv_s3uri = lo_sequencestores3access->get_s3uri( ).
    lv_s3accesspointarn = lo_sequencestores3access->get_s3accesspointarn( ).
    lv_accessloglocation = lo_sequencestores3access->get_accessloglocation( ).
  ENDIF.
ENDIF.