SeqsLab DRS API#
In the DRS-1.0.0 Spec () DRS v1 is a read-only API. The Seqslab DRS API not only implements the GA4GH specifications, it also provides a set of APIs to create, modify and delete DRS objects. Moreover, it supports search so you can query DRS objects by tags or by name.
The Seqslab DRS API does not currently support dataset uploads. As a workaround, you can either:
upload content using Seqslab CLI and then using the API to register the DRS objects
upload content and register using the Seqslab CLI
DRS IDs#
The SeqsLab DRS API uses DRS IDs that include a
drs_
prefix with strings made up of uppercase and lowercase alphanumeric characters. Unlike the GA4GH DRS-1.0.0 (), we do not support hypen, period, underscore, and tilde characters.One DRS ID MUST always return the same object data.
DRS implementations MAY have more than one ID that maps to the same object.
DRS uniform resource identifiers (URIs)#
A DRS URI refers to a DRS object.
DRS URIs use the format
drs://<server>/<id>
where<server>
is the DRS server and<id>
is the DRS ID.With DRS URI, contents can be accessed in a standard way.
If the DRS URI is
drs://drs.atgenomix.com/271828
, then you can send API requests tohttps://drs.atgenomix.com/ga4gh/drs/v1/objects/271828
Get DRS object
Update DRS object
Partial update DRS object
Delete DRS object
DRS data types#
DRS supports two types of content:
blob — Like a file, a blob is a single blob of bytes that is represented by a
DrsObject
without acontents
array.bundle — Like a folder, a bundle is a collection of other DRS content (either blobs or bundles) that is represented by a
DrsObject
with acontents
array.