Legacy API Docs.
These docs are for Virtool 4.4.0.
Subtraction
Find
Find profile subtractions by id (name) or nickname.
GET
/api/subtraction
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| find | string | null | subtraction name to filter by |
| page | integer | 1 | page number of results to return |
| per_page | integer | 15 | number of documents to return per page |
Example
GET /api/hmms?find=Arab&per_page=1
Response
Status: 200 OK
{ "documents": [ { "ready": true, "file": { "id": "vlekszor-ATgenomeTAIR9.171", "name": "ATgenomeTAIR9.171" }, "job": { "id": "ritpnbst" }, "id": "Arabidopsis" } ], "total_count": 1, "found_count": 1, "page_count": 1, "per_page": 1, "page": 1, "host_count": 1, "ready_host_count": 1 }
Errors
None
Get
Get the complete representation of a given subtraction.
GET
/api/subtraction/:id
Example
GET /api/subtraction/Arabidopsis
Response
Status: 200 OK
{ "ready": true, "is_host": true, "file": { "id": "vlekszor-ATgenomeTAIR9.171", "name": "ATgenomeTAIR9.171" }, "user": { "id": "igboyes" }, "job": { "id": "ritpnbst" }, "count": 7, "gc": { "a": 0.319, "t": 0.319, "g": 0.18, "c": 0.18, "n": 0.002 }, "linked_samples": [ { "name": "Test 1", "id": "htosefxu" } ], "id": "Arabidopsis" }
Errors
| Status | Message | Reason |
|---|---|---|
| 404 | Not found | sample_id in URL does not exist |
Create
Requires modify_subtraction permission
Create a new subtraction from a file that has previously been uploaded into the file manager.
POST
/api/subtraction
Input
| Name | Type | Required | Description |
|---|---|---|---|
| subtraction_id | string | true | a unique name for the host (eg. Arabidopsis) |
| nickname | string | false | a nickname for the host |
| file_id | string | true | the unique id of the host FASTA file |
Example
POST /api/subtraction
{
"subtraction_id": "Test 1",
"nickname": "Foobar",
"file_id": "djbxvhmy-ATgenomeTAIR9.171"
} Response
Status: 201 Created
{ "ready": false, "is_host": true, "file": { "id": "djbxvhmy-ATgenomeTAIR9.171", "name": "ATgenomeTAIR9.171" }, "user": { "id": "igboyes" }, "job": { "id": "rjbszwmm" }, "nickname": "Foobar", "id": "Test 1" }
Errors
| Status | Message | Reason |
|---|---|---|
| 400 | File does not exist | file identified by file_id does not exist |
| 400 | Subtraction id already exists | id is already in use by an existing subtraction |
| 403 | Not permitted | client does not have the ‘modify_subtraction` permission |
| 422 | Invalid input | JSON request body is invalid |
Edit
Requires modify_subtraction permission
Change the nickname of an existing subtraction.
PATCH
/api/subtraction/:id
Input
| Name | Type | Required | Description |
|---|---|---|---|
| nickname | string | false | a nickname for the host |
Example
PATCH /api/subtraction/Arabdidopsis
{
"nickname": "Thale cress"
} Response
Status: 200 OK
{ "ready": true, "is_host": true, "file": { "id": "vlekszor-ATgenomeTAIR9.171", "name": "ATgenomeTAIR9.171" }, "user": { "id": "igboyes" }, "job": { "id": "ritpnbst" }, "count": 7, "gc": { "a": 0.319, "t": 0.319, "g": 0.18, "c": 0.18, "n": 0.002 }, "nickname": "Thale cress", "id": "Arabidopsis" }
Errors
| Status | Message | Reason |
|---|---|---|
| 403 | Not permitted | client does not have the ‘modify_subtraction` permission |
| 404 | Not found | subtraction does not exist |
| 422 | Invalid input | JSON request body is invalid |
Remove
Requires modify_subtraction permission
Remove an existing subtraction
DELETE
/api/subtraction/:id
Example
DELETE /api/subtraction/Test%201
Response
Status: 204 No content
Errors
| Status | Message | Reason |
|---|---|---|
| 403 | Not permitted | client does not have the ‘modify_subtraction` permission |
| 404 | Not found | subtraction does not exist |
409 | Has linked samples | subtraction is in use by one or more sample and cannot be removed |