Class: Api::V2::PrimerPanelResource

Inherits:
BaseResource
  • Object
show all
Defined in:
app/resources/api/v2/primer_panel_resource.rb

Overview

Note:

Access this resource via the /api/v2/primer_panels/ endpoint.

Note:

This resource cannot be modified after creation: its endpoint will not accept PATCH requests.

Note:

the below example is currently broken, as `snp_count“ is a required attribute in the model

Provides a JSON:API representation of PrimerPanel.

A primer panel is a set of primers used in a genotyping by sequencing assay. These primers bind to known regions of DNA, localised near SNPs (Single Nucleotide Polymorphisms) to allow them to be targeted by short read sequencing.

For more details on JSON:API, see the JSON:API Specifications or check out the JSONAPI::Resources package for Sequencescape's implementation.

Examples:

Fetching all primer panels

GET /api/v2/primer_panels

Fetching a primer panel by ID

GET /api/v2/primer_panels/{id}

Creating a primer panel

POST /api/v2/primer_panels
{
  "data": {
    "type": "primer_panels",
    "attributes": {
      "name": "My Primer Panel",
      "programs": ["UAT"]
    }
  }
}

Instance Attribute Summary collapse

Method Summary

Methods inherited from BaseResource

apply_includes, creatable_fields, default_includes, #fetchable_fields, inclusions, resolve_relationship_names_to_relations, updatable_fields

Instance Attribute Details

#nameString

The name of the primer panel.

Returns:

  • (String)


45
# File 'app/resources/api/v2/primer_panel_resource.rb', line 45

attribute :name, write_once: true

#programsArray<String>

A list of programs associated with this primer panel.

Returns:

  • (Array<String>)


50
# File 'app/resources/api/v2/primer_panel_resource.rb', line 50

attribute :programs, write_once: true