SeqsLab DRS API¶
In DRS-1.0.0 Spec () DRS v1 is a read-only API. In Seqslab DRS API, not only compatible to the spec but also provides a set of APIs to create, modify and delete DRS object. Moreover, a search API is provided, user can query DRS objects by tags or name.
Seqslab DRS API does NOT provide upload content feature, users can either
upload content by Seqslab CLI then register a DRS associated with this content with create API
upload content and register by Seqslab CLI
DRS IDs have
drs_prefix with strings made up of uppercase and lowercase letters, decimal digits, whereas in DRS-1.0.0 Spec () hypen, period, underscore and tilde are allowed.
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 have the form
<server>is the DRS server and
<id>is the DRS ID.
With DRS URI, contents can be accessed in a standard way.
If a user receives a DRS URI
drs://drs.atgenomix.com/271828then it could issue REST APIs to
Get DRS object
Update DRS object
Partial update DRS object
Delete DRS object
The actual access methods to the content will be responded when issues a Get request.
DRS data types¶
DRS supports two types of content:
a blob is like a file — it’s a single blob of bytes, represented by a
a bundle is like a folder — it’s a collection of other DRS content (either blobs or bundles), represented by a