# Genomics API . readgroupsets

## Instance Methods

Returns the coveragebuckets Resource.

Aligns read data from existing read group sets or files from Google Cloud Storage. See the alignment and variant calling documentation for more details.

Calls variants on read data from existing read group sets or files from Google Cloud Storage. See the alignment and variant calling documentation for more details.

Deletes a read group set.

Exports read group sets to a BAM file in Google Cloud Storage.

Gets a read group set by ID.

Creates read group sets by asynchronously importing the provided information.

Updates a read group set. This method supports patch semantics.

Searches for read group sets matching the criteria.

Updates a read group set.

### Method Details

`align(body)`

    Aligns read data from existing read group sets or files from Google Cloud Storage. See the  alignment and variant calling documentation for more details.

    Args:
      body: object, The request body. (required)
        The object takes the form of:

    { # The read group set align request.
        "interleavedFastqSource": { # Describes an interleaved FASTQ file source for alignment. # The interleaved FASTQ source files for alignment, where both members of each pair of reads are found on consecutive records within the same FASTQ file. Exactly one of readGroupSetId, bamSourceUris, interleavedFastqSource or pairedFastqSource must be provided.
          "sourceUris": [ # A list of URIs pointing at interleaved FASTQ files in Google Cloud Storage which will be aligned. The caller must have READ permissions for these files.
            "A String",
          ],
          "metadata": { # Optionally specifies the metadata to be associated with the final aligned read group set.
            "readGroupName": "A String", # Optionally specifies the read group name for alignment from FASTQ.
            "sampleName": "A String", # Optionally specifies the sample name for alignment from FASTQ.
            "libraryName": "A String", # Optionally specifies the library name for alignment from FASTQ.
            "platformName": "A String", # Optionally specifies the platform name for alignment from FASTQ. For example: CAPILLARY, LS454, ILLUMINA, SOLID, HELICOS, IONTORRENT, PACBIO.
            "platformUnit": "A String", # Optionally specifies the platform unit for alignment from FASTQ. For example: flowcell-barcode.lane for Illumina or slide for SOLID.
          },
        },
        "bamSourceUris": [ # The BAM source files for alignment. Exactly one of readGroupSetId, bamSourceUris, interleavedFastqSource or pairedFastqSource must be provided. The caller must have READ permissions for these files.
          "A String",
        ],
        "pairedFastqSource": { # Describes a paired-end FASTQ file source for alignment. # The paired end FASTQ source files for alignment, where each member of a pair of reads are found in separate files. Exactly one of readGroupSetId, bamSourceUris, interleavedFastqSource or pairedFastqSource must be provided.
          "secondSourceUris": [ # A list of URIs pointing at paired end FASTQ files in Google Cloud Storage which will be aligned. The second of each paired file should be specified here, in an order that matches the first of each paired file specified in firstSourceUris. For example: firstSourceUris: [file1_1.fq, file2_1.fq], secondSourceUris: [file1_2.fq, file2_2.fq]. The caller must have READ permissions for these files.
            "A String",
          ],
          "metadata": { # Optionally specifies the metadata to be associated with the final aligned read group set.
            "readGroupName": "A String", # Optionally specifies the read group name for alignment from FASTQ.
            "sampleName": "A String", # Optionally specifies the sample name for alignment from FASTQ.
            "libraryName": "A String", # Optionally specifies the library name for alignment from FASTQ.
            "platformName": "A String", # Optionally specifies the platform name for alignment from FASTQ. For example: CAPILLARY, LS454, ILLUMINA, SOLID, HELICOS, IONTORRENT, PACBIO.
            "platformUnit": "A String", # Optionally specifies the platform unit for alignment from FASTQ. For example: flowcell-barcode.lane for Illumina or slide for SOLID.
          },
          "firstSourceUris": [ # A list of URIs pointing at paired end FASTQ files in Google Cloud Storage which will be aligned. The first of each paired file should be specified here, in an order that matches the second of each paired file specified in secondSourceUris. For example: firstSourceUris: [file1_1.fq, file2_1.fq], secondSourceUris: [file1_2.fq, file2_2.fq]. The caller must have READ permissions for these files.
            "A String",
          ],
        },
        "readGroupSetId": "A String", # The ID of the read group set which will be aligned. A new read group set will be generated to hold the aligned data, the originals will not be modified. The caller must have READ permissions for this read group set. Exactly one of readGroupSetId, bamSourceUris, interleavedFastqSource or pairedFastqSource must be provided.
        "datasetId": "A String", # Required. The ID of the dataset the newly aligned read group sets will belong to. The caller must have WRITE permissions to this dataset.
      }

    Returns:
      An object of the form:

        { # The read group set align response.
        "jobId": "A String", # A job ID that can be used to get status information.
      }

`call(body)`

    Calls variants on read data from existing read group sets or files from Google Cloud Storage. See the  alignment and variant calling documentation for more details.

    Args:
      body: object, The request body. (required)
        The object takes the form of:

    { # The read group set call request.
        "sourceUris": [ # A list of URIs pointing at BAM files in Google Cloud Storage which will be called. FASTQ files are not allowed. The caller must have READ permissions for these files. One of readGroupSetId or sourceUris must be provided.
          "A String",
        ],
        "readGroupSetId": "A String", # The IDs of the read group sets which will be called. The caller must have READ permissions for these read group sets. One of readGroupSetId or sourceUris must be provided.
        "datasetId": "A String", # Required. The ID of the dataset the called variants will belong to. The caller must have WRITE permissions to this dataset.
      }

    Returns:
      An object of the form:

        { # The read group set call response.
        "jobId": "A String", # A job ID that can be used to get status information.
      }

`delete(readGroupSetId)`

    Deletes a read group set.

    Args:
      readGroupSetId: string, 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. (required)

`export(body)`

    Exports read group sets to a BAM file in Google Cloud Storage.

    Note that currently there may be some differences between exported BAM files and the original BAM file at the time of import. In particular, comments in the input file header will not be preserved, some custom tags will be converted to strings, and original reference sequence order is not necessarily preserved.

    Args:
      body: object, The request body. (required)
        The object takes the form of:

    { # The read group set export request.
        "exportUri": "A String", # 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.
        "referenceNames": [ # The reference names to export. If this is not specified, all reference sequences, including unmapped reads, are exported. Use * to export only unmapped reads.
          "A String",
        ],
        "readGroupSetIds": [ # Required. The IDs of the read group sets to export.
          "A String",
        ],
        "projectNumber": "A String", # Required. The Google Developers Console project number that owns this export.
      }

    Returns:
      An object of the form:

        { # The read group set export response.
        "jobId": "A String", # A job ID that can be used to get status information.
      }

`get(readGroupSetId)`

    Gets a read group set by ID.

    Args:
      readGroupSetId: string, The ID of the read group set. (required)

    Returns:
      An object of the form:

        { # 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.
        "info": { # A string which maps to an array of values.
          "a_key": [ # A string which maps to an array of values.
            "A String",
          ],
        },
        "name": "A String", # The read group set name. By default this will be initialized to the sample name of the sequenced data contained in this set.
        "readGroups": [ # The read groups in this set. There are typically 1-10 read groups in a read group set.
          { # A read group is all the data that's processed the same way by the sequencer.
            "info": { # A string which maps to an array of values.
              "a_key": [ # A string which maps to an array of values.
                "A String",
              ],
            },
            "predictedInsertSize": 42, # 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.
            "name": "A String", # The read group name. This corresponds to the @RG ID field in the SAM spec.
            "programs": [ # 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.
              {
                "commandLine": "A String", # The command line used to run this program.
                "prevProgramId": "A String", # The ID of the program run before this one.
                "id": "A String", # The user specified locally unique ID of the program. Used along with prevProgramId to define an ordering between programs.
                "version": "A String", # The version of the program run.
                "name": "A String", # The name of the program.
              },
            ],
            "sampleId": "A String", # The sample this read group's data was generated from. Note: This is not an actual ID within this repository, but rather an identifier for a sample which may be meaningful to some external system.
            "experiment": { # The experiment used to generate this read group.
              "sequencingCenter": "A String", # The sequencing center used as part of this experiment.
              "libraryId": "A String", # The library used as part of this experiment. Note: This is not an actual ID within this repository, but rather an identifier for a library which may be meaningful to some external system.
              "instrumentModel": "A String", # The instrument model used as part of this experiment. This maps to sequencing technology in BAM.
              "platformUnit": "A String", # The platform unit used as part of this experiment e.g. flowcell-barcode.lane for Illumina or slide for SOLiD. Corresponds to the
            },
            "referenceSetId": "A String", # The reference set the reads in this read group are aligned to. Required if there are any read alignments.
            "id": "A String", # The generated unique read group ID. Note: This is different than the @RG ID field in the SAM spec. For that value, see the name field.
            "datasetId": "A String", # The ID of the dataset this read group belongs to.
            "description": "A String", # A free-form text description of this read group.
          },
        ],
        "filename": "A String", # The filename of the original source file for this read group set, if any.
        "referenceSetId": "A String", # The reference set the reads in this read group set are aligned to.
        "id": "A String", # The read group set ID.
        "datasetId": "A String", # The dataset ID.
      }

`import_(body)`

    Creates read group sets by asynchronously importing the provided information.

    Note that currently comments in the input file header are not imported and some custom tags will be converted to strings, rather than preserving tag types. The caller must have WRITE permissions to the dataset.

    Args:
      body: object, The request body. (required)
        The object takes the form of:

    { # The read group set import request.
        "referenceSetId": "A 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.
        "sourceUris": [ # A list of URIs pointing at BAM files in Google Cloud Storage.
          "A String",
        ],
        "partitionStrategy": "A String", # The partition strategy describes how read groups are partitioned into read group sets.
        "datasetId": "A String", # Required. The ID of the dataset these read group sets will belong to. The caller must have WRITE permissions to this dataset.
      }

    Returns:
      An object of the form:

        { # The read group set import response.
        "jobId": "A String", # A job ID that can be used to get status information.
      }

`patch(readGroupSetId, body)`

    Updates a read group set. This method supports patch semantics.

    Args:
      readGroupSetId: string, 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. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # 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.
      "info": { # A string which maps to an array of values.
        "a_key": [ # A string which maps to an array of values.
          "A String",
        ],
      },
      "name": "A String", # The read group set name. By default this will be initialized to the sample name of the sequenced data contained in this set.
      "readGroups": [ # The read groups in this set. There are typically 1-10 read groups in a read group set.
        { # A read group is all the data that's processed the same way by the sequencer.
          "info": { # A string which maps to an array of values.
            "a_key": [ # A string which maps to an array of values.
              "A String",
            ],
          },
          "predictedInsertSize": 42, # 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.
          "name": "A String", # The read group name. This corresponds to the @RG ID field in the SAM spec.
          "programs": [ # 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.
            {
              "commandLine": "A String", # The command line used to run this program.
              "prevProgramId": "A String", # The ID of the program run before this one.
              "id": "A String", # The user specified locally unique ID of the program. Used along with prevProgramId to define an ordering between programs.
              "version": "A String", # The version of the program run.
              "name": "A String", # The name of the program.
            },
          ],
          "sampleId": "A String", # The sample this read group's data was generated from. Note: This is not an actual ID within this repository, but rather an identifier for a sample which may be meaningful to some external system.
          "experiment": { # The experiment used to generate this read group.
            "sequencingCenter": "A String", # The sequencing center used as part of this experiment.
            "libraryId": "A String", # The library used as part of this experiment. Note: This is not an actual ID within this repository, but rather an identifier for a library which may be meaningful to some external system.
            "instrumentModel": "A String", # The instrument model used as part of this experiment. This maps to sequencing technology in BAM.
            "platformUnit": "A String", # The platform unit used as part of this experiment e.g. flowcell-barcode.lane for Illumina or slide for SOLiD. Corresponds to the
          },
          "referenceSetId": "A String", # The reference set the reads in this read group are aligned to. Required if there are any read alignments.
          "id": "A String", # The generated unique read group ID. Note: This is different than the @RG ID field in the SAM spec. For that value, see the name field.
          "datasetId": "A String", # The ID of the dataset this read group belongs to.
          "description": "A String", # A free-form text description of this read group.
        },
      ],
      "filename": "A String", # The filename of the original source file for this read group set, if any.
      "referenceSetId": "A String", # The reference set the reads in this read group set are aligned to.
      "id": "A String", # The read group set ID.
      "datasetId": "A String", # The dataset ID.
    }

    Returns:
      An object of the form:

        { # 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.
        "info": { # A string which maps to an array of values.
          "a_key": [ # A string which maps to an array of values.
            "A String",
          ],
        },
        "name": "A String", # The read group set name. By default this will be initialized to the sample name of the sequenced data contained in this set.
        "readGroups": [ # The read groups in this set. There are typically 1-10 read groups in a read group set.
          { # A read group is all the data that's processed the same way by the sequencer.
            "info": { # A string which maps to an array of values.
              "a_key": [ # A string which maps to an array of values.
                "A String",
              ],
            },
            "predictedInsertSize": 42, # 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.
            "name": "A String", # The read group name. This corresponds to the @RG ID field in the SAM spec.
            "programs": [ # 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.
              {
                "commandLine": "A String", # The command line used to run this program.
                "prevProgramId": "A String", # The ID of the program run before this one.
                "id": "A String", # The user specified locally unique ID of the program. Used along with prevProgramId to define an ordering between programs.
                "version": "A String", # The version of the program run.
                "name": "A String", # The name of the program.
              },
            ],
            "sampleId": "A String", # The sample this read group's data was generated from. Note: This is not an actual ID within this repository, but rather an identifier for a sample which may be meaningful to some external system.
            "experiment": { # The experiment used to generate this read group.
              "sequencingCenter": "A String", # The sequencing center used as part of this experiment.
              "libraryId": "A String", # The library used as part of this experiment. Note: This is not an actual ID within this repository, but rather an identifier for a library which may be meaningful to some external system.
              "instrumentModel": "A String", # The instrument model used as part of this experiment. This maps to sequencing technology in BAM.
              "platformUnit": "A String", # The platform unit used as part of this experiment e.g. flowcell-barcode.lane for Illumina or slide for SOLiD. Corresponds to the
            },
            "referenceSetId": "A String", # The reference set the reads in this read group are aligned to. Required if there are any read alignments.
            "id": "A String", # The generated unique read group ID. Note: This is different than the @RG ID field in the SAM spec. For that value, see the name field.
            "datasetId": "A String", # The ID of the dataset this read group belongs to.
            "description": "A String", # A free-form text description of this read group.
          },
        ],
        "filename": "A String", # The filename of the original source file for this read group set, if any.
        "referenceSetId": "A String", # The reference set the reads in this read group set are aligned to.
        "id": "A String", # The read group set ID.
        "datasetId": "A String", # The dataset ID.
      }

`search(body)`

    Searches for read group sets matching the criteria.

    Implements GlobalAllianceApi.searchReadGroupSets.

    Args:
      body: object, The request body. (required)
        The object takes the form of:

    { # The read group set search request.
        "pageToken": "A String", # 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.
        "datasetIds": [ # Restricts this query to read group sets within the given datasets. At least one ID must be provided.
          "A String",
        ],
        "name": "A String", # Only return read group sets for which a substring of the name matches this string.
        "pageSize": 42, # Specifies number of results to return in a single page. If unspecified, it will default to 256. The maximum value is 1024.
      }

    Returns:
      An object of the form:

        { # The read group set search response.
        "nextPageToken": "A String", # 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.
        "readGroupSets": [ # The list of matching read group sets.
          { # 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.
            "info": { # A string which maps to an array of values.
              "a_key": [ # A string which maps to an array of values.
                "A String",
              ],
            },
            "name": "A String", # The read group set name. By default this will be initialized to the sample name of the sequenced data contained in this set.
            "readGroups": [ # The read groups in this set. There are typically 1-10 read groups in a read group set.
              { # A read group is all the data that's processed the same way by the sequencer.
                "info": { # A string which maps to an array of values.
                  "a_key": [ # A string which maps to an array of values.
                    "A String",
                  ],
                },
                "predictedInsertSize": 42, # 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.
                "name": "A String", # The read group name. This corresponds to the @RG ID field in the SAM spec.
                "programs": [ # 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.
                  {
                    "commandLine": "A String", # The command line used to run this program.
                    "prevProgramId": "A String", # The ID of the program run before this one.
                    "id": "A String", # The user specified locally unique ID of the program. Used along with prevProgramId to define an ordering between programs.
                    "version": "A String", # The version of the program run.
                    "name": "A String", # The name of the program.
                  },
                ],
                "sampleId": "A String", # The sample this read group's data was generated from. Note: This is not an actual ID within this repository, but rather an identifier for a sample which may be meaningful to some external system.
                "experiment": { # The experiment used to generate this read group.
                  "sequencingCenter": "A String", # The sequencing center used as part of this experiment.
                  "libraryId": "A String", # The library used as part of this experiment. Note: This is not an actual ID within this repository, but rather an identifier for a library which may be meaningful to some external system.
                  "instrumentModel": "A String", # The instrument model used as part of this experiment. This maps to sequencing technology in BAM.
                  "platformUnit": "A String", # The platform unit used as part of this experiment e.g. flowcell-barcode.lane for Illumina or slide for SOLiD. Corresponds to the
                },
                "referenceSetId": "A String", # The reference set the reads in this read group are aligned to. Required if there are any read alignments.
                "id": "A String", # The generated unique read group ID. Note: This is different than the @RG ID field in the SAM spec. For that value, see the name field.
                "datasetId": "A String", # The ID of the dataset this read group belongs to.
                "description": "A String", # A free-form text description of this read group.
              },
            ],
            "filename": "A String", # The filename of the original source file for this read group set, if any.
            "referenceSetId": "A String", # The reference set the reads in this read group set are aligned to.
            "id": "A String", # The read group set ID.
            "datasetId": "A String", # The dataset ID.
          },
        ],
      }

`update(readGroupSetId, body)`

    Updates a read group set.

    Args:
      readGroupSetId: string, 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. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # 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.
      "info": { # A string which maps to an array of values.
        "a_key": [ # A string which maps to an array of values.
          "A String",
        ],
      },
      "name": "A String", # The read group set name. By default this will be initialized to the sample name of the sequenced data contained in this set.
      "readGroups": [ # The read groups in this set. There are typically 1-10 read groups in a read group set.
        { # A read group is all the data that's processed the same way by the sequencer.
          "info": { # A string which maps to an array of values.
            "a_key": [ # A string which maps to an array of values.
              "A String",
            ],
          },
          "predictedInsertSize": 42, # 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.
          "name": "A String", # The read group name. This corresponds to the @RG ID field in the SAM spec.
          "programs": [ # 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.
            {
              "commandLine": "A String", # The command line used to run this program.
              "prevProgramId": "A String", # The ID of the program run before this one.
              "id": "A String", # The user specified locally unique ID of the program. Used along with prevProgramId to define an ordering between programs.
              "version": "A String", # The version of the program run.
              "name": "A String", # The name of the program.
            },
          ],
          "sampleId": "A String", # The sample this read group's data was generated from. Note: This is not an actual ID within this repository, but rather an identifier for a sample which may be meaningful to some external system.
          "experiment": { # The experiment used to generate this read group.
            "sequencingCenter": "A String", # The sequencing center used as part of this experiment.
            "libraryId": "A String", # The library used as part of this experiment. Note: This is not an actual ID within this repository, but rather an identifier for a library which may be meaningful to some external system.
            "instrumentModel": "A String", # The instrument model used as part of this experiment. This maps to sequencing technology in BAM.
            "platformUnit": "A String", # The platform unit used as part of this experiment e.g. flowcell-barcode.lane for Illumina or slide for SOLiD. Corresponds to the
          },
          "referenceSetId": "A String", # The reference set the reads in this read group are aligned to. Required if there are any read alignments.
          "id": "A String", # The generated unique read group ID. Note: This is different than the @RG ID field in the SAM spec. For that value, see the name field.
          "datasetId": "A String", # The ID of the dataset this read group belongs to.
          "description": "A String", # A free-form text description of this read group.
        },
      ],
      "filename": "A String", # The filename of the original source file for this read group set, if any.
      "referenceSetId": "A String", # The reference set the reads in this read group set are aligned to.
      "id": "A String", # The read group set ID.
      "datasetId": "A String", # The dataset ID.
    }

    Returns:
      An object of the form:

        { # 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.
        "info": { # A string which maps to an array of values.
          "a_key": [ # A string which maps to an array of values.
            "A String",
          ],
        },
        "name": "A String", # The read group set name. By default this will be initialized to the sample name of the sequenced data contained in this set.
        "readGroups": [ # The read groups in this set. There are typically 1-10 read groups in a read group set.
          { # A read group is all the data that's processed the same way by the sequencer.
            "info": { # A string which maps to an array of values.
              "a_key": [ # A string which maps to an array of values.
                "A String",
              ],
            },
            "predictedInsertSize": 42, # 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.
            "name": "A String", # The read group name. This corresponds to the @RG ID field in the SAM spec.
            "programs": [ # 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.
              {
                "commandLine": "A String", # The command line used to run this program.
                "prevProgramId": "A String", # The ID of the program run before this one.
                "id": "A String", # The user specified locally unique ID of the program. Used along with prevProgramId to define an ordering between programs.
                "version": "A String", # The version of the program run.
                "name": "A String", # The name of the program.
              },
            ],
            "sampleId": "A String", # The sample this read group's data was generated from. Note: This is not an actual ID within this repository, but rather an identifier for a sample which may be meaningful to some external system.
            "experiment": { # The experiment used to generate this read group.
              "sequencingCenter": "A String", # The sequencing center used as part of this experiment.
              "libraryId": "A String", # The library used as part of this experiment. Note: This is not an actual ID within this repository, but rather an identifier for a library which may be meaningful to some external system.
              "instrumentModel": "A String", # The instrument model used as part of this experiment. This maps to sequencing technology in BAM.
              "platformUnit": "A String", # The platform unit used as part of this experiment e.g. flowcell-barcode.lane for Illumina or slide for SOLiD. Corresponds to the
            },
            "referenceSetId": "A String", # The reference set the reads in this read group are aligned to. Required if there are any read alignments.
            "id": "A String", # The generated unique read group ID. Note: This is different than the @RG ID field in the SAM spec. For that value, see the name field.
            "datasetId": "A String", # The ID of the dataset this read group belongs to.
            "description": "A String", # A free-form text description of this read group.
          },
        ],
        "filename": "A String", # The filename of the original source file for this read group set, if any.
        "referenceSetId": "A String", # The reference set the reads in this read group set are aligned to.
        "id": "A String", # The read group set ID.
        "datasetId": "A String", # The dataset ID.
      }