Open ReneRanzinger opened 5 months ago
@ReneRanzinger ... on the left hand of the page given to me, I see the following four APIs (screenshot given blow) and it seems to me only the 1st and 3rd are needed. Can you please verify this? On the 3rd API, the response needed is download url and not the bytes. Is there another API needed to responds with bytes?
"Get info about a DrsObject." "Get info about a DrsObject through POST'ing a Passport." "Get a URL for fetching bytes" "Get a URL for fetching bytes through POST'ing a Passport"
@senaarpinar Robel is trying to implement the DRS for GlyGen. Can you help him based on what you remember from the array DRS?
I have implemented 3 APIs: /ga4gh/drs/v1/service-info /ga4gh/drs/v1/objects/\<object-id> to return a DRS object /ga4gh/drs/v1/objects/\<object-id>/access/\<access-id> to return an AccessURL object ({"headers": [], "url":"string"}). GET request with the returned url returns the bytes of the file. In our case, headers are empty.
If you need additional information about the returned objects, I can provide them. One requirement for the DRS server was this part: /ga4gh/drs/v1/ Not sure if anything has changed based on latest versions.
My implementation can be found here
@senaarpinar ... can you please share the response objects for each of your APIs? I tried to follow the link but it is a github code repo not a swagger page where I can test your APIs.
@rykahsay Here is the link to the swagger page:
https://glygen.ccrc.uga.edu/ggarray/api/swagger-ui/index.html#/drs-server
The response objects for each API:
{
"id": "org.glygen.array",
"name": "Glycan Array Repository DRS API",
"type": {
"group": "org.ga4gh",
"artifact": "drs",
"version": "1.0.0"
},
"description": "This service provides implementation of DRS specification for accessing files for the datasets within Glycan Array Repository.",
"organization": {
"name": "University of Georgia",
"url": "https://ccrc.uga.edu/"
},
"contactUrl": "mailto:glygenarray.api@gmail.com",
"documentationUrl": "https://glygen.ccrc.uga.edu/ggarray/api/swagger-ui/index.html#/drs-server/",
"createdAt": "2023-07-08T00:00:00.000+0000",
"environment": "test",
"version": "1.0.0"
}
{
"checksums": [
{
"checksum": "0d35c54caea8f32c11f8191dcceb97a33196e90ef2e6f66e7ac7aba3cc3ba2eb",
"type": "sha-256"
}
],
"created_time": "2023-09-05T19:06:56+0000",
"id": "1671603498623",
"mime_type": "application/json",
"name": "WT-VCC_10ug_14518_V5.0_DATA.xls",
"self_uri": "drs://glygen.ccrc.uga.edu/ggarray/api/1671603498623",
"size": 4469761,
"access_methods": [
{
"access_id": "1671603498623",
"type": "https"
}
]
}
{
"url": "https://glygen.ccrc.uga.edu/ggarray/api/array/public/download?fileFolder=/uploads/AD3860217&fileIdentifier=1671603498623.xls"
}
This implementation should happen in the testing phase of 2.5.
Based on the DRS specifications implement a DRS API for GlyGen files that get submitted to CFDE.
The generated unique identifiers also need to be shared with the data submission team (@jeet-vora and @ReneRanzinger).
For general questions contact @ReneRanzinger. For implementation questions @senaarpinar can help since she implemented the API for the array repository.