Introduction
GenTaR is designed to coordinate the production of transgenic mice between high-throughput mouse production facilities and consortia of clinicians and human geneticists while minimizing the overlap and maximizing efficiencies. GenTaR captures the intention of a consortium to produce mutant mice targeting a particular gene, and the progress of mouse production. It records information about the mutation created, and tracks the state of phenotyping performed on the mutant mouse line.
This is a secure resource that can house various types of mutations linked to genes, and will provide different data access policies to users.
This guide is aimed at developers of such applications.
1. Usage of HTTP Verbs
The following table describes how the GenTaR API interprets the HTTP verbs.
HTTP Verb | Usage |
---|---|
GET |
GET is used to retrieve information without changing the state of the system. |
POST |
POST is used to submit an entity to the specified resource, often causing a change in state or side effects on the system. |
PUT |
PUT method replaces all current representations of the target resource with the request payload. |
Other verbs, such as DELETE, are not supported by GenTaR at present.
2. Pagination and Sorting
Most of the endpoints returning collections are paginated and can be sorted. If no parameters are specified, then the default ones are applied.
2.1. Pagination
The parameters to specify the pagination are:
Parameter |
Description |
page |
Number of the page to retrieve. It starts with 0 (which is the default value). |
size |
Number of elements to retrieve. |
2.2. Sorting
The parameters to specify the sorting are:
Parameter |
Description |
sort |
Column and direction to sort, separated by comma. The directions are ASC or DESC. Example: sort=tpn,ASC |
For example, to get the first 15 projects in the system, ordered by tpn, the call to the enpoint would be:
api/projects?page=0&size=15&sort=tpn,ASC
3. Authentication
After a user is registered in the system (see: Create a user), they can start working with GenTaR.
The first step begins with logging into GenTaR using the /auth/signin endpoint. The user issues a POST request to the endpoint and supplies the username and the password credentials specified at registration as the JSON request payload (see the Login Data Structure example below). A JSON Web Token (see https://jwt.io) is returned if the login is successful.
In all subsequent interactions with GenTaR the user provides the access token to authenticate each request to a protected route or resource. The tokens are signed by the server so the server can validate the signature of the token to grant the access to resources. The access token is a Base64 encoded String, that should be included as an Authorization HTTP header like this:
Authorization: Bearer eyJhbGciOiJSUzI1NiJIUzI1NiJ9.eyJpc3MiOiJjb2RlcmFkYXIiLCJleHAiOjE0ODQ1MTUzOTUsInR5cGUiOiJSRUZSRVNIIiwiaWF0IjoxNDg0NTE1NDU1LCJ1c2VySWQiOiIxIiwidXNlcm5hbWUiOiJyYWRhciJ9.zfkyc5jkPiAUEt7nU25SJxKprcPiXaiq0Q6bCJ_RrQo
The access token is short-lived and by default expires after 30 minutes.
A typical work flow follows this pattern:
-
Client logs in with username and password to obtain a token
-
Client interacts with resources in GenTaR by providing the access token in each request
-
After 30 minutes client gets a 401-Response
-
Clients logs in again and retrieves a new token to continue working with the system
See more:
3.1. POST
3.1.1. Successful authentication
Login Data Structure
Path | Type | Description |
---|---|---|
|
|
The user name. |
|
|
The password. |
Example Request
POST /auth/signin HTTP/1.1
Content-Type: application/json
Content-Length: 85
Host: localhost:8080
{
"userName" : "gentar_test_user1@gentar.org",
"password" : "gentar_test_user1"
}
Example Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1712
{
"userName" : "gentar_test_user1@gentar.org",
"accessToken" : "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxODYsImlhdCI6MTczNDAwNDM4NiwianRpIjoiYmU3YWI0ODUtYTc0Yy00Y2RmLWEyOGItMGJlZWMyZmY5MDM1IiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6IjM4ZTA5OWRmLTQ4YzUtNGM5Ni05ZTE2LWJjYzEyYWVlODQ0NSIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.Fu4JGW2IcJaphXK9ADzoiSJCSy9_Amewwuxk8Vx_M2IspFJI59G-IaN1G_M12dZVdOWJJ8v52YrPWfnmsZHbS-8Isd7QfAz56c5sO8CoV-szg6z3MYZxxW-zJj5AusqOy66BW_u1pG5XqJ9DWmbNMoI8xeat_lU6ySfjhrpMqyNkbuiqakXIXlsJCll_LzEOCLBTPLQdACDDF1L6edF0mhxyirsYpR9Im3ESMXjg53aDnfYQ4xULDr8ykEibuiSveY-G3QYgyHubbGCR10YdVJ_baks0wIN3GRdHxN_8u-B9H4hZBOYWwwFFTXKsQW2IYj6nfxMXapBMTK5qMJUDuw"
}
Response Structure
Path | Type | Description |
---|---|---|
|
|
User name in the system (usually the email). |
|
|
The token to access the protected end points. |
3.1.2. Error in authentication: user/password is incorrect
When trying to sign in with an incorrect user or password the system will return an error message.
Unresolved directive in restapi.adoc - include::/usr/src/gentar/rest-api/target/generated-snippets/auth/signin/no-valid-user-password/http-request.adoc[]
Unresolved directive in restapi.adoc - include::/usr/src/gentar/rest-api/target/generated-snippets/auth/signin/no-valid-user-password/http-response.adoc[]
4. Users
4.1. Fields
These are the fields you are going to see in the body of a request in a GET or in the payload for POST or PUT operations.
Path | Type | Description |
---|---|---|
|
|
User name in the system. |
|
|
User email |
|
|
Whether or not the user can be contacted through their email. |
|
|
Information about the work units that the user is associated with, along with the role the user has in each work unit. |
|
|
Internal id of the record in the system. |
|
|
Name of the work unit. |
|
|
Name of the role. |
|
|
Information about the consortia that the user is associated with, along with the role the user has in each consortium. |
|
|
Internal id of the record in the system. |
|
|
Name of the consortium. |
|
|
Name of the role. |
|
|
Whether or not the user is admin. |
|
|
Information about the general permissions the user has. |
|
|
Action name. |
|
|
True if the user has permission. False otherwise. |
4.2. GET
4.2.1. Get Current Logged Person
Get the current user information. The current user is the owner of the token used in the request.
Example Request
Curl:
$ curl 'http://localhost:8080/api/people/currentPerson' -i -X GET \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxODUsImlhdCI6MTczNDAwNDM4NSwianRpIjoiYTFjOTk4ZjctZThmYy00NmFkLTk5ZjktNzIwZjg1ODY5Mjg3IiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6ImIyMDQzMDdlLWE2OWYtNGY2OC1hYTFkLWU1OGJkNDIzYjIwYiIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.OLb0rIRmxtd1rJya6X54ZZQ7ASNvm5n3nFExcH2Sc96lwOrJLnlNG64CwjZw3GHjtKqMO4u-zj7yMjARBe6kighaD1ozOOGOSdsoOzwiM3FjrLcYbQ-AhfQ2b_T79NzqS9vpgMbq3Ffi2oMyvuyDOwLiEicbYcOSmhFt0XUx8yAsIh0UbVQA0zWOhdIQAKiy1pYEdXmzavbyOs-eyl5VgdFpclP6qB6OhoyJqt7uglC720jVmYm-Dfbh46137AZVs6FjtxhjU3tkBSbIDdOAHKEuYNc2Z7n0qcMohxXILYzzOciOn7RVxvkPbQsYgBtRaoCeABJ_lGo00JZ6u4W0rg'
Example Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 551
{
"name" : "Test user name",
"email" : "gentar_test_user1@gentar.org",
"contactable" : true,
"rolesWorkUnits" : [ {
"id" : 1,
"workUnitName" : "UCD",
"roleName" : "general"
} ],
"rolesConsortia" : [ {
"id" : 1,
"consortiumName" : "BaSH",
"roleName" : "general"
} ],
"actionPermissions" : [ {
"actionName" : "manageUsers",
"value" : false
}, {
"actionName" : "executeManagerTasks",
"value" : false
}, {
"actionName" : "canManageGeneLists",
"value" : false
} ],
"isAdmin" : false
}
4.3. POST
4.3.1. Create a user
To create a user in the system specify the user in a JSON document that sent to the following endpoint.
Example Request
Curl: Unresolved directive in restapi.adoc - include::/usr/src/gentar/rest-api/target/generated-snippets/people/postPerson/curl-request.adoc[]
Example Response
Unresolved directive in restapi.adoc - include::/usr/src/gentar/rest-api/target/generated-snippets/people/postPerson/http-response.adoc[]
4.3.2. Request password reset
An example of how to request a password reset for a specific user is shown below. When this endpoint is used, the user will receive an email with a link and a secret pin. By following the link and using the secret pin the user can set a new password.
Example Request
Curl:
$ curl 'http://localhost:8080/api/people/requestPasswordReset' -i -X POST \
-H 'Content-Type: application/json' \
-d 'gentar_test_user1@gentar.org'
Example Response
HTTP/1.1 200 OK
4.4. PUT
4.4.1. Update a managed user
This endpoint allows a manager to update some information for a user that is managed by them.
Example Request
Curl:
$ curl 'http://localhost:8080/api/people/gentar_test_user2@gentar.org' -i -X PUT \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxODUsImlhdCI6MTczNDAwNDM4NSwianRpIjoiNWFiMGMzMmQtODc5OS00MzUyLWE1N2QtNTU3ZDM1YTgzOTM4IiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6IjgzYjJlNDYyLTYxMjQtNDAwYi1iYjI3LTljNTI0MDE4Y2Q1YyIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.DcYwP9j8rwCz1KQnwU-aD1blXUu4SquyuYmuefw3nzCL5BnY7rRxiko6rdlJbVgc7XxPkSmNp_tf2pmV5BCmoGUSmWzjEFHUjU0o0tklWCUE1Cpzv2rAanJ4qVEaRkXOK8N9GmUiH-jA-au-G5uQouMtbvKomSbqVPJkKW0sX_f1khY2GzJ_kGheDpyOGZXIw88r5-Pj9Apnvn8TX-Y67jz2scOKuz4dC7nLDuJkaT84Iy_Pwz2lbdyes-z5NhKVQkYrHCUxlWIwIIQAkdLzGc9RsDqbk0fMc5pvjsonHRXwatPUcpaLCY-QQSb4cGMAjKZ_9qYp8l9n_4RkLmhIEQ' \
-d '{
"name" : "Test user 2 name [edited]",
"contactable" : false,
"rolesWorkUnits" : [ {
"id" : 2,
"workUnitName" : "UCD",
"roleName" : "general"
} ],
"rolesConsortia" : [ {
"consortiumName" : "CMG",
"roleName" : "general"
} ]
}'
Example Response
HTTP/1.1 200 OK
Content-Disposition: inline;filename=f.txt
Content-Type: application/json
Content-Length: 562
{
"name" : "Test user 2 name [edited]",
"email" : "gentar_test_user2@gentar.org",
"contactable" : false,
"rolesWorkUnits" : [ {
"id" : 2,
"workUnitName" : "UCD",
"roleName" : "general"
} ],
"rolesConsortia" : [ {
"id" : 3,
"consortiumName" : "CMG",
"roleName" : "general"
} ],
"actionPermissions" : [ {
"actionName" : "manageUsers",
"value" : false
}, {
"actionName" : "executeManagerTasks",
"value" : false
}, {
"actionName" : "canManageGeneLists",
"value" : false
} ],
"isAdmin" : false
}
4.4.2. Update own user
This endpoint allows a user that is currently logged in the system to modify data like the name, password of whether they are contactable or not.
If a user wants to update their password, it’s necessary to provide the current password ('currentPassword' field) and the new password ('newPassword' field). Otherwise, the fields can be null or simply be omitted in the request.
Example Request
Curl: Unresolved directive in restapi.adoc - include::/usr/src/gentar/rest-api/target/generated-snippets/people/updateOwnUser/curl-request.adoc[]
Example Response
Unresolved directive in restapi.adoc - include::/usr/src/gentar/rest-api/target/generated-snippets/people/updateOwnUser/http-response.adoc[]
5. Projects
A project in GenTaR is a top level object. It specifies an intention, and it is associated with one or more plans that contain information about production attempts, or the state of phenotyping.
5.1. Fields
These are the fields you are going to see in the body of a request in a GET or in the payload for POST or PUT operations.
Path | Type | Description |
---|---|---|
|
|
Public identifier for the project. Not editable, just for reference in the payload. |
|
|
[WIP] |
|
|
Indicates if the project is only used for ES Cell QC |
|
|
Comment on this project. |
|
|
Privacy level for the project (public, protected or restricted). |
|
|
Intentions for the project. |
|
|
Name of the molecular mutation. |
|
|
Mutation categorizations linked to the project intention. |
|
|
Name of type of the mutation categorization. |
|
|
Description of the mutation categorization. |
|
|
Name of type of the mutation categorization.Possible values allele_category or repair_mechanism. |
|
|
Gene in the intention. |
|
|
Gene information. |
|
|
Internal id of the gene in GenTaR. |
|
|
Name of the gene. |
|
|
Symbol of the gene. |
|
|
External link for the gene. |
|
|
Accession id for the gene, e.g MGI. |
|
|
Species associated with the gene. |
|
|
Sequences in the intention. |
|
|
Index of the sequence |
|
|
Sequence information. |
|
|
Internal record id. |
|
|
Sequence value. |
|
|
Type of the sequence. Currently "complete,partial", "5_prime_end" or "3_prime_end" |
|
|
Type of the sequence. Currently "intention target sequence", "original starting sequence" or "outcome sequence" (the last one only valid for outcomes). |
|
|
Information about the locations and their order in the sequence. |
|
|
Internal record id. |
|
|
Index of the location (order). |
|
|
Location information. |
|
|
Internal record id. |
|
|
Chromosome of the location. |
|
|
Start position. |
|
|
Stop position. |
|
|
Strand of the location. |
|
|
Genome build used as reference. |
|
|
Name of the species. |
|
|
Name of the strain. |
|
|
A list of best orthologs for the gene (Support count > 4). |
|
|
A list of all orthologs for the gene. |
|
|
Human gene symbol representing the predicted ortholog of the mouse gene. |
|
|
Category assigned to the ortholog. Possible values: LOW, MODERATE and GOOD according to the support count. The LOW category indicates the ortholog prediction has a support count of less than 5. The MODERATE category indicates the prediction has a support count of between 5 and 8, and the GOOD category indicates the support count is between 9 and 12 |
|
|
Services that predict this human gene to the ortholog of the mouse gene. |
|
|
Counter of how many services support this ortholog designation. |
|
|
URL of the HGNC entry for this gene. |
|
|
Human gene symbol representing the predicted ortholog of the mouse gene. |
|
|
Category assigned to the ortholog. Possible values: LOW, MODERATE and GOOD according to the support count. The LOW category indicates the ortholog prediction has a support count of less than 5. The MODERATE category indicates the prediction has a support count of between 5 and 8, and the GOOD category indicates the support count is between 9 and 12 |
|
|
Services that predict this human gene to the ortholog of the mouse gene. |
|
|
Counter of how many services support this ortholog designation. |
|
|
URL of the HGNC entry for this gene. |
|
|
Consortia associated with the project. |
|
|
Internal record id. |
|
|
Name of the consortium. |
|
|
Links for project. |
|
|
Link to the project. |
|
|
Links to production plans. |
|
|
Link to a specific production plan. |
|
|
Links to phenotyping plans. |
|
|
Link to a specific phenotyping plan. |
|
|
Assignment Status for the project. It could be marked as in conflict if existing projects are working in the same gene. Read only. |
|
|
A status summarising the global status based on the statuses of the plans in the project. Read only. |
|
|
Date, represented as string, on which the project was activated again (assignment Status changed from inactive). Example: "2020-09-24T00:00:05". Read only. |
|
|
Project completion note. |
|
|
Project completion comment. |
|
|
iMits mi_plan identifier (Present if the project was transferrred from iMits). Read only. |
|
|
Work units associated with the project. |
|
|
Work groups associated with the project. |
|
|
Stamps for the changes of Assignment Status. Read only. |
|
|
Production colonies related to the project. Read only. |
|
|
Phenotyping external references related to the project. Read only. |
5.2. Filters
When you use request all projects, see the section Get all Projects, you can use filters on the result to select the information you require.
Filters are applied by appending the filter to the endpoint in the following fashion
/api/projects?<filter name>=<value to use as the filter>
Note: the names of the filters are case sensitive.
Filter values can be supplied as a comma separated list
For example, you could use this request to obtain information about the projects with the identifiers TPN:000000001 and TPN:000000004
/api/projects?tpn=TPN:000000001,TPN:000000004
You can also combine filters in the following fashion
/api/projects?gene=MGI:1202064&workUnitName=JAX
See the section Get all Projects using filters. for an example of a request that uses a filter.
This is the list of filters you can use:
Filter name | Description |
---|---|
tpn |
TPN(s) to be used as a filter. Eg: TPN:000000013. |
intention |
Name of the intention. Possible values:
|
gene |
Marker symbol or accession id(s). Eg.Vps37a,MGI:1261835 |
workUnitName |
Name of the work unit(s) associated with any of the plans in the project. |
workGroupName |
Name of the work group(s) associated with any of the plans in the project. |
assignmentStatusName |
Assignment Status Name. Possible values:
|
summaryStatusName |
Summary Status of the project. Eg: Plan Created. |
colonyName |
Colony name from production plan. |
phenotypingExternalRef |
Specimen or colony name in a phenotyping plan. |
privacyName |
The privacy of the project. Any of: public, protected, restricted. |
imitsMiPlanId |
Ids in iMits (if the project was migrated from iMits). |
5.3. GET
5.3.1. Get a specific project
To obtain information about a specific project in the system you can use the TPN identifier to make a request like the one below.
Example Request
Curl:
$ curl 'http://localhost:8080/api/projects/TPN:000000001' -i -X GET \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxODcsImlhdCI6MTczNDAwNDM4NywianRpIjoiMGRkZTg3Y2UtMWVjZC00NTFiLTg3MjctNTUxYzI5ODg0MmQ0IiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6IjBlZTU1MmQyLTAwMjQtNDViMi1hMzBhLWIwOGQwNThlM2ZjOCIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.LUyabFkqbGi_9KaB3pm98swWnjE3EIutlnMqro0JPLVzbTrvU8ylwc9Xo_RVyxV--JuQo1PbuLQpZwIsX-ibNNTuXIR5Cw--3vyA-9H-ZNgzYYUHSQOIujlRoZ_Fj7iKFZK10_aLy46pMb9OLERVk5aJeve3ZYUHqNeRbVbS7fCWGJYzrO6mrl6toSUODeYd9LbQ3F3rgMmhGRMEsH481nf7vkTBpP3TgnxCgolEYe0ROPipVHAl8xzPDeJeRrV7i7fnmvVsfN46dvuyBGdE5fxQxqOvC2E_oUiQO09D7nlHr22KJVBxNwsgUw0t8ueWNO90-ABV5R8NOdo2EEfFYg'
Example Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 2812
{
"tpn" : "TPN:000000001",
"recovery" : false,
"esCellQcOnly" : false,
"comment" : "Comment test",
"reactivationDate" : "2020-09-24T00:00:02",
"privacyName" : "public",
"assignmentStatusName" : "Assigned",
"summaryStatusName" : "Plan Created",
"relatedWorkUnitNames" : [ "BCM" ],
"relatedWorkGroupNames" : [ "BaSH" ],
"completionNote" : null,
"completionComment" : null,
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/projects/TPN:000000001"
},
"productionPlans" : [ {
"href" : "http://localhost:8080/api/plans/PIN:0000000001"
} ],
"phenotypingPlans" : [ {
"href" : "http://localhost:8080/api/plans/PIN:0000000002"
} ]
},
"imitsMiPlanId" : 27136,
"assignmentStatusStamps" : [ ],
"projectIntentions" : [ {
"molecularMutationTypeName" : "Point Mutation",
"mutationCategorizations" : [ {
"name" : "Null Reporter",
"description" : null,
"typeName" : "allele_category"
} ],
"intentionByGene" : {
"bestOrthologs" : [ {
"symbol" : "SERPINB10",
"category" : "GOOD",
"support" : null,
"supportCount" : 9,
"link" : "https://www.genenames.org/data/gene-symbol-report/#!/hgnc_id/SERPINB10"
} ],
"allOrthologs" : [ {
"symbol" : "SERPINB10",
"category" : "GOOD",
"support" : null,
"supportCount" : 9,
"link" : "https://www.genenames.org/data/gene-symbol-report/#!/hgnc_id/SERPINB10"
} ],
"gene" : {
"id" : 1,
"symbol" : "Serpinb10",
"speciesName" : "Mus musculus",
"accessionId" : "MGI:2138648",
"name" : "serine (or cysteine) peptidase inhibitor, clade B (ovalbumin), member 10",
"externalLink" : "http://www.mousephenotype.org/data/genes/MGI:2138648"
}
},
"intentionsBySequences" : [ {
"index" : 1,
"sequence" : {
"id" : 1,
"sequence" : ">Otog TGGGACTAGGTCACAGACAGAAAAAGGGGGATGAGAAGGCCTTAGATCTAAGGGAGGTAAAGAGAGAATTAACCACAGGAATTAGCACACTGAAGGATCGTGCTCGCCAGACCTCAAACCATCTCCTTCTTGCGTCATGAGAAAGCCTTGACCCATCATTTTCCAGTTTTCTGTGTTCTTGCCCCACTTTGGCCCCTGGATCCTGGGATCTCCCCAGAAATTCTTACCTAGCCCC",
"typeName" : "complete",
"categoryName" : "outcome sequence",
"sequenceLocations" : [ {
"id" : 1,
"locationIndex" : 1,
"location" : {
"id" : 1,
"chr" : "X",
"start" : 1234567,
"stop" : 7654321,
"strand" : "+",
"genomeBuild" : "GRCm38",
"strainName" : "C57BL/6N",
"speciesName" : "Mus musculus"
}
} ]
}
} ]
} ],
"consortia" : [ {
"id" : 1,
"consortiumName" : "CMG"
} ],
"colonyNames" : [ ],
"phenotypingExternalRefs" : [ ]
}
5.3.2. Get all Projects
You can obtain all the projects that the user has permission to view using the following request. The response is paged, and by default a maximum of 20 results are returned.
Example Request
Curl:
$ curl 'http://localhost:8080/api/projects' -i -X GET \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxODgsImlhdCI6MTczNDAwNDM4OCwianRpIjoiMDU4N2YzYTUtMTk2Ni00YjNjLWIzMjAtNWFhNGYwYTQxZmMzIiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6IjNmOGZlNWQ0LTNlNjEtNDViMS05YWY4LTcwNDAyNWFlNWI4ZCIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.A9canHWs_AFXnYbnrGDgSBi7jgDVe1EmGUXczR_pK2Qg3gBMNB5kJjvLp7YPEy4tXeroW2HCXOYZ8qZiVc1CPPjX8VgxPDWNjfRI37YyDe9b6d1q5_NKsKZG4_cDxwV-yqfBrLeE2qzcG9FIXjvW8Kf4UpuiT7LbGsdIFmf5tsnZw1iyR-oNsNSz2HwOPUmEPJzDhxnsIyl2YYfZuwwR_Om9X3G457Xc3G0_a06XCuX7hnrr4pH1sFNwJ2jHYw0X3QZS4cpbfPIkLXM79XS-jJRVpp0AbLnqLEfcpy5AQyHeCrMRr1MR1Siz17L416CCg-HGVW1WEbC8_vOImYdZiA'
Example Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Link:
Content-Type: application/hal+json
Content-Length: 3399
{
"_embedded" : {
"projects" : [ {
"tpn" : "TPN:000000001",
"recovery" : false,
"esCellQcOnly" : false,
"comment" : "Comment test",
"reactivationDate" : "2020-09-24T00:00:02",
"privacyName" : "public",
"assignmentStatusName" : "Assigned",
"summaryStatusName" : "Plan Created",
"relatedWorkUnitNames" : [ "BCM" ],
"relatedWorkGroupNames" : [ "BaSH" ],
"completionNote" : null,
"completionComment" : null,
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/projects/TPN:000000001"
},
"productionPlans" : [ {
"href" : "http://localhost:8080/api/plans/PIN:0000000001"
} ],
"phenotypingPlans" : [ {
"href" : "http://localhost:8080/api/plans/PIN:0000000002"
} ]
},
"imitsMiPlanId" : 27136,
"assignmentStatusStamps" : [ ],
"projectIntentions" : [ {
"molecularMutationTypeName" : "Point Mutation",
"mutationCategorizations" : [ {
"name" : "Null Reporter",
"description" : null,
"typeName" : "allele_category"
} ],
"intentionByGene" : {
"bestOrthologs" : [ {
"symbol" : "SERPINB10",
"category" : "GOOD",
"support" : null,
"supportCount" : 9,
"link" : "https://www.genenames.org/data/gene-symbol-report/#!/hgnc_id/SERPINB10"
} ],
"allOrthologs" : [ {
"symbol" : "SERPINB10",
"category" : "GOOD",
"support" : null,
"supportCount" : 9,
"link" : "https://www.genenames.org/data/gene-symbol-report/#!/hgnc_id/SERPINB10"
} ],
"gene" : {
"id" : 1,
"symbol" : "Serpinb10",
"speciesName" : "Mus musculus",
"accessionId" : "MGI:2138648",
"name" : "serine (or cysteine) peptidase inhibitor, clade B (ovalbumin), member 10",
"externalLink" : "http://www.mousephenotype.org/data/genes/MGI:2138648"
}
},
"intentionsBySequences" : [ {
"index" : 1,
"sequence" : {
"id" : 1,
"sequence" : ">Otog TGGGACTAGGTCACAGACAGAAAAAGGGGGATGAGAAGGCCTTAGATCTAAGGGAGGTAAAGAGAGAATTAACCACAGGAATTAGCACACTGAAGGATCGTGCTCGCCAGACCTCAAACCATCTCCTTCTTGCGTCATGAGAAAGCCTTGACCCATCATTTTCCAGTTTTCTGTGTTCTTGCCCCACTTTGGCCCCTGGATCCTGGGATCTCCCCAGAAATTCTTACCTAGCCCC",
"typeName" : "complete",
"categoryName" : "outcome sequence",
"sequenceLocations" : [ {
"id" : 1,
"locationIndex" : 1,
"location" : {
"id" : 1,
"chr" : "X",
"start" : 1234567,
"stop" : 7654321,
"strand" : "+",
"genomeBuild" : "GRCm38",
"strainName" : "C57BL/6N",
"speciesName" : "Mus musculus"
}
} ]
}
} ]
} ],
"consortia" : [ {
"id" : 1,
"consortiumName" : "CMG"
} ],
"colonyNames" : [ ],
"phenotypingExternalRefs" : [ ]
} ]
},
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/projects"
}
},
"page" : {
"size" : 40,
"totalElements" : 1,
"totalPages" : 1,
"number" : 0
}
}
5.3.3. Get all Projects using filters.
You can also apply filters to the endpoint to refine the search.Each filter admits several values separated by comma. The filters you can use are listed above under the section Filters.
Example Request
Curl:
GET /api/projects?assignmentStatusName=Assigned HTTP/1.1
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxODcsImlhdCI6MTczNDAwNDM4NywianRpIjoiOTI2ZjAxMTQtNTAxYy00YWQ1LTljZjEtOTg2ZGU0ODdjMGMzIiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6ImRkMTJlMDUxLWU1NzUtNGUwMS05NTMxLTI4ZTljZjc3NzgwZCIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.FdQshAYhsPFXdD6bB9qK34K728kTWal29LJblgxhtfptWNH8WaAKXRGdUKsr4GluwoUtqJtaJfcg_vmW4NfnsWlauJNMvOseGPLO4dlK25xl8zRUyW8SIU6TW00zCeY8rjoNFLFH5PkOxaCHmf-XyE_B3-XlX5YMLx8uge-kT0yz5IU02BCS-BbijWA_UIwL5JRxfgfKxAwfr1pLih4QHuwVEFXeoApoTVRxCV_0gK5f4f18aZrG6wpEeZ_uJSRrck_zxImU4Pb5hbq9IwQAvRFFZnfBknkr4_ojzvFzvvJrMtZMjSmwgbNrQ5ayJ662gRb06Ung1ih8c_sY4qD3lg
Host: localhost:8080
Example Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Link:
Content-Type: application/hal+json
Content-Length: 3399
{
"_embedded" : {
"projects" : [ {
"tpn" : "TPN:000000001",
"recovery" : false,
"esCellQcOnly" : false,
"comment" : "Comment test",
"reactivationDate" : "2020-09-24T00:00:02",
"privacyName" : "public",
"assignmentStatusName" : "Assigned",
"summaryStatusName" : "Plan Created",
"relatedWorkUnitNames" : [ "BCM" ],
"relatedWorkGroupNames" : [ "BaSH" ],
"completionNote" : null,
"completionComment" : null,
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/projects/TPN:000000001"
},
"productionPlans" : [ {
"href" : "http://localhost:8080/api/plans/PIN:0000000001"
} ],
"phenotypingPlans" : [ {
"href" : "http://localhost:8080/api/plans/PIN:0000000002"
} ]
},
"imitsMiPlanId" : 27136,
"assignmentStatusStamps" : [ ],
"projectIntentions" : [ {
"molecularMutationTypeName" : "Point Mutation",
"mutationCategorizations" : [ {
"name" : "Null Reporter",
"description" : null,
"typeName" : "allele_category"
} ],
"intentionByGene" : {
"bestOrthologs" : [ {
"symbol" : "SERPINB10",
"category" : "GOOD",
"support" : null,
"supportCount" : 9,
"link" : "https://www.genenames.org/data/gene-symbol-report/#!/hgnc_id/SERPINB10"
} ],
"allOrthologs" : [ {
"symbol" : "SERPINB10",
"category" : "GOOD",
"support" : null,
"supportCount" : 9,
"link" : "https://www.genenames.org/data/gene-symbol-report/#!/hgnc_id/SERPINB10"
} ],
"gene" : {
"id" : 1,
"symbol" : "Serpinb10",
"speciesName" : "Mus musculus",
"accessionId" : "MGI:2138648",
"name" : "serine (or cysteine) peptidase inhibitor, clade B (ovalbumin), member 10",
"externalLink" : "http://www.mousephenotype.org/data/genes/MGI:2138648"
}
},
"intentionsBySequences" : [ {
"index" : 1,
"sequence" : {
"id" : 1,
"sequence" : ">Otog TGGGACTAGGTCACAGACAGAAAAAGGGGGATGAGAAGGCCTTAGATCTAAGGGAGGTAAAGAGAGAATTAACCACAGGAATTAGCACACTGAAGGATCGTGCTCGCCAGACCTCAAACCATCTCCTTCTTGCGTCATGAGAAAGCCTTGACCCATCATTTTCCAGTTTTCTGTGTTCTTGCCCCACTTTGGCCCCTGGATCCTGGGATCTCCCCAGAAATTCTTACCTAGCCCC",
"typeName" : "complete",
"categoryName" : "outcome sequence",
"sequenceLocations" : [ {
"id" : 1,
"locationIndex" : 1,
"location" : {
"id" : 1,
"chr" : "X",
"start" : 1234567,
"stop" : 7654321,
"strand" : "+",
"genomeBuild" : "GRCm38",
"strainName" : "C57BL/6N",
"speciesName" : "Mus musculus"
}
} ]
}
} ]
} ],
"consortia" : [ {
"id" : 1,
"consortiumName" : "CMG"
} ],
"colonyNames" : [ ],
"phenotypingExternalRefs" : [ ]
} ]
},
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/projects"
}
},
"page" : {
"size" : 40,
"totalElements" : 1,
"totalPages" : 1,
"number" : 0
}
}
5.4. POST
5.4.1. Create a project
In order to create a project, it is necessary to create at least one plan that is attached to it (palnDetails object). Tne intention(s) of the project are defined in the creation. It can be a gene and one or more sequences. The complete set of fields used in the creation are the following:
Fields in project creation:
Path | Type | Description |
---|---|---|
|
|
[WIP] |
|
|
Indicates if the project is only used for ES Cell QC |
|
|
Comment on this project. |
|
|
Privacy level for the project (public, protected or restricted). |
|
|
Intentions for the project. |
|
|
Name of the molecular mutation. |
|
|
Mutation categorizations linked to the project intention. |
|
|
Name of type of the mutation categorization. |
|
|
Description of the mutation categorization. |
|
|
Name of type of the mutation categorization.Possible values allele_category or repair_mechanism. |
|
|
Gene in the intention. |
|
|
Gene information. |
|
|
Internal id of the gene in GenTaR. |
|
|
Name of the gene. |
|
|
Symbol of the gene. |
|
|
External link for the gene. |
|
|
Accession id for the gene, e.g MGI. |
|
|
Species associated with the gene. |
|
|
Sequences in the intention. |
|
|
Index of the sequence |
|
|
Sequence information. |
|
|
Sequence value. |
|
|
Type of the sequence. Currently "complete,partial", "5_prime_end" or "3_prime_end" |
|
|
Type of the sequence. Currently "intention target sequence", "original starting sequence" or "outcome sequence" (the last one only valid for outcomes). |
|
|
Information about the locations and their order in the sequence. |
|
|
Index of the location (order). |
|
|
Location information. |
|
|
Chromosome of the location. |
|
|
Start position. |
|
|
Stop position. |
|
|
Strand of the location. |
|
|
Genome build used as reference. |
|
|
Name of the species. |
|
|
Name of the strain. |
|
|
Plan with minimum information to be created alongside with the project. |
|
|
Name of the funders in for the plan. |
|
|
Work unit of the plan. |
|
|
Work group of the plan. |
|
|
Comment in the plan. |
|
|
Attempt type name. |
|
|
Plan type name. |
|
|
Consortia associated with the project. |
|
|
Name of the consortium. |
Example Request
Curl:
POST /api/projects HTTP/1.1
Content-Type: application/json
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxODYsImlhdCI6MTczNDAwNDM4NiwianRpIjoiMzRhM2M5ZmEtOTYxOC00MTQ1LWI0ZjUtN2UwNTQwZDc5NWY0IiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6ImVjZjFlZTY0LWJkMTgtNGRiOS1hZDIzLTZmMjZjZDhiZDhjNiIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.Km1T_j82S7WPxWEAY-ntxWZQX90-SibFcjr1zJR8pd94B7AZazGRwV-IPf1a5puYWvff0UZxwM1h7DKDyyMsNgkIVm0jEFcQoyYqxGox7_nq-wMQuNZCO3q7n8UoipXs7eTSFG71i5yf-L5cghFn-GMCvuE7h-PeoSEwL2zdvjaRIWPnffqOCJ8Db-j5130NlF24d5evmLyDQNby43PGLi5k6-RGaEq5LF7a1sv9tGcalopIJCQSkIwhDyhIiPp_obqo7rz58B0zNh7iQZ9zixmfSRpjgrd28iIGscjHNnARQFpoHsXuC6jTbNNjSf3rXfgkWg_5_3yIhaYZ7esUSA
Content-Length: 1732
Host: localhost:8080
{
"recovery" : false,
"esCellQcOnly" : false,
"comment" : "comment",
"privacyName" : "public",
"planDetails" : {
"funderNames" : [ "KOMP" ],
"workUnitName" : "BCM",
"workGroupName" : "BaSH",
"comment" : "Plan comment",
"attemptTypeName" : "crispr",
"typeName" : "production"
},
"projectIntentions" : [ {
"molecularMutationTypeName" : "Point Mutation",
"mutationCategorizations" : [ {
"name" : "Null Reporter",
"description" : null,
"typeName" : "allele_category"
} ],
"intentionByGene" : {
"gene" : {
"id" : null,
"name" : null,
"symbol" : "Serpinb10",
"speciesName" : null,
"externalLink" : null,
"accessionId" : "MGI:2138648"
}
},
"intentionsBySequences" : [ {
"sequence" : {
"sequence" : ">Gpr173 Cas9 high_Gpr173_11766 \n GATGGTTTGAGAGCCTGGACTGAAGCTTGAAAGAGAAGGCTTCTGTATGGGTCCCACCCTTCCCCTGCTGCTGGCCCCCGTATGGTGATTCTGACTTTCCCCCTGCCTATGATCAGTCCCAGCAGCACCAGCTTCACATAAGCCGATGCTGATGGCAGAGACAGTGCGCCGCTCACCTCTTCGGGCTCTCCGGTGGTGTTGGCCATACTGAGGGGCAAAGGCTACCCCCAACCCTAGGGGATTGGCCAGTTCAGTATTTGATGGGCCCTGGCGGACTCCATCAGTTTTCTTGCTGAGCTACACCTGCAAATGGGAACA",
"typeName" : "partial",
"categoryName" : "original starting sequence",
"sequenceLocations" : [ {
"locationIndex" : 1,
"location" : {
"chr" : "X",
"start" : 123456,
"stop" : 654321,
"strand" : "+",
"genomeBuild" : "GRCm38",
"speciesName" : "Mus musculus",
"strainName" : "C57BL/6N"
}
} ]
},
"index" : 1
} ]
} ],
"consortia" : [ {
"consortiumName" : "CMG"
} ]
}
Example Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 598
{
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/projects/TPN:000000007"
}
},
"history" : [ {
"id" : 1,
"user" : "gentar_test_user1@gentar.org",
"date" : "2024-12-12T11:53:06.821042373",
"comment" : "Project updated",
"details" : [ {
"field" : "summaryStatus.name",
"oldValue" : null,
"newValue" : "Plan Created",
"note" : "Field changed"
} ]
}, {
"id" : 2,
"user" : "gentar_test_user1@gentar.org",
"date" : "2024-12-12T11:53:06.822252235",
"comment" : "Project created",
"details" : [ ]
} ]
}
Fields in Response
Path | Type | Description |
---|---|---|
|
|
Id to see the order. |
|
|
User that did the change. |
|
|
Date of the change. |
|
|
Comment about the change. |
|
|
Details of the changes. |
|
|
Field that was changed. |
|
|
Value before the change. |
|
|
Value after the change. |
|
|
One of these: Field changed, Element added, Element deleted. |
|
|
Link to the resource |
5.5. PUT
5.5.1. Update a project
You can update some information in a project if you are related with any of the work units specified in the plans of the project.
Example Request
Curl:
PUT /api/projects/TPN:000000001 HTTP/1.1
Content-Type: application/json
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxODcsImlhdCI6MTczNDAwNDM4NywianRpIjoiNWQwZWYxMWYtZmNhYi00OWU1LWIyNWItYTQwM2E1YzcxZmJiIiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6IjVmNDEzNGQwLTA4ZjgtNDU5NC05ZDU1LTI5MGIyZWU5MDI4NCIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.aMTzh1qw-uWVW7rkvyUfyPsENqovocaG8zfLt_7ADdNtVRmhP-cUILuu6b2kGs58KwaKcKIrbPWSWnsCeoWvxH_Nrs4CbijDlDpBQT5n1NxwsoGjl6favReFo-dq_Xljt-x_6eX1t7JBariJJX0gT5nu87wn0L8CS_XwUt9bwPI9jR8w3xnY1xLIr2fgz-wVNTQc5OqKops8OmVZWCEFd4xWXPTDiUfJ5eh3smTITaDMq9IT_IzwWfQ7yG1DhML4P7BIoIFSPDqVqW3e2rA9K8DczygJ2sm2j9p4qwaBiVctg-eYUGxs2vR6HnOPvldRVCTUkEOxekYmImx1zn1jHA
Content-Length: 137
Host: localhost:8080
{
"tpn" : "TPN:000000001",
"recovery" : true,
"esCellQcOnly" : true,
"comment" : "A new comment",
"privacyName" : "protected"
}
Example Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 814
{
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/projects/TPN:000000001"
}
},
"history" : [ {
"id" : 1,
"user" : "gentar_test_user1@gentar.org",
"date" : "2024-12-12T11:53:07.507569021",
"comment" : "Project updated",
"details" : [ {
"field" : "comment",
"oldValue" : "Comment test",
"newValue" : "A new comment",
"note" : "Field changed"
}, {
"field" : "esCellQcOnly",
"oldValue" : "false",
"newValue" : "true",
"note" : "Field changed"
}, {
"field" : "privacy.name",
"oldValue" : "public",
"newValue" : "protected",
"note" : "Field changed"
}, {
"field" : "recovery",
"oldValue" : "false",
"newValue" : "true",
"note" : "Field changed"
} ]
} ]
}
Fields in Response
Path | Type | Description |
---|---|---|
|
|
Id to see the order. |
|
|
User that did the change. |
|
|
Date of the change. |
|
|
Comment about the change. |
|
|
Details of the changes. |
|
|
Field that was changed. |
|
|
Value before the change. |
|
|
Value after the change. |
|
|
One of these: Field changed, Element added, Element deleted. |
|
|
Link to the resource |
6. Plans
6.1. Fields
These are the fields you are going to see in the body of a request in a GET or in the payload for POST or PUT operations.
6.1.1. CRISPR plan.
Path | Type | Description |
---|---|---|
|
|
Public identifier for the plan. |
|
|
Public identifier for the project. |
|
|
Plan type. |
|
|
Attempt type. |
|
|
Comment for the plan |
|
|
Current status of the plan. |
|
|
Stamps of the statuses the plan has gone through. |
|
|
Status that the plan had on a specific date. |
|
|
Date of the status change. |
|
|
A status summarising the global status based on the statuses of the children of the plan. |
|
|
Link to the plan. |
|
|
Link to the project. |
|
|
Stamps of the statuses summaries the plan has gone through. |
|
|
Summary status that the plan had on a specific date. |
|
|
Date of the summary status change. |
|
|
Funders for the plan. |
|
|
Work unit for the plan. |
|
|
Work group for the plan. |
|
|
Information about the current state in the state machine for the plan. |
|
|
Current status in the plan |
|
|
Transitions in the state machine given the current state. |
|
|
Action or transition’s name. |
|
|
Transition’s description. |
|
|
Indicates whether the transition is executed by the user or by the system. |
|
|
Indicates if the transition can be executed at the moment. |
|
|
Additional explanation about the availability to execute the transition. |
|
|
Next status that the plan will have if the transition is executed. |
|
|
Name of the transition (action) to execute. |
|
|
Information about the Crispr attempt. |
|
|
Micro-injection date. |
|
|
Whether the attempt is experimental or not. |
|
|
Crispt attempt comment. |
|
|
Mutagenesis external reference. |
|
|
iMits mi_attempt identifier (present if the attempt was transferred from iMits) |
|
|
External reference for the attempt. |
|
|
Total embryos injected. |
|
|
Total embryos survived. |
|
|
Number of embryos at the two cell stage. |
|
|
Name of the strain injected. |
|
|
Embryo transfer day. |
|
|
Total transferred |
|
|
Information about the nucleases used in the attempt |
|
|
Id of the record in the system. |
|
|
Name of the type of nuclease. |
|
|
Concentration of the nuclease. |
|
|
Name of the class of nuclease. [protein or mRNA]. |
|
|
Information about the guides used in the attempt |
|
|
Id of the record in the system. |
|
|
Chromosome in the guide. |
|
|
Start |
|
|
Stop. |
|
|
gRNA concentration in the guide. |
|
|
sequence in the guide. |
|
|
Whether or not the guide is truncated. |
|
|
Strand of the guide. |
|
|
Genome build. |
|
|
PAM |
|
|
Guide sequence |
|
|
Whether or not the sequence was reversed |
|
|
Whether or not the sequence come from the sanger wge service |
|
|
Format of the guide. For example: sgRNA. |
|
|
Source of the guide. For example: in-house. |
|
|
Guide Id that out generated |
|
|
Information about the mutagenesis donors. |
|
|
Id of the record in the system. |
|
|
Mutagenesis donor’s concentration. |
|
|
Vector’s name. |
|
|
Oligo sequence as FASTA format. |
|
|
Preparation type. |
|
|
Information about the reagents. |
|
|
Id of the record in the system. |
|
|
Reagent’s name. |
|
|
Reagent’s description. |
|
|
Reagent’s concentration. |
|
|
Information about the genotype primers. |
|
|
Id of the record in the system. |
|
|
Genotype primer’s name. |
|
|
Genomic start coordinate. |
|
|
Genomic end coordinate. |
|
|
Genotype primer sequence. |
|
|
Information about the assay. |
|
|
Id of the record in the system. |
|
|
Assay type. |
|
|
Number of founder pups. |
|
|
Number of founder selected for breeding. |
|
|
Number of founder assays. |
|
|
Number of deletion G0 mutants. |
|
|
Number of G0 where mutations where detected. |
|
|
Number of HDR G0 mutants. |
|
|
Number of HDR G0 mutants with all donors inserted. |
|
|
Number of HDR G0 mutants with a subset of donors inserted. |
|
|
Number of HR G0 mutants. |
|
|
Number of NHEJ G0 mutants. |
6.1.2. ES Cell plan.
Path | Type | Description |
---|---|---|
|
|
Public identifier for the plan. |
|
|
Public identifier for the project. |
|
|
Plan type. |
|
|
Attempt type. |
|
|
Comment for the plan |
|
|
Current status of the plan. |
|
|
Stamps of the statuses the plan has gone through. |
|
|
Status that the plan had on a specific date. |
|
|
Date of the status change. |
|
|
A status summarising the global status based on the statuses of the children of the plan. |
|
|
Link to the plan. |
|
|
Link to the project. |
|
|
Stamps of the statuses summaries the plan has gone through. |
|
|
Summary status that the plan had on a specific date. |
|
|
Date of the summary status change. |
|
|
Funders for the plan. |
|
|
Work unit for the plan. |
|
|
Work group for the plan. |
|
|
Information about the current state in the state machine for the plan. |
|
|
Current status in the plan |
|
|
Transitions in the state machine given the current state. |
|
|
Action or transition’s name. |
|
|
Transition’s description. |
|
|
Indicates whether the transition is executed by the user or by the system. |
|
|
Indicates if the transition can be executed at the moment. |
|
|
Additional explanation about the availability to execute the transition. |
|
|
Next status that the plan will have if the transition is executed. |
|
|
Name of the transition (action) to execute. |
|
|
ES cell attempt details. |
|
|
The ES Cell used in the attempt. |
|
|
iMits mi_attempt identifier, (present if the attempt was transferred from iMits). |
|
|
The date when the micro-injection was performed. |
|
|
External reference used to track the ES cell attempt. |
|
|
A flag indicating if the attempt is experimental. |
|
|
A comment about the ES cell attempt. |
|
|
Name of the blastocyst strain. |
|
|
Number of blastocysts injected. |
|
|
Number of blastocysts transferred. |
|
|
Number of surrogate mothers recieving blastocysts. |
|
|
Number of pups born. |
|
|
Total number of female chimeras. |
|
|
Total number of male chimeras. |
|
|
Total number of chimeras. |
|
|
Number of male offspring with 0-39 % chimerism. |
|
|
Number of male offspring with 40-79 % chimerism. |
|
|
Number of male offspring with 80-99 % chimerism. |
|
|
Number of male offspring with 100 % chimerism. |
|
|
Name of the strain used for the test cross. |
|
|
The date when the chimeras were mated. |
|
|
Number of matings set up with chimeras. |
|
|
Number of successful chimera matings. |
|
|
Number of chimeras with germ line transmission assessed by coat-colour type. |
|
|
Number of chimeras with germ line transmission assessed by genotyping. |
|
|
Number of chimeras with 0-9 % germ line transmission. |
|
|
Number of chimeras with 10-49 % germ line transmission. |
|
|
Number of chimeras with 50-99 % germ line transmission. |
|
|
Number of chimeras with 100 % germ line transmission. |
|
|
Total number of F1 offspring from matings. |
|
|
|
|
|
The date when cassette transmission was confirmed. |
|
|
Number of heterozygous offspring. |
|
|
Number of live germ line transmission offspring. |
6.1.3. ES Cell Allele Modification plan.
Path | Type | Description |
---|---|---|
|
|
Public identifier for the plan. |
|
|
Public identifier for the project. |
|
|
Plan type. |
|
|
Attempt type. |
|
|
Comment for the plan |
|
|
Current status of the plan. |
|
|
Stamps of the statuses the plan has gone through. |
|
|
Status that the plan had on a specific date. |
|
|
Date of the status change. |
|
|
A status summarising the global status based on the statuses of the children of the plan. |
|
|
Link to the plan. |
|
|
Link to the project. |
|
|
Stamps of the statuses summaries the plan has gone through. |
|
|
Summary status that the plan had on a specific date. |
|
|
Date of the summary status change. |
|
|
Funders for the plan. |
|
|
Work unit for the plan. |
|
|
Work group for the plan. |
|
|
Information about the current state in the state machine for the plan. |
|
|
Current status in the plan |
|
|
Transitions in the state machine given the current state. |
|
|
Action or transition’s name. |
|
|
Transition’s description. |
|
|
Indicates whether the transition is executed by the user or by the system. |
|
|
Indicates if the transition can be executed at the moment. |
|
|
Additional explanation about the availability to execute the transition. |
|
|
Next status that the plan will have if the transition is executed. |
|
|
Name of the transition (action) to execute. |
|
|
Outcome information |
|
|
|
|
|
|
|
|
Outcome link |
|
|
|
|
|
Production plan link |
|
|
Public identifier for the outcome. |
|
|
Public identifier for the outcome production plan. |
|
|
ES cell allele modification attempt details. |
|
|
External reference used to track the modification. For data exported from iMits the mouse allele modification colony name has been recorded as the modification external reference. |
|
|
records the number of successful Cre matings. |
|
|
Indicates tat Cre used for modification rather than a deleter strain. |
|
|
ES cell allele modification attempt deleter strain |
|
|
iMits mouse_allele_mod identifier, (present if the mouse_allele_mod was transferred from iMits) |
|
|
iMits TargRep Allele identifier, (present if the mouse_allele_mod was transferred from iMits) |
6.1.4. Phenotyping plan.
Path | Type | Description |
---|---|---|
|
|
Public identifier for the plan. |
|
|
Public identifier for the project. |
|
|
Plan type. |
|
|
Attempt type. |
|
|
Comment for the plan |
|
|
Current status of the plan. |
|
|
Stamps of the statuses the plan has gone through. |
|
|
Status that the plan had on a specific date. |
|
|
Date of the status change. |
|
|
A status summarising the global status based on the statuses of the children of the plan. |
|
|
Link to the plan. |
|
|
Link to the project. |
|
|
Stamps of the statuses summaries the plan has gone through. |
|
|
Summary status that the plan had on a specific date. |
|
|
Date of the summary status change. |
|
|
Funders for the plan. |
|
|
Work unit for the plan. |
|
|
Work group for the plan. |
|
|
Information about the current state in the state machine for the plan. |
|
|
Current status in the plan |
|
|
Transitions in the state machine given the current state. |
|
|
Action or transition’s name. |
|
|
Transition’s description. |
|
|
Indicates whether the transition is executed by the user or by the system. |
|
|
Indicates if the transition can be executed at the moment. |
|
|
Additional explanation about the availability to execute the transition. |
|
|
Next status that the plan will have if the transition is executed. |
|
|
Name of the transition (action) to execute. |
|
|
Outcome information |
|
|
|
|
|
|
|
|
Outcome link |
|
|
|
|
|
Production plan link |
|
|
Public identifier for the outcome. |
|
|
Public identifier for the outcome production plan. |
|
|
Phenotyping attempt details. |
|
|
Phenotyping colony name or specimen group name |
|
|
Phenotyping attempt background strain. |
|
|
|
|
|
|
|
|
iMits phenotype_attempt identifier, (present if the phenotype_attempt was transferred from iMits) |
|
|
iMits phenotyping_production identifier, (present if the phenotyping_production was transferred from iMits) |
|
|
iMits parent_colony identifier, (present if the phenotype_attempt was transferred from iMits) |
6.2. Filters
When you use the endpoint to get all the plans, you can use filters in a similar way to project filters, see Filters, to select the information you require.
This is the list of filters you can use:
6.2.1. Common filters
Filter name | Description |
---|---|
pin |
PIN(s) to be used as a filter. Eg: PIN:0000000014. |
tpn |
TPN(s) to be used as a filter. Eg: TPN:000000001. |
workUnitName |
Name of the work unit associated with the plan. |
workGroup |
Name of the work group associated with the plan. |
summaryStatusName |
Name of the summary status in the plan. |
typeName |
Name of the type of the plan. Possible values are:
|
6.2.2. Specific filters for production plan
attemptTypeName |
Attempt type. Possible values are:
|
imitsMiAttemptId |
iMits mi attempt id. |
6.2.3. Specific filters for phenotyping plan
attemptTypeName |
Attempt type. Possible values are:
|
imitsPhenotypeAttemptId |
iMits phenotyping attempt id. |
phenotypingExternalRef |
Phentoyping External Reference (colony name or specimen group name). |
doNotCountTowardsCompleteness |
Do not count towards completeness boolean, true or false. |
6.3. GET
6.3.1. Get a specific plan
This endpoint shows a plan in the system.
Example Request
Curl:
$ curl 'http://localhost:8080/api/plans/PIN:0000000001' -i -X GET \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxNjksImlhdCI6MTczNDAwNDM2OSwianRpIjoiOTA5NWJjNzYtZDQ3OC00ZmFiLTg4YTQtZmU2MmUzZTZlMGM0IiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6IjUwODQ5N2Q0LWJjN2EtNGIyYi05NTQ2LTg3Y2ZkNTNlYmE0MCIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.ckiOksD6XTJzo2iwhbZjezRy9gLkZic-RojVXTTJLta5ksHOXlrOLIsC73wgWp7W_Dato79nXuWVLtIzlXbaVP1QwQIn-rCQZSiFqk0uhyRYO5tJfG143qC1d6yqzb7GggzNZvVFtlp70ZjXwZ5ZZg6Z80J70IsUhafWff_dBfyyIlvEjEOPtSxT_Q399jqk9lhWvHhnqrOPaX2K-YuLFJ3LFSRtt9wnVojFvgkEQ9WrJn3EhicvfwAIr5OMmukCOI2RBtr3x1Elkf5ciNTlIPl31Gfh4eYK_tBkJAoB2gEW3ziLlRCT0UbJPFFD7vNaErqD9PZMiLEyIqVOlhPFYw'
Example Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 3670
{
"pin" : "PIN:0000000001",
"tpn" : "TPN:000000001",
"attemptTypeName" : "crispr",
"funderNames" : [ "KOMP" ],
"workUnitName" : "BCM",
"workGroupName" : "BaSH",
"comment" : null,
"crisprAttempt" : {
"miDate" : "2019-02-26",
"experimental" : false,
"comment" : "crispr plan comment",
"mutagenesisExternalRef" : "MF-26326",
"imitsMiAttemptId" : 20043,
"attemptExternalRef" : "Attempt external ref",
"embryoTransferDay" : "Same Day",
"totalTransferred" : 72,
"nucleases" : [ {
"id" : 1,
"typeName" : "Cas9",
"concentration" : 250.0,
"className" : "protein"
} ],
"guides" : [ {
"id" : 1,
"sequence" : "CTTCACGTACCAAGGAGGGGTGG",
"guideSequence" : "CTTCACGTACCAAGGAGGGG",
"pam" : "TGG",
"chr" : "X",
"start" : 45334016,
"stop" : 45334038,
"strand" : "+",
"genomeBuild" : "GRCm39",
"grnaConcentration" : 300.0,
"truncatedGuide" : true,
"reversed" : false,
"sangerService" : false,
"gid" : "GID:00000000001",
"formatName" : "sgRNA",
"sourceName" : "commercial"
} ],
"mutagenesisDonors" : [ {
"id" : 1,
"concentration" : 5.0,
"vectorName" : "pUC18_Ikzf2_conditional",
"oligoSequenceFasta" : "ATAATTGGCAGCCTGATTAGAAGAATGCCCATCTTGTCTAGTGACACATTAGAACAATGAGTAATTGCTCGATGCGGATCCATAACTTCGTATAGCATACATTATACGAAGTTATTCTCTGGGATTAAGAAAAAACTAACATATGAAACAGAAGCCCAGACATCTAAAACCACAAAGA",
"preparationTypeName" : "Circular"
} ],
"reagents" : [ {
"id" : 1,
"reagentName" : "Ligase IV",
"reagentDescription" : "NHEJ Inhibitor",
"concentration" : 334.0
} ],
"genotypePrimers" : [ {
"id" : 1,
"genomicStartCoordinate" : 1,
"genomicEndCoordinate" : 200,
"name" : "Gpr68wtR",
"sequence" : "GTAGAGGGACAGGCAGTTGG"
} ],
"totalEmbryosInjected" : 72,
"totalEmbryosSurvived" : 70,
"embryo2Cell" : "20043",
"assay" : {
"id" : 1,
"typeName" : "T7EN1",
"numFounderPups" : 26,
"numFounderSelectedForBreeding" : 1,
"founderNumAssays" : 26,
"numDeletionG0Mutants" : 1,
"numG0WhereMutationDetected" : 1,
"numHdrG0Mutants" : 1,
"numHdrG0MutantsAllDonorsInserted" : 0,
"numHdrG0MutantsSubsetDonorsInserted" : 0,
"numHrG0Mutants" : 0,
"numNhejG0Mutants" : 0
},
"strainInjectedName" : "C57BL/6NJ"
},
"typeName" : "production",
"statusName" : "Founder Obtained",
"summaryStatusName" : "Genotype Confirmed",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000001"
},
"project" : {
"href" : "http://localhost:8080/api/projects/TPN:000000001"
}
},
"statusDates" : [ {
"statusName" : "Plan Created",
"date" : "2018-01-15T00:00:00.706639"
}, {
"statusName" : "Attempt In Progress",
"date" : "2018-01-16T00:00:00.706639"
}, {
"statusName" : "Founder Obtained",
"date" : "2018-02-22T20:18:00.706639"
}, {
"statusName" : "Embryos Obtained",
"date" : "2018-04-04T14:32:00.706639"
} ],
"summaryStatusDates" : [ {
"statusName" : "Genotype Confirmed",
"date" : "2019-08-06T20:09:51.706639"
} ],
"statusTransition" : {
"currentStatus" : "Founder Obtained",
"transitions" : [ {
"action" : "abortWhenFounderObtained",
"description" : "Abort the plan after a founder obtained",
"triggeredByUser" : true,
"available" : false,
"note" : "The plan has colonies that are not aborted. Please abort them first",
"nextStatus" : "Attempt Aborted"
} ],
"actionToExecute" : null
}
}
6.3.2. Get all Plans
This endpoint shows all the plans the user has permission to see.
Example Request
Curl:
$ curl 'http://localhost:8080/api/plans' -i -X GET \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxNjgsImlhdCI6MTczNDAwNDM2OCwianRpIjoiZDMzZGE0MzktYWIwZS00MjA2LTk3NzEtMGMxOGI4ZWU5ZDM1IiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6ImZkMzcwMGFlLTExNDUtNDA5Ny1hMDAxLTZmYzI1N2U1MWE5YSIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.YBn7GWqDWUuldEadvDxJoU0TvDytJeVqPGHHuDhzp9M7Oa-LgSwVSqqQKUWWoMquCchOoUJlqGmoo_Aekl1wN881xpEkR58Ip9jNB9gFpmLRJ0PGH7XnDQTqpWgV-DA-LmQoRdFoRp6kiBD4JlPgzTzGp6-W0vPlmy-DEwWcopJKuaFusfRRL01YFsc52DfP7NBQGcGmT15DXBih55MHYnuMp56BwIqJlacUq18fg4g55snQMV-K3IK0SThEHwirFdu6ZC79kwG04bfwM71uKPISVcoXplqVj7ISsS1PfLrmy2isAZa-o0kRobI-mWcNpC7cxNzbJui-OwJu4MX5dQ'
Example Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Link:
Content-Type: application/hal+json
Content-Length: 21906
{
"_embedded" : {
"plans" : [ {
"pin" : "PIN:0000000001",
"tpn" : "TPN:000000001",
"attemptTypeName" : "crispr",
"funderNames" : [ "KOMP" ],
"workUnitName" : "BCM",
"workGroupName" : "BaSH",
"comment" : null,
"crisprAttempt" : {
"miDate" : "2019-02-26",
"experimental" : false,
"comment" : "crispr plan comment",
"mutagenesisExternalRef" : "MF-26326",
"imitsMiAttemptId" : 20043,
"attemptExternalRef" : "Attempt external ref",
"embryoTransferDay" : "Same Day",
"totalTransferred" : 72,
"nucleases" : [ {
"id" : 1,
"typeName" : "Cas9",
"concentration" : 250.0,
"className" : "protein"
} ],
"guides" : [ {
"id" : 1,
"sequence" : "CTTCACGTACCAAGGAGGGGTGG",
"guideSequence" : "CTTCACGTACCAAGGAGGGG",
"pam" : "TGG",
"chr" : "X",
"start" : 45334016,
"stop" : 45334038,
"strand" : "+",
"genomeBuild" : "GRCm39",
"grnaConcentration" : 300.0,
"truncatedGuide" : true,
"reversed" : false,
"sangerService" : false,
"gid" : "GID:00000000001",
"formatName" : "sgRNA",
"sourceName" : "commercial"
} ],
"mutagenesisDonors" : [ {
"id" : 1,
"concentration" : 5.0,
"vectorName" : "pUC18_Ikzf2_conditional",
"oligoSequenceFasta" : "ATAATTGGCAGCCTGATTAGAAGAATGCCCATCTTGTCTAGTGACACATTAGAACAATGAGTAATTGCTCGATGCGGATCCATAACTTCGTATAGCATACATTATACGAAGTTATTCTCTGGGATTAAGAAAAAACTAACATATGAAACAGAAGCCCAGACATCTAAAACCACAAAGA",
"preparationTypeName" : "Circular"
} ],
"reagents" : [ {
"id" : 1,
"reagentName" : "Ligase IV",
"reagentDescription" : "NHEJ Inhibitor",
"concentration" : 334.0
} ],
"genotypePrimers" : [ {
"id" : 1,
"genomicStartCoordinate" : 1,
"genomicEndCoordinate" : 200,
"name" : "Gpr68wtR",
"sequence" : "GTAGAGGGACAGGCAGTTGG"
} ],
"totalEmbryosInjected" : 72,
"totalEmbryosSurvived" : 70,
"embryo2Cell" : "20043",
"assay" : {
"id" : 1,
"typeName" : "T7EN1",
"numFounderPups" : 26,
"numFounderSelectedForBreeding" : 1,
"founderNumAssays" : 26,
"numDeletionG0Mutants" : 1,
"numG0WhereMutationDetected" : 1,
"numHdrG0Mutants" : 1,
"numHdrG0MutantsAllDonorsInserted" : 0,
"numHdrG0MutantsSubsetDonorsInserted" : 0,
"numHrG0Mutants" : 0,
"numNhejG0Mutants" : 0
},
"strainInjectedName" : "C57BL/6NJ"
},
"typeName" : "production",
"statusName" : "Founder Obtained",
"summaryStatusName" : "Genotype Confirmed",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000001"
},
"project" : {
"href" : "http://localhost:8080/api/projects/TPN:000000001"
}
},
"statusDates" : [ {
"statusName" : "Plan Created",
"date" : "2018-01-15T00:00:00.706639"
}, {
"statusName" : "Attempt In Progress",
"date" : "2018-01-16T00:00:00.706639"
}, {
"statusName" : "Founder Obtained",
"date" : "2018-02-22T20:18:00.706639"
}, {
"statusName" : "Embryos Obtained",
"date" : "2018-04-04T14:32:00.706639"
} ],
"summaryStatusDates" : [ {
"statusName" : "Genotype Confirmed",
"date" : "2019-08-06T20:09:51.706639"
} ],
"statusTransition" : {
"currentStatus" : "Founder Obtained",
"transitions" : [ {
"action" : "abortWhenFounderObtained",
"description" : "Abort the plan after a founder obtained",
"triggeredByUser" : true,
"available" : false,
"note" : "The plan has colonies that are not aborted. Please abort them first",
"nextStatus" : "Attempt Aborted"
} ],
"actionToExecute" : null
}
}, {
"pin" : "PIN:0000000222",
"tpn" : "TPN:000000222",
"attemptTypeName" : "crispr",
"funderNames" : [ "KOMP2" ],
"workUnitName" : "UCD",
"workGroupName" : "DTCC",
"comment" : null,
"crisprAttempt" : {
"miDate" : "2018-03-26",
"experimental" : false,
"comment" : "crispr plan comment",
"mutagenesisExternalRef" : "MF-26328",
"imitsMiAttemptId" : 20044,
"attemptExternalRef" : "Attempt external ref 2",
"embryoTransferDay" : "Same Day",
"totalTransferred" : 72,
"nucleases" : [ {
"id" : 2,
"typeName" : "Cas9",
"concentration" : 250.0,
"className" : "protein"
} ],
"guides" : [ {
"id" : 2,
"sequence" : "CCATGATCTAATCTGTGGTTAAA",
"guideSequence" : "CCATGATCTAATCTGTGGTTAAA",
"pam" : "AAA",
"chr" : "14",
"start" : 57150316,
"stop" : 57150338,
"strand" : "+",
"genomeBuild" : "GRCm39",
"grnaConcentration" : 300.0,
"truncatedGuide" : false,
"reversed" : false,
"sangerService" : false,
"gid" : "GID:00000000002",
"formatName" : "cr-tracrRNA",
"sourceName" : "in-house"
} ],
"mutagenesisDonors" : [ ],
"reagents" : [ ],
"genotypePrimers" : [ {
"id" : 2,
"genomicStartCoordinate" : 1,
"genomicEndCoordinate" : 200,
"name" : "Gpr68wtR",
"sequence" : "GTAGAGGGACAGGCAGTTGG"
} ],
"totalEmbryosInjected" : 70,
"totalEmbryosSurvived" : 64,
"embryo2Cell" : "20044",
"assay" : {
"id" : 2,
"typeName" : "LOA",
"numFounderPups" : 4,
"numFounderSelectedForBreeding" : 1,
"founderNumAssays" : 4,
"numDeletionG0Mutants" : 1,
"numG0WhereMutationDetected" : 1,
"numHdrG0Mutants" : null,
"numHdrG0MutantsAllDonorsInserted" : null,
"numHdrG0MutantsSubsetDonorsInserted" : null,
"numHrG0Mutants" : null,
"numNhejG0Mutants" : null
},
"strainInjectedName" : "C57BL/6NJ"
},
"typeName" : "production",
"statusName" : "Founder Obtained",
"summaryStatusName" : "Founder Obtained",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000222"
},
"project" : {
"href" : "http://localhost:8080/api/projects/TPN:000000222"
}
},
"statusDates" : [ {
"statusName" : "Plan Created",
"date" : "2018-06-25T00:00:00"
}, {
"statusName" : "Attempt In Progress",
"date" : "2018-06-25T00:00:00"
}, {
"statusName" : "Founder Obtained",
"date" : "2020-01-10T20:25:12.783017"
}, {
"statusName" : "Embryos Obtained",
"date" : "2020-01-10T20:25:12.783017"
} ],
"summaryStatusDates" : [ {
"statusName" : "Founder Obtained",
"date" : "2020-01-10T20:25:12.783017"
} ],
"statusTransition" : {
"currentStatus" : "Founder Obtained",
"transitions" : [ {
"action" : "abortWhenFounderObtained",
"description" : "Abort the plan after a founder obtained",
"triggeredByUser" : true,
"available" : true,
"note" : null,
"nextStatus" : "Attempt Aborted"
} ],
"actionToExecute" : null
}
}, {
"pin" : "PIN:0000000003",
"tpn" : "TPN:000000001",
"attemptTypeName" : "adult and embryo phenotyping",
"funderNames" : [ "KOMP" ],
"workUnitName" : "BCM",
"workGroupName" : "BaSH",
"comment" : null,
"phenotypingStartingPoint" : {
"_links" : {
"outcome" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000001/outcomes/TPO:000000000001"
},
"productionPlan" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000001"
}
},
"outcomeTpo" : "TPO:000000000001",
"productionPlanPin" : "PIN:0000000001"
},
"phenotypingAttemptResponse" : {
"doNotCountTowardsCompleteness" : false,
"phenotypingExternalRef" : "CR10129",
"imitsPhenotypeAttemptId" : 9040,
"imitsPhenotypingProductionId" : 9243,
"imitsParentColonyId" : 20829,
"phenotypingBackgroundStrainName" : "C57BL/6NJ",
"cohortProductionWorkUnitName" : "BCM"
},
"typeName" : "phenotyping",
"statusName" : "Plan Created",
"summaryStatusName" : "Plan Created",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000003"
},
"project" : {
"href" : "http://localhost:8080/api/projects/TPN:000000001"
}
},
"statusDates" : [ {
"statusName" : "Plan Created",
"date" : "2020-04-14T12:46:24.706639"
} ],
"summaryStatusDates" : [ {
"statusName" : "Plan Created",
"date" : "2020-04-14T12:46:24.706639"
} ],
"statusTransition" : {
"currentStatus" : "Plan Created",
"transitions" : [ {
"action" : "abandonWhenCreated",
"description" : "Abandon a phenotyping plan that has no associated phenotyping stage information",
"triggeredByUser" : true,
"available" : false,
"note" : "The plan already has phenotyping stages. Please abort the plan.",
"nextStatus" : "Plan Abandoned"
}, {
"action" : "abortPhenotypingPlan",
"description" : "Abort a phenotyping plan that has associated aborted phenotyping stage information",
"triggeredByUser" : true,
"available" : true,
"note" : null,
"nextStatus" : "Phenotyping Plan Aborted"
} ],
"actionToExecute" : null
}
}, {
"pin" : "PIN:0000000004",
"tpn" : "TPN:000000001",
"attemptTypeName" : "adult and embryo phenotyping",
"funderNames" : [ ],
"workUnitName" : "BCM",
"workGroupName" : "BaSH",
"comment" : null,
"phenotypingStartingPoint" : {
"_links" : {
"outcome" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000001/outcomes/TPO:000000000002"
},
"productionPlan" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000001"
}
},
"outcomeTpo" : "TPO:000000000002",
"productionPlanPin" : "PIN:0000000001"
},
"phenotypingAttemptResponse" : {
"doNotCountTowardsCompleteness" : false,
"phenotypingExternalRef" : "JR34077",
"phenotypingBackgroundStrainName" : "C57BL/6NJ",
"cohortProductionWorkUnitName" : "BCM"
},
"typeName" : "phenotyping",
"statusName" : "Plan Created",
"summaryStatusName" : "Plan Created",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000004"
},
"project" : {
"href" : "http://localhost:8080/api/projects/TPN:000000001"
}
},
"statusDates" : [ {
"statusName" : "Plan Created",
"date" : "2018-02-22T20:18:00.706639"
} ],
"summaryStatusDates" : [ {
"statusName" : "Plan Created",
"date" : "2020-04-14T12:46:24.706639"
} ],
"statusTransition" : {
"currentStatus" : "Plan Created",
"transitions" : [ {
"action" : "abandonWhenCreated",
"description" : "Abandon a phenotyping plan that has no associated phenotyping stage information",
"triggeredByUser" : true,
"available" : false,
"note" : "The plan already has phenotyping stages. Please abort the plan.",
"nextStatus" : "Plan Abandoned"
}, {
"action" : "abortPhenotypingPlan",
"description" : "Abort a phenotyping plan that has associated aborted phenotyping stage information",
"triggeredByUser" : true,
"available" : true,
"note" : null,
"nextStatus" : "Phenotyping Plan Aborted"
} ],
"actionToExecute" : null
}
}, {
"pin" : "PIN:0000000009",
"tpn" : "TPN:000000003",
"attemptTypeName" : "es cell allele modification",
"funderNames" : [ "KOMP" ],
"workUnitName" : "BCM",
"workGroupName" : "BaSH",
"comment" : null,
"esCellAlleleModificationStartingPoint" : {
"_links" : {
"outcome" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000010/outcomes/TPO:000000000003"
},
"productionPlan" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000010"
}
},
"outcomeTpo" : "TPO:000000000003",
"productionPlanPin" : "PIN:0000000010"
},
"esCellAlleleModificationAttempt" : {
"modificationExternalRef" : "GSF-EPD0045_1_B11-3-1",
"numberOfCreMatingsSuccessful" : 1,
"tatCre" : false,
"deleterStrainName" : "BALB/cJ",
"imitsMouseAlleleModId" : 1775,
"imitsTargRepAlleleId" : 1878
},
"typeName" : "production",
"statusName" : "Cre Excision Complete",
"summaryStatusName" : "Cre Excision Complete",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000009"
},
"project" : {
"href" : "http://localhost:8080/api/projects/TPN:000000003"
}
},
"statusDates" : [ {
"statusName" : "Plan Created",
"date" : "2012-11-06T12:01:00"
}, {
"statusName" : "Mouse Allele Modification Registered",
"date" : "2012-11-06T12:08:00"
}, {
"statusName" : "Cre Excision Started",
"date" : "2013-02-02T12:42:00"
}, {
"statusName" : "Cre Excision Complete",
"date" : "2013-04-09T12:42:00"
} ],
"summaryStatusDates" : [ {
"statusName" : "Plan Created",
"date" : "2012-11-06T12:01:00"
}, {
"statusName" : "Mouse Allele Modification Registered",
"date" : "2012-11-06T12:08:00"
}, {
"statusName" : "Cre Excision Started",
"date" : "2013-02-02T12:42:00"
}, {
"statusName" : "Cre Excision Complete",
"date" : "2013-04-09T12:42:00"
} ],
"statusTransition" : {
"currentStatus" : "Cre Excision Complete",
"transitions" : [ {
"action" : "updateToMouseAlleleModificationGenotypeConfirmed",
"description" : "Update to Mouse Allele Modification Genotype Confirmed.",
"triggeredByUser" : false,
"available" : false,
"note" : "A genotyped confirmed colony needs to be associated with the plan.",
"nextStatus" : "Mouse Allele Modification Genotype Confirmed"
}, {
"action" : "abortWhenCreExcisionComplete",
"description" : "Abort an allele modification plan when Cre excision is complete",
"triggeredByUser" : true,
"available" : true,
"note" : null,
"nextStatus" : "Mouse Allele Modification Aborted"
} ],
"actionToExecute" : null
}
}, {
"pin" : "PIN:0000000010",
"tpn" : "TPN:000000003",
"attemptTypeName" : "es cell",
"funderNames" : [ "KOMP" ],
"workUnitName" : "BCM",
"workGroupName" : "BaSH",
"comment" : null,
"esCellAttempt" : {
"miDate" : "2007-04-24",
"experimental" : false,
"comment" : "additional information",
"blastStrainName" : "C57BL/6NJ",
"totalBlastsInjected" : 44,
"totalTransferred" : 44,
"numberSurrogatesReceiving" : 0,
"totalPupsBorn" : 25,
"totalFemaleChimeras" : 5,
"totalMaleChimeras" : 2,
"totalChimeras" : 7,
"numberOfMalesWith0To39PercentChimerism" : 1,
"numberOfMalesWith40To79PercentChimerism" : 1,
"numberOfMalesWith80To99PercentChimerism" : 0,
"numberOfMalesWith100PercentChimerism" : 0,
"testCrossStrainName" : "BALB/cJ",
"dateChimerasMated" : "2007-06-18",
"numberOfChimeraMatingsAttempted" : 6,
"numberOfChimeraMatingsSuccessful" : 5,
"numberOfChimerasWithGltFromCct" : 1,
"numberOfChimerasWithGltFromGenotyping" : 1,
"numberOfChimerasWith0To9PercentGlt" : 0,
"numberOfChimerasWith10To49PercentGlt" : 1,
"numberOfChimerasWith50To99PercentGlt" : 0,
"numberOfChimerasWith100PercentGlt" : 0,
"totalF1MiceFromMatings" : 52,
"numberOfCctOffspring" : 3,
"cassetteTransmissionVerified" : "2007-10-21",
"numberOfHetOffspring" : 2,
"numberOfLiveGltOffspring" : 0,
"esCellName" : "EPD0045_1_A11",
"imitsMiAttemptId" : 2030,
"attemptExternalRef" : "MAKE"
},
"typeName" : "production",
"statusName" : "Chimeras/Founder Obtained",
"summaryStatusName" : "Genotype Confirmed",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000010"
},
"project" : {
"href" : "http://localhost:8080/api/projects/TPN:000000003"
}
},
"statusDates" : [ {
"statusName" : "Plan Created",
"date" : "2007-04-24T00:00:00"
}, {
"statusName" : "Attempt In Progress",
"date" : "2007-05-18T00:00:00"
}, {
"statusName" : "Chimeras/Founder Obtained",
"date" : "2007-10-20T00:00:00"
} ],
"summaryStatusDates" : [ {
"statusName" : "Chimeras/Founder Obtained",
"date" : "2007-10-21T00:00:00"
} ],
"statusTransition" : {
"currentStatus" : "Chimeras/Founder Obtained",
"transitions" : [ {
"action" : "abortWhenChimerasFounderObtained",
"description" : "Abort the plan after a founder obtained",
"triggeredByUser" : true,
"available" : false,
"note" : "The plan has colonies that are not aborted. Please abort them first",
"nextStatus" : "Attempt Aborted"
} ],
"actionToExecute" : null
}
}, {
"pin" : "PIN:0000000011",
"tpn" : "TPN:000000004",
"attemptTypeName" : "crispr allele modification",
"funderNames" : [ "KOMP" ],
"workUnitName" : "BCM",
"workGroupName" : "BaSH",
"comment" : null,
"crisprAlleleModificationStartingPoint" : {
"_links" : {
"outcome" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000011/outcomes/TPO:000000000005"
},
"productionPlan" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000011"
}
},
"outcomeTpo" : "TPO:000000000005",
"productionPlanPin" : "PIN:0000000011"
},
"crisprAlleleModificationAttempt" : {
"modificationExternalRef" : "GSF-EPD0045_1_B11-3-1",
"numberOfCreMatingsSuccessful" : 1,
"tatCre" : false,
"deleterStrainName" : "BALB/cJ"
},
"typeName" : "production",
"statusName" : "Cre Excision Complete",
"summaryStatusName" : "Cre Excision Complete",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000011"
},
"project" : {
"href" : "http://localhost:8080/api/projects/TPN:000000004"
}
},
"statusDates" : [ {
"statusName" : "Plan Created",
"date" : "2012-11-06T12:01:00"
}, {
"statusName" : "Mouse Allele Modification Registered",
"date" : "2012-11-06T12:08:00"
}, {
"statusName" : "Cre Excision Started",
"date" : "2013-02-02T12:42:00"
}, {
"statusName" : "Cre Excision Complete",
"date" : "2013-04-09T12:42:00"
} ],
"summaryStatusDates" : [ {
"statusName" : "Plan Created",
"date" : "2012-11-06T12:01:00"
}, {
"statusName" : "Mouse Allele Modification Registered",
"date" : "2012-11-06T12:08:00"
}, {
"statusName" : "Cre Excision Started",
"date" : "2013-02-02T12:42:00"
}, {
"statusName" : "Cre Excision Complete",
"date" : "2013-04-09T12:42:00"
} ],
"statusTransition" : {
"currentStatus" : "Cre Excision Complete",
"transitions" : [ {
"action" : "updateToMouseAlleleModificationGenotypeConfirmed",
"description" : "Update to Mouse Allele Modification Genotype Confirmed.",
"triggeredByUser" : false,
"available" : false,
"note" : "A genotyped confirmed colony needs to be associated with the plan.",
"nextStatus" : "Mouse Allele Modification Genotype Confirmed"
}, {
"action" : "abortWhenCreExcisionComplete",
"description" : "Abort an allele modification plan when Cre excision is complete",
"triggeredByUser" : true,
"available" : true,
"note" : null,
"nextStatus" : "Mouse Allele Modification Aborted"
} ],
"actionToExecute" : null
}
} ]
},
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/plans{?pin,tpn,workUnitName,workGroupName,statusName,summaryStatusName,typeName,attemptTypeName,imitsMiAttemptId,imitsPhenotypeAttemptId,phenotypingExternalRef,doNotCountTowardsCompleteness}",
"templated" : true
}
},
"page" : {
"size" : 20,
"totalElements" : 7,
"totalPages" : 1,
"number" : 0
}
}
6.3.3. Get filtered Plans
You can also add filters to the request to get more specific results.
Example Request
Curl:
$ curl 'http://localhost:8080/api/plans?statusName=Founder%20Obtained&attemptTypeName=crispr' -i -X GET \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxNjQsImlhdCI6MTczNDAwNDM2NCwianRpIjoiYTQ1YzgyNzUtYzZkNS00MjhkLWJkZGMtYTdkOTc5NTY2ZjY4IiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6ImM2MGVmZDdiLTQ3ZDItNDhkZi04MjM2LTYyYzEyMWE5NTExNSIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.AN_-KcCRVpqJCc6b2C_4oePj_O-zMIvNQ6yR9_SiDfdmdY3IFp6fUgWfHugrbwf31MvtyL0a88q_-KR2JdklTgoCGa9B7Ahy-vEaRakKsfxgmXumCvO2Gb-cmI2qyA8tHr_ZEij7fE6zZ66D3c4SNX3vImirNxkEVXJZ3ycMr_mPq4k_A27iK9ng1vD2_v2yqED_dwmSjzdwKwpZLR63_oOcWdjexgvKOA5IYDrcC_YjDUHx7uQznVgEJvvRX5zL51esI28yPdS-9_oXUXiz9riZU8ckRO_4lFieF0X5is8n6rJNfSrO630uY_3dvZj15pnOTEsmF45bMPmfYzg9lQ'
Example Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Link:
Content-Type: application/hal+json
Content-Length: 8176
{
"_embedded" : {
"plans" : [ {
"pin" : "PIN:0000000001",
"tpn" : "TPN:000000001",
"attemptTypeName" : "crispr",
"funderNames" : [ "KOMP" ],
"workUnitName" : "BCM",
"workGroupName" : "BaSH",
"comment" : null,
"crisprAttempt" : {
"miDate" : "2019-02-26",
"experimental" : false,
"comment" : "crispr plan comment",
"mutagenesisExternalRef" : "MF-26326",
"imitsMiAttemptId" : 20043,
"attemptExternalRef" : "Attempt external ref",
"embryoTransferDay" : "Same Day",
"totalTransferred" : 72,
"nucleases" : [ {
"id" : 1,
"typeName" : "Cas9",
"concentration" : 250.0,
"className" : "protein"
} ],
"guides" : [ {
"id" : 1,
"sequence" : "CTTCACGTACCAAGGAGGGGTGG",
"guideSequence" : "CTTCACGTACCAAGGAGGGG",
"pam" : "TGG",
"chr" : "X",
"start" : 45334016,
"stop" : 45334038,
"strand" : "+",
"genomeBuild" : "GRCm39",
"grnaConcentration" : 300.0,
"truncatedGuide" : true,
"reversed" : false,
"sangerService" : false,
"gid" : "GID:00000000001",
"formatName" : "sgRNA",
"sourceName" : "commercial"
} ],
"mutagenesisDonors" : [ {
"id" : 1,
"concentration" : 5.0,
"vectorName" : "pUC18_Ikzf2_conditional",
"oligoSequenceFasta" : "ATAATTGGCAGCCTGATTAGAAGAATGCCCATCTTGTCTAGTGACACATTAGAACAATGAGTAATTGCTCGATGCGGATCCATAACTTCGTATAGCATACATTATACGAAGTTATTCTCTGGGATTAAGAAAAAACTAACATATGAAACAGAAGCCCAGACATCTAAAACCACAAAGA",
"preparationTypeName" : "Circular"
} ],
"reagents" : [ {
"id" : 1,
"reagentName" : "Ligase IV",
"reagentDescription" : "NHEJ Inhibitor",
"concentration" : 334.0
} ],
"genotypePrimers" : [ {
"id" : 1,
"genomicStartCoordinate" : 1,
"genomicEndCoordinate" : 200,
"name" : "Gpr68wtR",
"sequence" : "GTAGAGGGACAGGCAGTTGG"
} ],
"totalEmbryosInjected" : 72,
"totalEmbryosSurvived" : 70,
"embryo2Cell" : "20043",
"assay" : {
"id" : 1,
"typeName" : "T7EN1",
"numFounderPups" : 26,
"numFounderSelectedForBreeding" : 1,
"founderNumAssays" : 26,
"numDeletionG0Mutants" : 1,
"numG0WhereMutationDetected" : 1,
"numHdrG0Mutants" : 1,
"numHdrG0MutantsAllDonorsInserted" : 0,
"numHdrG0MutantsSubsetDonorsInserted" : 0,
"numHrG0Mutants" : 0,
"numNhejG0Mutants" : 0
},
"strainInjectedName" : "C57BL/6NJ"
},
"typeName" : "production",
"statusName" : "Founder Obtained",
"summaryStatusName" : "Genotype Confirmed",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000001"
},
"project" : {
"href" : "http://localhost:8080/api/projects/TPN:000000001"
}
},
"statusDates" : [ {
"statusName" : "Plan Created",
"date" : "2018-01-15T00:00:00.706639"
}, {
"statusName" : "Attempt In Progress",
"date" : "2018-01-16T00:00:00.706639"
}, {
"statusName" : "Founder Obtained",
"date" : "2018-02-22T20:18:00.706639"
}, {
"statusName" : "Embryos Obtained",
"date" : "2018-04-04T14:32:00.706639"
} ],
"summaryStatusDates" : [ {
"statusName" : "Genotype Confirmed",
"date" : "2019-08-06T20:09:51.706639"
} ],
"statusTransition" : {
"currentStatus" : "Founder Obtained",
"transitions" : [ {
"action" : "abortWhenFounderObtained",
"description" : "Abort the plan after a founder obtained",
"triggeredByUser" : true,
"available" : false,
"note" : "The plan has colonies that are not aborted. Please abort them first",
"nextStatus" : "Attempt Aborted"
} ],
"actionToExecute" : null
}
}, {
"pin" : "PIN:0000000222",
"tpn" : "TPN:000000222",
"attemptTypeName" : "crispr",
"funderNames" : [ "KOMP2" ],
"workUnitName" : "UCD",
"workGroupName" : "DTCC",
"comment" : null,
"crisprAttempt" : {
"miDate" : "2018-03-26",
"experimental" : false,
"comment" : "crispr plan comment",
"mutagenesisExternalRef" : "MF-26328",
"imitsMiAttemptId" : 20044,
"attemptExternalRef" : "Attempt external ref 2",
"embryoTransferDay" : "Same Day",
"totalTransferred" : 72,
"nucleases" : [ {
"id" : 2,
"typeName" : "Cas9",
"concentration" : 250.0,
"className" : "protein"
} ],
"guides" : [ {
"id" : 2,
"sequence" : "CCATGATCTAATCTGTGGTTAAA",
"guideSequence" : "CCATGATCTAATCTGTGGTTAAA",
"pam" : "AAA",
"chr" : "14",
"start" : 57150316,
"stop" : 57150338,
"strand" : "+",
"genomeBuild" : "GRCm39",
"grnaConcentration" : 300.0,
"truncatedGuide" : false,
"reversed" : false,
"sangerService" : false,
"gid" : "GID:00000000002",
"formatName" : "cr-tracrRNA",
"sourceName" : "in-house"
} ],
"mutagenesisDonors" : [ ],
"reagents" : [ ],
"genotypePrimers" : [ {
"id" : 2,
"genomicStartCoordinate" : 1,
"genomicEndCoordinate" : 200,
"name" : "Gpr68wtR",
"sequence" : "GTAGAGGGACAGGCAGTTGG"
} ],
"totalEmbryosInjected" : 70,
"totalEmbryosSurvived" : 64,
"embryo2Cell" : "20044",
"assay" : {
"id" : 2,
"typeName" : "LOA",
"numFounderPups" : 4,
"numFounderSelectedForBreeding" : 1,
"founderNumAssays" : 4,
"numDeletionG0Mutants" : 1,
"numG0WhereMutationDetected" : 1,
"numHdrG0Mutants" : null,
"numHdrG0MutantsAllDonorsInserted" : null,
"numHdrG0MutantsSubsetDonorsInserted" : null,
"numHrG0Mutants" : null,
"numNhejG0Mutants" : null
},
"strainInjectedName" : "C57BL/6NJ"
},
"typeName" : "production",
"statusName" : "Founder Obtained",
"summaryStatusName" : "Founder Obtained",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000222"
},
"project" : {
"href" : "http://localhost:8080/api/projects/TPN:000000222"
}
},
"statusDates" : [ {
"statusName" : "Plan Created",
"date" : "2018-06-25T00:00:00"
}, {
"statusName" : "Attempt In Progress",
"date" : "2018-06-25T00:00:00"
}, {
"statusName" : "Founder Obtained",
"date" : "2020-01-10T20:25:12.783017"
}, {
"statusName" : "Embryos Obtained",
"date" : "2020-01-10T20:25:12.783017"
} ],
"summaryStatusDates" : [ {
"statusName" : "Founder Obtained",
"date" : "2020-01-10T20:25:12.783017"
} ],
"statusTransition" : {
"currentStatus" : "Founder Obtained",
"transitions" : [ {
"action" : "abortWhenFounderObtained",
"description" : "Abort the plan after a founder obtained",
"triggeredByUser" : true,
"available" : true,
"note" : null,
"nextStatus" : "Attempt Aborted"
} ],
"actionToExecute" : null
}
} ]
},
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/plans?statusName=Founder Obtained&attemptTypeName=crispr{&pin,tpn,workUnitName,workGroupName,summaryStatusName,typeName,imitsMiAttemptId,imitsPhenotypeAttemptId,phenotypingExternalRef,doNotCountTowardsCompleteness}",
"templated" : true
}
},
"page" : {
"size" : 20,
"totalElements" : 2,
"totalPages" : 1,
"number" : 0
}
}
6.3.4. Get the history of changes for a plan
You can use this endpoint to see all the changes that have been made on a plan.
Example Request
Curl:
$ curl 'http://localhost:8080/api/plans/PIN:0000000222/history' -i -X GET \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxNzAsImlhdCI6MTczNDAwNDM3MCwianRpIjoiZTQyODA4NjYtODYwZi00YjdlLThmYmItMTNkMjZjZTg5NzY3IiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6IjI4YWViNDk2LWVkZTYtNDhmOS1hOWJmLTlkMzYxZjY5YTM4YyIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.DYIoRYfw04PPNMe5HYvxj6EXuPyBQTIPlxqbmGqP6C-6AAXTK6abD0NHxLHCxAkFvC-0HIGc9AU2011Oj5WsN032uvnJpBbdeSgcSsm0YGa4CKqE95FhnF7j8kCrOmQZ7xZBRvpCxrWxW_S6vSJ2ahVrTR1EwVlXnNJ4sueBrvjM4PSFkgjEmj3zMKN1cVorxtr5UYU4J0nh9w4VuMJ4tIVDF6Hd8D0Kz2FLUOTvOwCnOlanns19PibT3Xibvk8sJRM8V16NYBN8O-VVMll21dDf9cmNzgEWOU2HUlPMbFti6xzZCUqsmDhkuaAh7OpM1N86bp58mRp-LLc2DrsUJw'
Example Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 276
[ {
"id" : 1,
"user" : "gentar_test_user1@gentar.org",
"date" : "2020-06-17T15:08:56.643268",
"comment" : "Plan updated",
"details" : [ {
"field" : "comment",
"oldValue" : "comment",
"newValue" : "New Plan comment",
"note" : "Field changed"
} ]
} ]
6.4. POST
6.4.1. Create a CRISPR plan
Example Request
Curl: Unresolved directive in restapi.adoc - include::/usr/src/gentar/rest-api/target/generated-snippets/plans/postCrisprPlan/http-request.adoc[]
Example Response
Unresolved directive in restapi.adoc - include::/usr/src/gentar/rest-api/target/generated-snippets/plans/postCrisprPlan/http-response.adoc[]
6.4.2. Create an ES Cell plan
Example Request
Curl: Unresolved directive in restapi.adoc - include::/usr/src/gentar/rest-api/target/generated-snippets/plans/postEsCellPlan/http-request.adoc[]
Example Response
Unresolved directive in restapi.adoc - include::/usr/src/gentar/rest-api/target/generated-snippets/plans/postEsCellPlan/http-response.adoc[]
6.4.3. Create an ES Cell Allele Modification plan
Example Request
Curl: Unresolved directive in restapi.adoc - include::/usr/src/gentar/rest-api/target/generated-snippets/plans/postEsCellAlleleModificationPlan/http-request.adoc[]
Example Response
Unresolved directive in restapi.adoc - include::/usr/src/gentar/rest-api/target/generated-snippets/plans/postEsCellAlleleModificationPlan/http-response.adoc[]
6.4.4. Create a Phenotyping plan
Example Request
Curl: Unresolved directive in restapi.adoc - include::/usr/src/gentar/rest-api/target/generated-snippets/plans/postPhenotypingPlan/http-request.adoc[]
Example Response
Unresolved directive in restapi.adoc - include::/usr/src/gentar/rest-api/target/generated-snippets/plans/postPhenotypingPlan/http-response.adoc[]
6.5. PUT
You can update some information in a plan if you as a user are related to any of the work units associated with the plan.
The only fields that can be modified are the ones shown in "Example Request". The exception are pin and tpn, which are there just as a reference to the object that is being modified (they are not mandatory).
If a value is provided for pin, the system will validate that it matches the pin in the URL parameter.
6.5.1. Update a CRISPR plan
Example Request
Curl:
PUT /api/plans/PIN:0000000001 HTTP/1.1
Content-Type: application/json
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxNjksImlhdCI6MTczNDAwNDM2OSwianRpIjoiZGVjYzU3OGItMjQ3NS00NDBiLWEyMzctMDc2ODQ5NjllOWJiIiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6Ijk5NDAwMjgzLTMwZWYtNGNmMC04YjYwLWY4N2IyYmFhYjg5YyIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.UK_x8fjR1TiVcvMm-pPXsQF4GJE1aAYCQHjURBEncb3BnB2edzdoK72cQ7HjflTPOZ6L_a77hzNI_fVc4tIW2qR-XKPJdePtWrfnVBu0OcXGrKWYS0cy-YXrMpDykNQ2nSHqRQq_fJUXJ5axfslkqGr7wI2HGJp_sjdq26Pe6F0Dj7AwAGGN1i7qpcwu377JuuTLJ5qwmurQ7KlDqDfatY50FlS9hV5oBoh8MPeBtooWDzhB-Sra1T59c8kVALmXS1wgen3-CXsq6lNr7F15S1XCNlD15eNYGvfY3pE0pPQEEoZspWS3uK4zgKt3yFy2IsIqqceO2iWNkSaUFzCCaQ
Content-Length: 3682
Host: localhost:8080
{
"pin" : "PIN:0000000001",
"tpn" : "TPN:000000001",
"attemptTypeName" : "crispr",
"funderNames" : [ "KOMP" ],
"workUnitName" : "BCM",
"workGroupName" : "BaSH",
"comment" : "New Plan comment",
"crisprAttempt" : {
"miDate" : "2019-02-26",
"experimental" : false,
"comment" : "New Crispr Comment",
"mutagenesisExternalRef" : "MF-26326",
"imitsMiAttemptId" : 20043,
"attemptExternalRef" : "Attempt external ref",
"embryoTransferDay" : "Same Day",
"totalTransferred" : 72,
"nucleases" : [ {
"id" : 1,
"typeName" : "Cas9",
"concentration" : 250.0,
"className" : "protein"
} ],
"guides" : [ {
"id" : 1,
"sequence" : "CTTCACGTACCAAGGAGGGGTGG",
"guideSequence" : "CTTCACGTACCAAGGAGGGG",
"pam" : "TGG",
"chr" : "X",
"start" : 45334016,
"stop" : 45334038,
"strand" : "+",
"genomeBuild" : "GRCm39",
"grnaConcentration" : 300.0,
"truncatedGuide" : true,
"reversed" : false,
"sangerService" : false,
"formatName" : "sgRNA",
"sourceName" : "commercial",
"gid" : "GID:00000000001"
} ],
"mutagenesisDonors" : [ {
"id" : 1,
"concentration" : 5.0,
"vectorName" : "pUC18_Ikzf2_conditional",
"oligoSequenceFasta" : "ATAATTGGCAGCCTGATTAGAAGAATGCCCATCTTGTCTAGTGACACATTAGAACAATGAGTAATTGCTCGATGCGGATCCATAACTTCGTATAGCATACATTATACGAAGTTATTCTCTGGGATTAAGAAAAAACTAACATATGAAACAGAAGCCCAGACATCTAAAACCACAAAGA",
"preparationTypeName" : "Circular"
} ],
"reagents" : [ {
"id" : 1,
"reagentName" : "Ligase IV",
"reagentDescription" : "NHEJ Inhibitor",
"concentration" : 334.0
} ],
"genotypePrimers" : [ {
"id" : 1,
"genomicStartCoordinate" : 1,
"genomicEndCoordinate" : 200,
"name" : "Gpr68wtR",
"sequence" : "GTAGAGGGACAGGCAGTTGG"
} ],
"totalEmbryosInjected" : 10,
"totalEmbryosSurvived" : 5,
"embryo2Cell" : "20043",
"assay" : {
"id" : 1,
"typeName" : "T7EN1",
"numFounderPups" : 26,
"numFounderSelectedForBreeding" : 1,
"founderNumAssays" : 26,
"numDeletionG0Mutants" : 1,
"numG0WhereMutationDetected" : 1,
"numHdrG0Mutants" : 1,
"numHdrG0MutantsAllDonorsInserted" : 0,
"numHdrG0MutantsSubsetDonorsInserted" : 0,
"numHrG0Mutants" : 0,
"numNhejG0Mutants" : 0
},
"strainInjectedName" : "C57BL/6NJ"
},
"typeName" : "production",
"statusName" : "Founder Obtained",
"summaryStatusName" : "Genotype Confirmed",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000001"
},
"project" : {
"href" : "http://localhost:8080/api/projects/TPN:000000001"
}
},
"statusDates" : [ {
"statusName" : "Plan Created",
"date" : "2018-01-15T00:00:00.706639"
}, {
"statusName" : "Attempt In Progress",
"date" : "2018-01-16T00:00:00.706639"
}, {
"statusName" : "Founder Obtained",
"date" : "2018-02-22T20:18:00.706639"
}, {
"statusName" : "Embryos Obtained",
"date" : "2018-04-04T14:32:00.706639"
} ],
"summaryStatusDates" : [ {
"statusName" : "Genotype Confirmed",
"date" : "2019-08-06T20:09:51.706639"
} ],
"statusTransition" : {
"currentStatus" : "Founder Obtained",
"transitions" : [ {
"action" : "abortWhenFounderObtained",
"description" : "Abort the plan after a founder obtained",
"triggeredByUser" : true,
"available" : false,
"note" : "The plan has colonies that are not aborted. Please abort them first",
"nextStatus" : "Attempt Aborted"
} ],
"actionToExecute" : null
}
}
Example Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 870
{
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000001"
}
},
"history" : [ {
"id" : 1,
"user" : "gentar_test_user1@gentar.org",
"date" : "2024-12-12T11:52:49.759453737",
"comment" : "Plan updated",
"details" : [ {
"field" : "comment",
"oldValue" : null,
"newValue" : "New Plan comment",
"note" : "Field changed"
}, {
"field" : "crisprAttempt.comment",
"oldValue" : "crispr plan comment",
"newValue" : "New Crispr Comment",
"note" : "Field changed"
}, {
"field" : "crisprAttempt.totalEmbryosInjected",
"oldValue" : "72",
"newValue" : "10",
"note" : "Field changed"
}, {
"field" : "crisprAttempt.totalEmbryosSurvived",
"oldValue" : "70",
"newValue" : "5",
"note" : "Field changed"
} ]
} ]
}
6.5.2. Update a ES Cell plan
Example Request
Curl:
PUT /api/plans/PIN:0000000010 HTTP/1.1
Content-Type: application/json
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxNjYsImlhdCI6MTczNDAwNDM2NiwianRpIjoiZTQ5MDE4NTctYjJlZi00ZGZmLWIwODQtZTU0NTc2N2ZjMTUyIiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6IjU5Njc2NmM3LWUzZGMtNGZhYy04MDA3LThhZGY3OGIzNDdkYSIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.Cn-iLkpoIXhAjPycl9MtRCAJOkTe2CJjm7RG4kcUdmD6-Kl-trh9QwGvrKzONafKhy5TL0rJjTM90ljFc0W-Ue18RTcAPTF9M0WoasXmIXjfpmmPkbnTJIoXwYzTL-tdjBjkg4Zy3CbIrqeNUfKbOtO3Og0aXZwBkp7zNzHeAYakwUivmuFbF66Ybn6imhcnjXZYLFCgXnyla9NX-9z13rfqIGz4jfo-O54AfpaKaXEMWHsyPSE1i8YTksSQPe3D4mjoZnXGjXCKnwWmq5-Oe47mgSQQHwZ5QvF8koZcTMxm0HxhbQBukWHX7aYF9e3iTu9n_OSB975hjLBQNt1Nkg
Content-Length: 1599
Host: localhost:8080
{
"pin" : "PIN:0000000010",
"tpn" : "TPN:000000003",
"attemptTypeName" : "es cell",
"funderNames" : [ "KOMP" ],
"workUnitName" : "BCM",
"workGroupName" : "BaSH",
"comment" : "New Plan comment",
"esCellAttempt" : {
"esCellName" : "EPD0045_1_A11",
"miDate" : "2007-04-24",
"experimental" : false,
"comment" : "additional information",
"blastStrainName" : "C57BL/6NJ",
"totalBlastsInjected" : 44,
"totalTransferred" : 40,
"numberSurrogatesReceiving" : 0,
"totalPupsBorn" : 25,
"totalFemaleChimeras" : 5,
"totalMaleChimeras" : 2,
"totalChimeras" : 7,
"numberOfMalesWith0To39PercentChimerism" : 1,
"numberOfMalesWith40To79PercentChimerism" : 1,
"numberOfMalesWith80To99PercentChimerism" : 0,
"numberOfMalesWith100PercentChimerism" : 0,
"testCrossStrainName" : "BALB/cJ",
"dateChimerasMated" : "2007-06-18",
"numberOfChimeraMatingsAttempted" : 6,
"numberOfChimeraMatingsSuccessful" : 5,
"numberOfChimerasWithGltFromCct" : 1,
"numberOfChimerasWithGltFromGenotyping" : 1,
"numberOfChimerasWith0To9PercentGlt" : 0,
"numberOfChimerasWith10To49PercentGlt" : 1,
"numberOfChimerasWith50To99PercentGlt" : 0,
"numberOfChimerasWith100PercentGlt" : 0,
"totalF1MiceFromMatings" : 32,
"numberOfCctOffspring" : 3,
"cassetteTransmissionVerified" : "2007-10-21",
"numberOfHetOffspring" : 2,
"numberOfLiveGltOffspring" : 0,
"imitsMiAttemptId" : 2030,
"attemptExternalRef" : "MAKE"
},
"typeName" : "production",
"statusTransition" : {
"actionToExecute" : null
}
}
Example Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 874
{
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000010"
}
},
"history" : [ {
"id" : 1,
"user" : "gentar_test_user1@gentar.org",
"date" : "2024-12-12T11:52:46.880429647",
"comment" : "Plan updated",
"details" : [ {
"field" : "comment",
"oldValue" : null,
"newValue" : "New Plan comment",
"note" : "Field changed"
}, {
"field" : "esCellAttempt.cassetteTransmissionVerifiedAutoComplete",
"oldValue" : "false",
"newValue" : "true",
"note" : "Field changed"
}, {
"field" : "esCellAttempt.totalF1MiceFromMatings",
"oldValue" : "52",
"newValue" : "32",
"note" : "Field changed"
}, {
"field" : "esCellAttempt.totalTransferred",
"oldValue" : "44",
"newValue" : "40",
"note" : "Field changed"
} ]
} ]
}
6.5.3. Update a ES Cell allele modification plan
Example Request
Curl:
PUT /api/plans/PIN:0000000009 HTTP/1.1
Content-Type: application/json
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxNzEsImlhdCI6MTczNDAwNDM3MSwianRpIjoiZWY1OTZhOWYtNjdhNC00MjY5LWFkMWEtNjRiNjM0ODhjMjZiIiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6IjE3MGY1OWEwLWQ0OGEtNDhhMy04YjYzLTkzMzkwZDg4ZmVjYSIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.Zy1cbr8RsXy9DmfliCV3GazQ-jSUl_JmvmRSk-HEsDnRA609BAEDHVMWRTGOyJIiEiBqxDhOBKEpBw29ECh36M3Xl9ajALkRPONRs9EfJbQDW6nQgRJcm-MfulW_VcUP5OIsfvrOFAE1pHYjTgN0os1nPSxxxHa4z8SXxmo4NcyMv4bL1CTtfrV1wgJ7Dd2KfsmZF1BFcmrD_V2xt33tBabCrfsL0ARQJ19mEr026B82iumpV9xCkm1HBqtwZ6LYYFaTJMjBDB4TLxF29H5y3-JQNluXhQrUWCmLJ46HrEFpfv5czLfdvcLkQ0JpoOEoCpBZoobg1dq0ZnUDXDOHaQ
Content-Length: 951
Host: localhost:8080
{
"pin" : "PIN:0000000009",
"tpn" : "TPN:000000003",
"attemptTypeName" : "es cell allele modification",
"funderNames" : [ "KOMP" ],
"workUnitName" : "BCM",
"workGroupName" : "BaSH",
"comment" : null,
"esCellAlleleModificationStartingPoint" : {
"_links" : {
"outcome" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000010/outcomes/TPO:000000000003"
},
"productionPlan" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000010"
}
},
"outcomeTpo" : "TPO:000000000003",
"productionPlanPin" : "PIN:0000000010"
},
"esCellAlleleModificationAttempt" : {
"modificationExternalRef" : "GSF-EPD0045_1_B11-3-1",
"numberOfCreMatingsSuccessful" : 3,
"tatCre" : true,
"deleterStrainName" : "BALB/cJ",
"imitsMouseAlleleModId" : 1775,
"imitsTargRepAlleleId" : 1878
},
"typeName" : "production",
"statusTransition" : {
"actionToExecute" : null
}
}
Example Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 609
{
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000009"
}
},
"history" : [ {
"id" : 1,
"user" : "gentar_test_user1@gentar.org",
"date" : "2024-12-12T11:52:51.406516293",
"comment" : "Plan updated",
"details" : [ {
"field" : "esCellAlleleModificationAttempt.numberOfCreMatingsSuccessful",
"oldValue" : "1",
"newValue" : "3",
"note" : "Field changed"
}, {
"field" : "esCellAlleleModificationAttempt.tatCre",
"oldValue" : "false",
"newValue" : "true",
"note" : "Field changed"
} ]
} ]
}
6.5.4. Update a phenotyping plan
Example Request
Curl:
PUT /api/plans/PIN:0000000003 HTTP/1.1
Content-Type: application/json
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxNjksImlhdCI6MTczNDAwNDM2OSwianRpIjoiMDA4NjQ1OTMtMTU2Yi00ODI0LTljZmEtM2VkZGVjODQwOWJkIiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6ImYyZWQ5Yjc0LWRiMGUtNDViNi1hZmEzLWFjOGNlZDA2NTg3OCIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.QC5B4QDkyMrEe5Sq3ekBLOJ0-WfmdNfdtsN2YYftdvbmMDo4TzoBRc2ks2xsDrkBEJGXesbc8b_JKuMHRbY8GhaXriuLc234hdI8eZwa-L0N_z6rTYM20-UtI3Hd-G727tHSNovMgGzHqAtDAWJdHVfLlBuDat6a7QRXJZMOu2O-FdOTx_vzERA_AugY7xUXdPN8KXTP28TpGq9cZE5cBfjo9nO831TpeFQvSdxNS10F9dcYX7_p7-DKDcBkwytlyx0OYMwm2hEmLoRoHmqu26r-q9ttwEHjWJdWXsmUvDNGx4NnSk5-bzhg_qckheeFF32iO0XTuVjBB4m5hkHiVA
Content-Length: 494
Host: localhost:8080
{
"pin" : "PIN:0000000003",
"tpn" : "TPN:000000001",
"attemptTypeName" : "adult and embryo phenotyping",
"funderNames" : [ "KOMP" ],
"workUnitName" : "BCM",
"workGroupName" : "BaSH",
"comment" : "New Plan comment",
"typeName" : "phenotyping",
"phenotypingExternalRef" : "CR10129",
"doNotCountTowardsCompleteness" : false,
"phenotypingBackgroundStrainName" : "C57BL/6NJ",
"cohortProductionWorkUnitName" : "BCM",
"statusTransition" : {
"actionToExecute" : null
}
}
Example Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 419
{
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000003"
}
},
"history" : [ {
"id" : 1,
"user" : "gentar_test_user1@gentar.org",
"date" : "2024-12-12T11:52:50.088913531",
"comment" : "Plan updated",
"details" : [ {
"field" : "comment",
"oldValue" : null,
"newValue" : "New Plan comment",
"note" : "Field changed"
} ]
} ]
}
7. Outcomes
An outcome can be either a colony or a specimen.
7.1. Fields
These are the fields you are going to see in the body of a request in a GET or in the payload for POST or PUT operations.
7.1.1. Colony
Path | Type | Description |
---|---|---|
|
|
Public identifier for the plan. |
|
|
Public identifier for the outcome. |
|
|
Outcome type. |
|
|
Mutation associated with the outcome. |
|
|
Link to the outcome. |
|
|
Colony information. |
|
|
Name of the colony. It needs to be unique. |
|
|
Comment about the genotyping. |
|
|
Current status of the colony. |
|
|
Name of the background strain used for the colony. |
|
|
Stamps of the statuses the colony has gone through. |
|
|
Status that the colony had on a specific date. |
|
|
Date of the status change. |
|
|
Distribution products associated with the colony. |
|
|
Id for the record in the system. |
|
|
Centre for the distribution product. |
|
|
Product type name. |
|
|
Distribution Network name. |
|
|
Start date of the distribution product. |
|
|
End date of the distribution product. |
|
|
Information about the current state in the state machine for the plan. |
|
|
Current status in the plan |
|
|
Transitions in the state machine given the current state. |
|
|
Action or transition’s name. |
|
|
Transition’s description. |
|
|
Indicates whether the transition is executed by the user or by the system. |
|
|
Indicates if the transition can be executed at the moment. |
|
|
Additional explanation about the availability to execute the transition. |
|
|
Next status that the plan will have if the transition is executed. |
|
|
Name of the transition (action) to execute. |
|
|
Rr id for distribution. |
7.1.2. Specimen
Path | Type | Description |
---|---|---|
|
|
Public identifier for the plan. |
|
|
Public identifier for the outcome. |
|
|
Outcome type. |
|
|
Mutation associated with the outcome. |
|
|
Link to the outcome. |
|
|
Specimen information. |
|
|
Name of the strain associated with the specimen. |
|
|
External reference for the specimen. |
|
|
Specimen type name. Currently only haplo-essential |
|
|
Current status of the specimen |
|
|
Stamps of the statuses the specimen has gone through. |
|
|
Status that the specimen had on a specific date. |
|
|
Date of the status change. |
|
|
Additional values for the specimen. |
|
|
Id of the record in the system. |
|
|
Name of the property. |
|
|
Value of the property. |
|
|
Information about the current state in the state machine for the plan. |
|
|
Current status in the plan |
|
|
Transitions in the state machine given the current state. |
|
|
Action or transition’s name. |
|
|
Transition’s description. |
|
|
Indicates whether the transition is executed by the user or by the system. |
|
|
Indicates if the transition can be executed at the moment. |
|
|
Additional explanation about the availability to execute the transition. |
|
|
Next status that the plan will have if the transition is executed. |
|
|
Name of the transition (action) to execute. |
7.2. GET
7.2.1. Get a specific outcome (Colony)
This endpoint a specific outcome belonging to a plan. In this example the outcome is a colony.
Example Request
Curl:
$ curl 'http://localhost:8080/api/plans/PIN:0000000001/outcomes/TPO:000000000001' -i -X GET \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxNjIsImlhdCI6MTczNDAwNDM2MiwianRpIjoiNGVhNjdlNjEtN2UzMS00ZmVlLTljZDgtMGQwOWMzMzVjODUyIiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6ImRlZjBjZjBmLTVkOWYtNGM3Ny1iMzBhLWNkY2E2ZDk5YzY3YSIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.EcAcIgwf6xfmVbIQ2N58VFHAEc9yCfmUks7HF2hsnxJboaQ_ST8jabIQ0FUZKEAthVE-nL6xSAUh8CSN7LKySxm_SrqSltoFaWfYb6FsGc35ePZlXqsXjLpLyVqFL60_vngQklqXR3odCWqca9C8NY3HxEirLqgnkyk5L51P0R6MyCv-RxOzLQK7ISVWBvUFBi4sW77weFbjBhTSvLAXaiPkoq-RfwE4g1HQgCrj0mOfF9XvUFLoeb5MqyklVbSDCaoZGZErHIxXLrsh9DTzm5R-oTWCbra7SCSUnTD3hYf5OyY1FMd191dkJhdkxJnviETcnYDd7HH2TAETumb8cA'
Example Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 1930
{
"pin" : "PIN:0000000001",
"tpo" : "TPO:000000000001",
"outcomeTypeName" : "Colony",
"colony" : {
"name" : "jr34293",
"genotypingComment" : "An example comment for the genotyping.",
"statusName" : "Genotype In Progress",
"statusDates" : [ {
"statusName" : "Genotype In Progress",
"date" : "2019-08-06T20:09:51.896778"
} ],
"backgroundStrainName" : "C57BL/6NJ",
"distributionProducts" : [ {
"id" : 1,
"distributionCentreName" : "BCM",
"productTypeName" : "Live mice",
"distributionNetworkName" : "MMRRC",
"startDate" : "2018-04-19",
"endDate" : "2018-11-09",
"distributionIdentifier" : "11"
} ],
"statusTransition" : {
"currentStatus" : "Genotype In Progress",
"transitions" : [ {
"action" : "confirmGenotypeWhenInProgress",
"description" : "Confirm Genotype when Genotype In Progress",
"triggeredByUser" : true,
"available" : true,
"note" : null,
"nextStatus" : "Genotype Confirmed"
}, {
"action" : "updateFromGenotypeInProgressToGenotypeNotConfirmed",
"description" : "Update from Genotype In Progress to Genotype Not Confirmed",
"triggeredByUser" : true,
"available" : true,
"note" : null,
"nextStatus" : "Genotype Not Confirmed"
}, {
"action" : "abortGenotypeInProgress",
"description" : "Abort a colony that is Genotype In Progress",
"triggeredByUser" : true,
"available" : true,
"note" : null,
"nextStatus" : "Colony Aborted"
} ],
"actionToExecute" : null
}
},
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000001/outcomes/TPO:000000000001"
},
"mutations" : [ {
"href" : "http://localhost:8080/api/plans/PIN:0000000001/outcomes/TPO:000000000001/mutations/MIN:000000000001"
} ]
}
}
7.2.2. Get a specific outcome (Specimen)
This endpoint a specific outcome belonging to a plan. In this example the outcome is a colony.
Example Request
Curl:
$ curl 'http://localhost:8080/api/plans/PIN:0000000001/outcomes/TPO:000000000004' -i -X GET \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxNjEsImlhdCI6MTczNDAwNDM2MSwianRpIjoiMjlhMWRkYzItNWE3Yy00NWYxLWI1YTEtNmI2NTcwNmJkYTA0IiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6ImQ5ZWQ2NDA4LTZkZDgtNGQ1ZC1hMTE3LThkNDlhZTYyNDNlYiIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.KNZ5J3CwL7Op0b_1JNrnbUHQQFuNkqN0Ip1RcLxeZcvPsrDJJ-ORHDERNWVoPk9W-iAP5cFn3kzSBdScptdc3xC4frcCt2yocYYpDUL1iyjPVWw4VdvzSsV6H6EQJmxwmDDGhvkyzGqxl7R0gYaALuLutj-XDpD83b-S1RLA8iyTjlVdnyFTiT769EmNz8Z4LWP94k-YTZ9k7k1F4Ed3G1PK-mEe32jfZUbb_nm6j_PiboGLpTFhlXjUaDyi7-ssytnVYmUJdBavaJZOtpCEpDyzvgMumAvVEcb4ziV3rlvPztWlh1Ij9YIWqm8GBZxLyX0afKx3Y9ysv1rcdVIV0w'
Example Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 1258
{
"pin" : "PIN:0000000001",
"tpo" : "TPO:000000000004",
"outcomeTypeName" : "Specimen",
"specimen" : {
"specimenExternalRef" : "External reference",
"specimenTypeName" : "haplo-essential",
"statusName" : "Specimen Group In Progress",
"statusDates" : [ {
"statusName" : "Specimen Group In Progress",
"date" : "2019-08-06T20:09:51.896778"
} ],
"backgroundStrainName" : "C57BL/6NJ",
"specimenProperties" : [ {
"id" : 1,
"propertyTypeName" : "Property 1",
"value" : "Value 1"
} ],
"statusTransition" : {
"currentStatus" : "Specimen Group In Progress",
"transitions" : [ {
"action" : "abortSpecimenGroup",
"description" : "Abort a specimen group",
"triggeredByUser" : true,
"available" : false,
"note" : "Specimen cannot be aborted [Not implemented yet.]",
"nextStatus" : "Specimen Group Aborted"
} ],
"actionToExecute" : null
}
},
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000001/outcomes/TPO:000000000004"
},
"mutations" : [ {
"href" : "http://localhost:8080/api/plans/PIN:0000000001/outcomes/TPO:000000000004/mutations/MIN:000000000001"
} ]
}
}
7.2.3. Get all outcomes in a plan
This endpoint shows all the outcomes associated to a plan.
Example Request
Curl:
$ curl 'http://localhost:8080/api/plans/PIN:0000000001/outcomes' -i -X GET \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxNTksImlhdCI6MTczNDAwNDM1OSwianRpIjoiNjc0NGI2MmItNTc3YS00NDA2LWJiYWItNTlmNDU1ODZmZjQyIiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6ImNkZGIxOWVjLTQwM2EtNDdmYi04NmQ4LWNkMmJlZmRiOGJlOCIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.DEkrAGfmF-D33ZnCmVMTjHmZ343TGpCYd0l00-gJRznyEFO1Azi6CLcqwljfv8WgPFuTprwQ0GUvJEAD6QIOymk-1bCv1Pv24YYuiiv8tyXbH8cSRaQWDesSL14E9PdipOeUc8l8stcAgJFdk7q67Jafy3B5ebmB35JttIPcM69R7iLaQm8rVjcn7tb-xdGXF2N7ZXwdWybB6kVR-jch1FC4sgM-Clh7TiwEhC6T2SKjX9rKfX96pLIQdiJxvdLBSsdV5Rlh_SO8hEVsy0QVzl40OKZzMRlyd4EzxnU0fYSgsAXb6mRo-2YjXjfMmFx6Z-CZXXjbN7NwuMTs3CEqJQ'
Example Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 4406
{
"_embedded" : {
"outcomes" : [ {
"pin" : "PIN:0000000001",
"tpo" : "TPO:000000000004",
"outcomeTypeName" : "Specimen",
"specimen" : {
"specimenExternalRef" : "External reference",
"specimenTypeName" : "haplo-essential",
"statusName" : "Specimen Group In Progress",
"statusDates" : [ {
"statusName" : "Specimen Group In Progress",
"date" : "2019-08-06T20:09:51.896778"
} ],
"backgroundStrainName" : "C57BL/6NJ",
"specimenProperties" : [ {
"id" : 1,
"propertyTypeName" : "Property 1",
"value" : "Value 1"
} ],
"statusTransition" : {
"currentStatus" : "Specimen Group In Progress",
"transitions" : [ {
"action" : "abortSpecimenGroup",
"description" : "Abort a specimen group",
"triggeredByUser" : true,
"available" : false,
"note" : "Specimen cannot be aborted [Not implemented yet.]",
"nextStatus" : "Specimen Group Aborted"
} ],
"actionToExecute" : null
}
},
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000001/outcomes/TPO:000000000004"
},
"mutations" : [ {
"href" : "http://localhost:8080/api/plans/PIN:0000000001/outcomes/TPO:000000000004/mutations/MIN:000000000001"
} ]
}
}, {
"pin" : "PIN:0000000001",
"tpo" : "TPO:000000000001",
"outcomeTypeName" : "Colony",
"colony" : {
"name" : "jr34293",
"genotypingComment" : "An example comment for the genotyping.",
"statusName" : "Genotype In Progress",
"statusDates" : [ {
"statusName" : "Genotype In Progress",
"date" : "2019-08-06T20:09:51.896778"
} ],
"backgroundStrainName" : "C57BL/6NJ",
"distributionProducts" : [ {
"id" : 1,
"distributionCentreName" : "BCM",
"productTypeName" : "Live mice",
"distributionNetworkName" : "MMRRC",
"startDate" : "2018-04-19",
"endDate" : "2018-11-09",
"distributionIdentifier" : "11"
} ],
"statusTransition" : {
"currentStatus" : "Genotype In Progress",
"transitions" : [ {
"action" : "confirmGenotypeWhenInProgress",
"description" : "Confirm Genotype when Genotype In Progress",
"triggeredByUser" : true,
"available" : true,
"note" : null,
"nextStatus" : "Genotype Confirmed"
}, {
"action" : "updateFromGenotypeInProgressToGenotypeNotConfirmed",
"description" : "Update from Genotype In Progress to Genotype Not Confirmed",
"triggeredByUser" : true,
"available" : true,
"note" : null,
"nextStatus" : "Genotype Not Confirmed"
}, {
"action" : "abortGenotypeInProgress",
"description" : "Abort a colony that is Genotype In Progress",
"triggeredByUser" : true,
"available" : true,
"note" : null,
"nextStatus" : "Colony Aborted"
} ],
"actionToExecute" : null
}
},
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000001/outcomes/TPO:000000000001"
},
"mutations" : [ {
"href" : "http://localhost:8080/api/plans/PIN:0000000001/outcomes/TPO:000000000001/mutations/MIN:000000000001"
} ]
}
}, {
"pin" : "PIN:0000000001",
"tpo" : "TPO:000000000002",
"outcomeTypeName" : "Colony",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000001/outcomes/TPO:000000000002"
}
}
}, {
"pin" : "PIN:0000000001",
"tpo" : "TPO:000000000003",
"outcomeTypeName" : "Specimen",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000001/outcomes/TPO:000000000003"
}
}
}, {
"pin" : "PIN:0000000001",
"tpo" : "TPO:000000000005",
"outcomeTypeName" : "Colony",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000001/outcomes/TPO:000000000005"
}
}
} ]
}
}
7.2.4. Get the history of changes for an outcome
You can use this endpoint to see all the changes that have been made on an outcome.
Example Request
Curl:
$ curl 'http://localhost:8080/api/plans/PIN:0000000001/outcomes/TPO:000000000002/history' -i -X GET \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxNjIsImlhdCI6MTczNDAwNDM2MiwianRpIjoiMzBhODEwODAtYmI4NS00OTQxLWJjMzktOTJhZWE2ZTkzYTljIiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6Ijk5ZDcwNjQ2LWQ1MGItNDU1ZS1iYWU5LWEzOGRkZTUwZWE3YiIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.ZRW1wEYjnokpduYah30lHrYwJkAtuIgXTFEcOUN2i2tAXPzoPdrdTIkri29EWtDqQhGsn34f8cLwG7OcM4Gb7-p6Y1InA3RPilglBxDMAiRkLh9nP9O4d03gVwqo-G3zfC8ntzByDSiEmMK1mPzSlDwNgdJ3wZxggaqbhIB5gh0pfyWtL5_qOUbsOhW1AdNlUTrtwrbK5-Z4bs_O1aEtSBHgsnF6gdlizra3rRERwLB3G0NwJ6f3qbAFf4JOhSRlQCmFzSnHTHeaReph-7HJtR0WK9GIGiYAVvUjsrSfSlGlL9dPimpkGRw51DdfxRXnD_-52a_dxLDZr1Rz9S3w1g'
Example Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 307
[ {
"id" : 1,
"user" : "gentar_test_user1@gentar.org",
"date" : "2020-06-17T15:08:56.643268",
"comment" : "Outcome updated",
"details" : [ {
"field" : "colony.genotypingComment",
"oldValue" : "Comment version 1",
"newValue" : "Comment version 2",
"note" : "Field changed"
} ]
} ]
7.3. POST
7.3.1. Create an outcome (colony)
Example Request
Curl: Unresolved directive in restapi.adoc - include::/usr/src/gentar/rest-api/target/generated-snippets/outcomes/postColonyOutcome/http-request.adoc[]
Example Response
Unresolved directive in restapi.adoc - include::/usr/src/gentar/rest-api/target/generated-snippets/outcomes/postColonyOutcome/http-response.adoc[]
7.4. PUT
7.4.1. Update an outcome (colony)
Example Request
Curl:
PUT /api/plans/PIN:0000000001/outcomes/TPO:000000000001 HTTP/1.1
Content-Type: application/json
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxNTksImlhdCI6MTczNDAwNDM1OSwianRpIjoiMDBjNGQzM2QtMmRlNy00YTUwLWI4ODQtYTA2MGRhZTMwN2VhIiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6IjVhNTc5YmUxLWM5OTUtNGEwMS04MzU0LWVjOTg2MmZlMGVkYiIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.es0gEAhnudT0MRdXP3kewzjWSlvfQdv-eb0efrDPWfbcWtbt8WMiowpeeZVff4zl1v6e3jxnPuHx7VOfEz9G3qD1IhHX38xR-6hNrMVQTEZD-rE8d6v30cIMXJg-rwDkjvAuQVQK46oROhrYsEzGmnIRdI4jB144sEhnVgcxlx4R7LKQjZLneZaZnRc-tabwt8LF88pAe99we0SjbRKWB_nFLCTNuGx74KbNCdO3PNv5p8A3CnRNNxWNTTQyTQhTDT0HFcZ6GaSW3nzYpMqWNIQjMHHzGtYfGVhc0-jYR1MWA6YUuFnXwAFrhIantUDZIjmACILoli_Bff1Xxf650A
Content-Length: 573
Host: localhost:8080
{
"tpo" : "TPO:000000000001",
"outcomeTypeName" : "Colony",
"colony" : {
"name" : "jr34293",
"genotypingComment" : "Genotyping comment changed.",
"backgroundStrainName" : "C57BL/6NJ",
"distributionProducts" : [ {
"id" : 1,
"distributionCentreName" : "BCM",
"productTypeName" : "Live mice",
"distributionNetworkName" : "MMRRC",
"endDate" : "2018-11-09T00:00:00",
"startDate" : "2018-04-19T00:00:00",
"distributionIdentifier" : "11"
} ],
"statusTransition" : {
"actionToExecute" : null
}
}
}
Example Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 512
{
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000001/outcomes/TPO:000000000001"
}
},
"history" : [ {
"id" : 1,
"user" : "gentar_test_user1@gentar.org",
"date" : "2024-12-12T11:52:41.308917777",
"comment" : "Outcome updated",
"details" : [ {
"field" : "colony.genotypingComment",
"oldValue" : "An example comment for the genotyping.",
"newValue" : "Genotyping comment changed.",
"note" : "Field changed"
} ]
} ]
}
8. Mutations
8.1. Fields
These are the fields you are going to see in the body of a request in a GET or in the payload for POST or PUT operations.
Path | Type | Description |
---|---|---|
|
|
id. READ ONLY |
|
|
Public identifier for the mutation. READ ONLY |
|
|
Public identifier assigned by MGI for the allele or aberration. READ ONLY |
|
|
Allele or aberration symbol. SPECIFY ONLY WHEN CREATING |
|
|
[THIS FIELD IS DEPRECATED AND WILL BE REMOVED] Used to indicate whether the allele symbol includes the IMPC abbreviation. SPECIFY ONLY WHEN CREATING |
|
|
[THIS FIELD IS DEPRECATED AND WILL BE REMOVED] Indicates if the allele symbol needs to be constructed from a superscript recorded in the mgiAlleleSymbol field and the associated gene information. SPECIFY ONLY WHEN CREATING |
|
|
Formal classification of the mutation in genetic terms, or an indication that the mutation has not been tested genetically. |
|
|
The type of the molecular lesion associated with the mutation. |
|
|
Array containing the results of QC tests carried out on the mutation. |
|
|
Internal identifier. READ ONLY AND SUBJECT TO CHANGE. |
|
|
Type of Mutation QC carried out. |
|
|
Status of the Mutation QC. |
|
|
Array containing a collection of sequences that characterise the mutation. |
|
|
Internal identifier. READ ONLY AND SUBJECT TO CHANGE |
|
|
Index used to order the sequences. |
|
|
An object describing the sequence. |
|
|
Internal identifier. READ ONLY AND SUBJECT TO CHANGE |
|
|
A sequence in FASTA format. |
|
|
The type of sequence. Possible values: - complete - partial - 5_prime_end - 3_prime_end |
|
|
The category assigned to the sequence. Possible values: - intention target sequence - original starting sequence - outcome sequence A mutation should always be specified as 'outcome sequence'. |
|
|
Mutation description note. |
|
|
Mutation Qc note. |
|
|
A list classifying the mutation. |
|
|
A label describing the mutation. |
|
|
A longer description of this category. |
|
|
A broader classification of the description. Possible values are: - allele_category - repair_mechanism |
|
|
List of genes associated with the mutation. |
|
|
An internal identifier for the gene. READ ONLY AND SUBJECT TO CHANGE |
|
|
The name of the gene. |
|
|
The valid symbol for the gene. |
|
|
The species related to the gene. |
|
|
An external link with more information about the gene. |
|
|
The accession identifier for the gene. |
|
|
Link to the mutation. |
|
|
Outcomes associated with the mutation. |
8.2. GET
8.2.1. Get a specific mutation
This endpoint fetches a specific mutation associated with an outcome.
Example Request
Curl:
$ curl 'http://localhost:8080/api/plans/PIN:0000000001/outcomes/TPO:000000000002/mutations/MIN:000000000002' -i -X GET \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxNTMsImlhdCI6MTczNDAwNDM1MywianRpIjoiNTZhNmI1YWItNjY1Ni00MDJhLTlhMmItNzNkZmNhMzJiMmQ0IiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6IjhiZjFmNzZmLWJjMTYtNDRmNC1iODEyLTkzMGEyMzVhMjc4ZiIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.SQLJ9Vu6ZW---DsJ8M4LO6zhFkLOUcuIOy9dRpkE9x4WHNhmY0y3-4lhty2Mpaa-imAXOfcmInpOx-JwEYoQZsLJWKgpvNkxwfItTIks9TVDgDAxB4MbADeMhvDaG2fingFeFaJnF_o97hFORSqqEqZ2L28nPX8FvX_Q1rVMobQHaliVwfCau6OV8kLf6RJcjWi1KLqfT9CTRCi1gxUgkXHEiEYMsiEkAtgZeecGuC5cK6fGLB8gXCmkW5jCyFfVQD7Obj-6HYIxTlqmJfohQZEao_ZOgpnw5ZWjn5olyhZU4Ydmbf4Cd9eHhiorFfbClbDJJZjyvIf7ELRDk76s1g'
Example Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 1504
{
"id" : 2,
"min" : "MIN:000000000002",
"mgiAlleleId" : "MGI:6342258",
"mgiAlleleSymbolWithoutImpcAbbreviation" : false,
"symbol" : "em1(IMPC)J",
"description" : "",
"qcNote" : "",
"mgiAlleleSymbolRequiresConstruction" : true,
"geneticMutationTypeName" : "Not Tested",
"molecularMutationTypeName" : "Deletion",
"mutationQcResults" : [ {
"id" : 1,
"qcTypeName" : "mutant_specific_sr_pcr",
"statusName" : "pass"
} ],
"mutationSequences" : [ {
"id" : 2,
"index" : 1,
"sequence" : {
"id" : 1,
"sequence" : ">Otog TGGGACTAGGTCACAGACAGAAAAAGGGGGATGAGAAGGCCTTAGATCTAAGGGAGGTAAAGAGAGAATTAACCACAGGAATTAGCACACTGAAGGATCGTGCTCGCCAGACCTCAAACCATCTCCTTCTTGCGTCATGAGAAAGCCTTGACCCATCATTTTCCAGTTTTCTGTGTTCTTGCCCCACTTTGGCCCCTGGATCCTGGGATCTCCCCAGAAATTCTTACCTAGCCCC",
"typeName" : "complete",
"categoryName" : "outcome sequence"
}
} ],
"mutationCategorizations" : [ {
"name" : "NHEJ",
"description" : "non-homology end-joining",
"typeName" : "repair_mechanism"
} ],
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/mutations/MIN:000000000002"
},
"outcomes" : [ {
"href" : "http://localhost:8080/api/plans/PIN:0000000001/outcomes/TPO:000000000002"
} ]
},
"genes" : [ {
"id" : 2,
"symbol" : "Otog",
"speciesName" : "Mus musculus",
"accessionId" : "MGI:1202064",
"name" : "otogelin",
"externalLink" : "http://www.mousephenotype.org/data/genes/MGI:1202064"
} ]
}
8.2.2. Get history for a specific mutation
This endpoint fetches the history of a specific mutation associated with an outcome.
Example Request
Curl:
$ curl 'http://localhost:8080/api/plans/PIN:0000000001/outcomes/TPO:000000000002/mutations/MIN:000000000002/history' -i -X GET \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxNTYsImlhdCI6MTczNDAwNDM1NiwianRpIjoiYjM1MjUwZjAtOGVjOS00ZTQ1LTkwMjQtMDU2Mjk3YTE4OTE3IiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6IjBhNzYyZDBhLTcyMjctNDgzNy04ODAzLTZiMDVjYTBlMzhjYSIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.Q6gaJeUIQt_s5nsflauqC1XhrCRK5RQGqlhnmuu5K4yx6-wpHx4hf6wOjCYIVjIViPfLpWRxHjOZhUVINMZ3lHAxB9divxd_llZpoXfL2Uxleo79mkmRWNqWO8lufSjZogMu7AmwFKC3dHPUJR-J7jO8RAKrf9blNCPXFycihIoXWaUHml4caXbCPW8_MEpwytu6ORisQ2KOpCEexb2ieZOGAPcRhE5QPPS-ljUA0N35EeY3wQ73KqoP1dW7pF82dbBb24laEWK27VgSee3i3Z6pypuGKYCVkeSQhlQTYXZ2gVDllzJmnGw1QqVv-V82I3NnUbw05MfPY4bqndpdOQ'
Example Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 290
[ {
"id" : 1,
"user" : "gentar_test_user1@gentar.org",
"date" : "2020-06-17T15:08:56.643268",
"comment" : "Mutation updated",
"details" : [ {
"field" : "geneticMutationTypeName",
"oldValue" : "Dominant",
"newValue" : "Recessive",
"note" : "Field changed"
} ]
} ]
8.3. POST
A mutation is created as part of an outcome, see Create an outcome (colony), rather than as a POST request to a mutation endpoint.
8.4. PUT
8.4.1. Update a mutation
This endpoint allows the modification of an existing mutation.
Example Request
Curl:
$ curl 'http://localhost:8080/api/plans/PIN:0000000001/outcomes/TPO:000000000002/mutations/MIN:000000000002/' -i -X PUT \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxNTcsImlhdCI6MTczNDAwNDM1NywianRpIjoiZWU4NzY0ZjUtMjRkYS00YzZhLTk4YjUtNDhkZWE0OTlmMjUwIiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6IjFmMTU0MWJmLWQ2ZWYtNDFhYy1hYTk2LTNiMjE3NzhiNjc2YyIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.MiP53DPwriCbUxe3moxWXuaHNgaWhKj9RCvi2T5Df8mKtgVzgnXWnOSsyTQEW9xzoTdvzMzMjT5a6pKH5IIfYxX6LvLXlysVKlndYSFCfQeO7ug45GrWi6JX4mpC7TirYcjmzIk9hkoWP5E38JJa_xeCc4qJTRndnveiWqeZ8xuRADkuNFQ5F-oK8sCjREI_y-k0pWAjcFX2nOWm5GpVFSKzV3d7y-NLJxlid_r2rTD9aH_nCl1raVJCoEC1PQwjEdnc-vpwOVf7IoEzrVDB9W_mdoitS2JzO_PqAdxxTIXHT6lBwnb5UQReGUE7BXmTgXtNiybHUKxNdmpQNx1gHw' \
-d '{
"min" : "MIN:000000000002",
"mgiAlleleId" : "MGI:6342258",
"symbol" : "Otog<em1(IMPC)Bcm>",
"mgiAlleleSymbolWithoutImpcAbbreviation" : false,
"mgiAlleleSymbolRequiresConstruction" : true,
"geneticMutationTypeName" : "Null",
"molecularMutationTypeName" : "Point Mutation",
"mutationQcResults" : [ {
"id" : 1,
"qcTypeName" : "mutant_specific_sr_pcr",
"statusName" : "pass"
}, {
"id" : null,
"qcTypeName" : "loxp_screen",
"statusName" : "fail"
} ],
"mutationSequences" : [ {
"id" : 2,
"index" : 1,
"sequence" : {
"id" : 1,
"sequence" : ">Otog \nTGGGACTAGGTCACAGACAGAAAAAGGGGGATGAGAAGGCCTTAGATCTAAGGGAGGTAAAGAGAGAATTAACCACAGGAATTAGCACACTGAAGGATCGTGCTCGCCAGACCTCAAACCATCTCCTTCTTGCGTCATGAGAAAGCCTTGACCCATCATTTTCCAGTTTTCTGTGTTCTTGCCCCACTTTGGCCCCTGGATCCTGGGATCTCCCCAGAAATTCTTACCTAGCCCC",
"typeName" : "complete",
"categoryName" : "outcome sequence"
}
} ],
"description" : "Otog<em1(IMPC)Bcm>:\\r\\nThis allele was generated at The Jackson Laboratory by electroporating Cas9 protein and 2 guide sequences CTTCACGTACCAAGGAGGGG and TCTTGCTTCCTACTTCCAGT, which resulted in a 520 bp deletion beginning at Chromosome 7 position 46,245,130 bp and ending after 46,245,649 bp (GRCm38/mm10). This mutation deletes ENSMUSE00000204147 (exon 4) and 444 bp of flanking intronic sequence including the splice acceptor and donor and is predicted to cause a change of amino acid sequence after residue 71 and early truncation 34 amino acids later. \\r\\n\\r\\n\\r\\n",
"qcNote" : "",
"mutationCategorizations" : [ {
"name" : "NHEJ",
"description" : "non-homology end-joining",
"typeName" : "repair_mechanism"
}, {
"name" : "HR",
"typeName" : "repair_mechanism"
} ],
"_links" : {
"outcomes" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000001/outcomes/TPO:000000000002"
}
},
"genes" : [ {
"symbol" : "Otog"
} ]
}'
Example Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 4235
{
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000001/outcomes/TPO:000000000002/mutations/MIN:000000000002"
}
},
"history" : [ {
"id" : 1,
"user" : "gentar_test_user1@gentar.org",
"date" : "2024-12-12T11:52:37.78853244",
"comment" : "Mutation updated",
"details" : [ {
"field" : "description",
"oldValue" : "",
"newValue" : "Otog<em1(IMPC)Bcm>:\\r\\nThis allele was generated at The Jackson Laboratory by electroporating Cas9 protein and 2 guide sequences CTTCACGTACCAAGGAGGGG and TCTTGCTTCCTACTTCCAGT, which resulted in a 520 bp deletion beginning at Chromosome 7 position 46,245,130 bp and ending after 46,245,649 bp (GRCm38/mm10). This mutation deletes ENSMUSE00000204147 (exon 4) and 444 bp of flanking intronic sequence including the splice acceptor and donor and is predicted to cause a change of amino acid sequence after residue 71 and early truncation 34 amino acids later. \\r\\n\\r\\n\\r\\n",
"note" : "Field changed"
}, {
"field" : "geneticMutationType.name",
"oldValue" : "Not Tested",
"newValue" : "Null",
"note" : "Field changed"
}, {
"field" : "molecularMutationType.name",
"oldValue" : "Deletion",
"newValue" : "Point Mutation",
"note" : "Field changed"
}, {
"field" : "mutationCategorizations.[9]",
"oldValue" : null,
"newValue" : "id:9, name:HR, description: null, mutationCategorizationTypeName:repair_mechanism",
"note" : "Element added"
}, {
"field" : "mutationCategorizations.[9].mutationCategorizationType.name",
"oldValue" : null,
"newValue" : "repair_mechanism",
"note" : "Field changed"
}, {
"field" : "mutationCategorizations.[9].name",
"oldValue" : null,
"newValue" : "HR",
"note" : "Field changed"
}, {
"field" : "mutationQcResults.[id:null, QC type name:loxp_screen, QC status:fail]",
"oldValue" : null,
"newValue" : "id:null, QC type name:loxp_screen, QC status:fail",
"note" : "Element added"
}, {
"field" : "mutationQcResults.[id:null, QC type name:loxp_screen, QC status:fail].qcType.name",
"oldValue" : null,
"newValue" : "loxp_screen",
"note" : "Field changed"
}, {
"field" : "mutationQcResults.[id:null, QC type name:loxp_screen, QC status:fail].status.name",
"oldValue" : null,
"newValue" : "fail",
"note" : "Field changed"
}, {
"field" : "mutationSequences.[2]",
"oldValue" : "MutationSequence(id=2, sequence=Sequence(id=1, sequence=>Otog TGGGACTAGGTCACAGACAGAAAAAGGGGGATGAGAAGGCCTTAGATCTAAGGGAGGTAAAGAGAGAATTAACCACAGGAATTAGCACACTGAAGGATCGTGCTCGCCAGACCTCAAACCATCTCCTTCTTGCGTCATGAGAAAGCCTTGACCCATCATTTTCCAGTTTTCTGTGTTCTTGCCCCACTTTGGCCCCTGGATCCTGGGATCTCCCCAGAAATTCTTACCTAGCCCC, sequenceType=SequenceType(id=1, name=complete), sequenceCategory=SequenceCategory(id=3, name=outcome sequence)), index=1)",
"newValue" : "MutationSequence(id=2, sequence=Sequence(id=1, sequence=>Otog \nTGGGACTAGGTCACAGACAGAAAAAGGGGGATGAGAAGGCCTTAGATCTAAGGGAGGTAAAGAGAGAATTAACCACAGGAATTAGCACACTGAAGGATCGTGCTCGCCAGACCTCAAACCATCTCCTTCTTGCGTCATGAGAAAGCCTTGACCCATCATTTTCCAGTTTTCTGTGTTCTTGCCCCACTTTGGCCCCTGGATCCTGGGATCTCCCCAGAAATTCTTACCTAGCCCC, sequenceType=SequenceType(id=1, name=complete), sequenceCategory=SequenceCategory(id=3, name=outcome sequence)), index=1)",
"note" : "Element changed"
}, {
"field" : "mutationSequences.[2].sequence.sequence",
"oldValue" : ">Otog TGGGACTAGGTCACAGACAGAAAAAGGGGGATGAGAAGGCCTTAGATCTAAGGGAGGTAAAGAGAGAATTAACCACAGGAATTAGCACACTGAAGGATCGTGCTCGCCAGACCTCAAACCATCTCCTTCTTGCGTCATGAGAAAGCCTTGACCCATCATTTTCCAGTTTTCTGTGTTCTTGCCCCACTTTGGCCCCTGGATCCTGGGATCTCCCCAGAAATTCTTACCTAGCCCC",
"newValue" : ">Otog \nTGGGACTAGGTCACAGACAGAAAAAGGGGGATGAGAAGGCCTTAGATCTAAGGGAGGTAAAGAGAGAATTAACCACAGGAATTAGCACACTGAAGGATCGTGCTCGCCAGACCTCAAACCATCTCCTTCTTGCGTCATGAGAAAGCCTTGACCCATCATTTTCCAGTTTTCTGTGTTCTTGCCCCACTTTGGCCCCTGGATCCTGGGATCTCCCCAGAAATTCTTACCTAGCCCC",
"note" : "Field changed"
}, {
"field" : "symbol",
"oldValue" : "em1(IMPC)J",
"newValue" : "Otog<em1(IMPC)Bcm>",
"note" : "Field changed"
} ]
} ]
}
9. Phenotyping Stages
Fields
These are the fields you are going to see in the body of a request in a GET or in the payload for POST or PUT operations.
Path | Type | Description |
---|---|---|
|
|
Public identifier for the phenotyping plan. |
|
|
Public identifier for the phenotyping stage. |
|
|
Current status of the phenotyping stage. |
|
|
Phenotyping attempt type. |
|
|
Colony name or Specimen Group name. |
|
|
Date when the phenotyping experiments started. |
|
|
Date when some data for the line becomes public. This is set by the CDA |
|
|
Tissue distribution available. |
|
|
Id of the record in the system. |
|
|
Tissue distribution starting date. |
|
|
Tissue distribution ending date. |
|
|
Work unit responsible for the distribution. |
|
|
Type of tissue available. |
|
|
Stamps of the statuses the phenotyping stage has gone through. |
|
|
Status name. |
|
|
Date when the status record was saved in the system |
|
|
Information about the current state in the state machine for the phenotyping stage. |
|
|
Current status in the phenotyping stage. |
|
|
Transitions in the state machine given the current state. |
|
|
Action or transition’s name. |
|
|
Transition’s description. |
|
|
Indicates whether the transition is executed by the user or by the system. |
|
|
Indicates if the transition can be executed at the moment. |
|
|
Additional explanation about the availability to execute the transition. |
|
|
Next status that the plan will have if the transition is executed. |
|
|
Name of the transition (action) to execute. |
|
|
Link to the phenotyping stage. |
|
|
Link to the plan. |
9.1. GET
9.1.1. Get a specific phenotyping stage
This endpoint fetches a specific phenotyping stage belonging to a plan.
Example Request
Curl:
$ curl 'http://localhost:8080/api/plans/PIN:0000000001/phenotypingStages/PSN:000000000001' -i -X GET \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxNzMsImlhdCI6MTczNDAwNDM3MywianRpIjoiOTUzMTdkYzgtNjY4YS00NGMzLWIyYTQtZjQwZTg0MzhmOWQxIiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6ImE5OTM5ZWFjLWRiNzctNDM3ZC1iNDJjLTcyOWUzN2FmNjM4OSIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.U8KZO_7NdsjK_x9-RVSfBT3Jy7sK0HDwoIF8Q4401VfcCVcndrOlfQpsa8mOGljTulgJW3Nu9_JQ93s8cgkAp2VutB0-_z5Ivz5rVOeNrvpZZ3nkH1p_zJlQ4vqQNSgleQm1y6UBP-KRTNWV_UWhtlmXmb66_CgoVOpea3ymZuNGdFZDP2CzzI5Hk1bwH0VxxNJlYe2PpUWXCrfWB08zA-K0PCqziM_k4ioY7Fa1IRSNOYWKO1QhQcXg6WzXeTAaeNYiNYzjkJYW2ImJ_s3KsmJUabz48T9y5NPFwXhLjVvbGH9ljqWUg-Pwh-d8Oef1nn5vbLCqsz6uDjZLWJJ6Aw'
Example Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 1714
{
"pin" : "PIN:0000000001",
"psn" : "PSN:000000000001",
"statusName" : "Phenotyping Started",
"phenotypingTypeName" : "early adult and embryo",
"phenotypingExternalRef" : "CR10129",
"phenotypingExperimentsStarted" : "2020-02-24",
"initialDataReleaseDate" : "2015-11-23",
"tissueDistributions" : [ {
"id" : 1,
"startDate" : "2020-04-13",
"endDate" : "2021-05-15",
"workUnitName" : "TCP",
"materialDepositedTypeName" : "Paraffin-embedded Sections"
} ],
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000001/phenotypingStages/PSN:000000000001"
},
"plan" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000001"
}
},
"statusDates" : [ {
"statusName" : "Phenotyping Registered",
"date" : "2019-11-01T00:00:00"
}, {
"statusName" : "Phenotyping Started",
"date" : "2019-11-02T00:00:00"
} ],
"statusTransition" : {
"currentStatus" : "Phenotyping Started",
"transitions" : [ {
"action" : "updateToPhenotypingAllDataSent",
"description" : "No more phenotype data will be sent to the DCC.",
"triggeredByUser" : true,
"available" : true,
"note" : "Used to indicate all phenotype data has been sent to the DCC.",
"nextStatus" : "Phenotyping All Data Sent"
}, {
"action" : "rollbackPhenotypingStarted",
"description" : "Rollback the state of phenotyping marked as having phenotyping started.",
"triggeredByUser" : true,
"available" : false,
"note" : "The current user does not have permission to rollback to 'Phenotyping Registered'",
"nextStatus" : "Phenotyping Registered"
} ],
"actionToExecute" : null
}
}
9.1.2. Get all phenotyping stages in a plan
This endpoint shows all the phenotyping stages associated to a plan.
Example Request
Curl:
$ curl 'http://localhost:8080/api/plans/PIN:0000000001/phenotypingStages' -i -X GET \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxNzMsImlhdCI6MTczNDAwNDM3MywianRpIjoiYjgzOGFkN2UtYjJiNi00NTE1LTlkY2YtNzU1OGMyN2RjMGE2IiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6IjQwYzE2ZjEyLTk1YWItNDgwZC1hZmU2LWUwMWQ5ODA0NzNmZSIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.NTJTsX64zXnyBsPKP_lKBUgZ-_mS0Ij8jczGeAbwlxvFlHEpGn9nkh8PkAJ5H668Gp0z0USsLdRDvjFgVSx50ZfjUC7Z68Whp1mubtlqcIy8WIaEgX3seacYBkfAt4VfaVru8PXBxby5adqiSJC2Ow6kxqysr8hC8cIvkkB7XM3e46kts6bmaHfQ43Y2CI8HBGPN_cOjbxk21WFEct99wijAZv1gABbiYTv1CItbOeHG2smnzbEPVxqZqU3itTydk_g3IY3800gzlIXEaPBBldWNQoDO-bsqTJP-OXqxtf0vLlgDPBA2CbiQVqnttoOIGi2oG22kWlCt8Egd5gcCkg'
Example Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 4057
{
"_embedded" : {
"phenotypingStages" : [ {
"pin" : "PIN:0000000001",
"psn" : "PSN:000000000001",
"statusName" : "Phenotyping Started",
"phenotypingTypeName" : "early adult and embryo",
"phenotypingExternalRef" : "CR10129",
"phenotypingExperimentsStarted" : "2020-02-24",
"initialDataReleaseDate" : "2015-11-23",
"tissueDistributions" : [ {
"id" : 1,
"startDate" : "2020-04-13",
"endDate" : "2021-05-15",
"workUnitName" : "TCP",
"materialDepositedTypeName" : "Paraffin-embedded Sections"
} ],
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000001/phenotypingStages/PSN:000000000001"
},
"plan" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000001"
}
},
"statusDates" : [ {
"statusName" : "Phenotyping Registered",
"date" : "2019-11-01T00:00:00"
}, {
"statusName" : "Phenotyping Started",
"date" : "2019-11-02T00:00:00"
} ],
"statusTransition" : {
"currentStatus" : "Phenotyping Started",
"transitions" : [ {
"action" : "updateToPhenotypingAllDataSent",
"description" : "No more phenotype data will be sent to the DCC.",
"triggeredByUser" : true,
"available" : true,
"note" : "Used to indicate all phenotype data has been sent to the DCC.",
"nextStatus" : "Phenotyping All Data Sent"
}, {
"action" : "rollbackPhenotypingStarted",
"description" : "Rollback the state of phenotyping marked as having phenotyping started.",
"triggeredByUser" : true,
"available" : false,
"note" : "The current user does not have permission to rollback to 'Phenotyping Registered'",
"nextStatus" : "Phenotyping Registered"
} ],
"actionToExecute" : null
}
}, {
"pin" : "PIN:0000000001",
"psn" : "PSN:000000000002",
"statusName" : "Late Adult Phenotyping Registered",
"phenotypingTypeName" : "late adult",
"phenotypingExternalRef" : "CR10129",
"phenotypingExperimentsStarted" : "2018-09-17",
"initialDataReleaseDate" : "2019-04-12",
"tissueDistributions" : [ {
"id" : 2,
"startDate" : "2019-04-13",
"endDate" : "2020-05-15",
"workUnitName" : "UCD",
"materialDepositedTypeName" : "Fixed Tissue"
} ],
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000001/phenotypingStages/PSN:000000000002"
},
"plan" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000001"
}
},
"statusDates" : [ {
"statusName" : "Late Adult Phenotyping Registered",
"date" : "2018-09-27T00:00:00"
} ],
"statusTransition" : {
"currentStatus" : "Late Adult Phenotyping Registered",
"transitions" : [ {
"action" : "updateToRederivationStarted",
"description" : "Started rederivation of the colony for phenotyping",
"triggeredByUser" : true,
"available" : true,
"note" : "executed by the user when rederivation is started.",
"nextStatus" : "Rederivation Started"
}, {
"action" : "updateToPhenotypingStarted",
"description" : "Marked as started when the DCC receives phenotype data",
"triggeredByUser" : true,
"available" : false,
"note" : "The current user does not have permission to move to 'Phenotyping Started'",
"nextStatus" : "Phenotyping Started"
}, {
"action" : "abortWhenPhenotypeRegistered",
"description" : "Abort phenotyping when a phenotype attempt has been registered",
"triggeredByUser" : true,
"available" : true,
"note" : null,
"nextStatus" : "Phenotype Production Aborted"
} ],
"actionToExecute" : null
}
} ]
}
}
9.1.3. Get the history of changes for a phenotyping stage
You can use this endpoint to see all the changes that have been made on a phenotyping stage.
Example Request
Curl:
$ curl 'http://localhost:8080/api/plans/PIN:0000000001/phenotypingStages/PSN:000000000002/history' -i -X GET \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxNzMsImlhdCI6MTczNDAwNDM3MywianRpIjoiNDViMmE3NTEtNzJlYS00MjFiLTlhN2YtNDAyMmUzN2RiMTRlIiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6ImRiNTA3YmNjLTMzNGItNDljOS04ZjUxLTY0MTk3NzYyNTNiZiIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.O0IzhvRFa1lEC2K51BWPaZwukKfYYN6OmGniobxIXdo6k-opqDK0bomqQAho7zLiIZEtfxztI_0R75gV4_YDbam1HLoscS32fJZL2au4zr1w8m5WQNKM42TbD8rxWyPehWZD2Q-3wdbFBxJXqyWjtNlDLpGa7ME7o9d8Q_Nqvw152tnqSygfBQuXWij9ICDUXDTvOWQ3EPzX3KHmh-wNLQYpkmCqoU6IE8JuPS9mkYh-HEE60wJAgH78kFy2YleVPiHYKbcXHZ5zHWrGxLsyl-lAcoZh9_7fILhOmcuWxq0sWTXVqVpNsPd4jAUhmfr2JXpkcv5WxI27AQwYOBZRvQ'
Example Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 309
[ {
"id" : 1,
"user" : "gentar_test_user1@gentar.org",
"date" : "2020-06-17T15:08:56.643268",
"comment" : "PhenotypingStage updated",
"details" : [ {
"field" : "phenotyping_experiments_started",
"oldValue" : "2020-02-24",
"newValue" : "2020-04-02",
"note" : "Field changed"
} ]
} ]
9.2. POST
9.2.1. Create a phenotyping stage
Example Request
Curl:
POST /api/plans/PIN:0000000002/phenotypingStages/ HTTP/1.1
Content-Type: application/json
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxNzIsImlhdCI6MTczNDAwNDM3MiwianRpIjoiOGM5NWJlMDItNjFhOS00YjcxLWI0MjctNjk5MGVjNjM4Y2QwIiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6ImUxNmU5MTM0LTY0ZTQtNGQwNi1iMDBhLWE2MTNhNjhkYmY5ZCIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.cRTXEXX7-kZQSMsXV_NSbp_479H1CrzjxIwQ8spnV196KOOYwyhWPYtw9JWK2Lf8qCfznKGVcefm0hTHcz9xcOwwdsnBv51G2sqgL3AjIKedc49v15gQDKPnW5ZODZwB0blXl93MVrjh6DnFs7fVpkhHVPBPdl7zQEWuANvWYmmrDrflGfzv1Lkzx45J4d_zr8lAo6aWfgWlprBliMyYiKO17t8mMLcknx6g9RSjc8W7emIYVBTzAl_BnhV-BxcJaYhjMLI_CAQl08m02P3BuaZPGmBFH_Ifr6XydtK_JUSC_MRyh7v81qYcSuyGzcbfuXrD3DjM_6ZQCllOcCQg8g
Content-Length: 377
Host: localhost:8080
{
"phenotypingTypeName" : "early adult and embryo",
"phenotypingExternalRef" : "JR34077",
"phenotypingExperimentsStarted" : "2020-02-24",
"initialDataReleaseDate" : "2015-11-23",
"tissueDistributions" : [ {
"startDate" : "2020-04-13",
"endDate" : "2021-05-15",
"workUnitName" : "TCP",
"materialDepositedTypeName" : "Paraffin-embedded Sections"
} ]
}
Example Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 336
{
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000002/phenotypingStages/PSN:000000000004"
}
},
"history" : [ {
"id" : 1,
"user" : "gentar_test_user1@gentar.org",
"date" : "2024-12-12T11:52:52.896208593",
"comment" : "PhenotypingStage created",
"details" : [ ]
} ]
}
9.3. PUT
9.3.1. Update a phenotyping stage
Example Request
Curl:
PUT /api/plans/PIN:0000000001/phenotypingStages/PSN:000000000001/ HTTP/1.1
Content-Type: application/json
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxNzQsImlhdCI6MTczNDAwNDM3NCwianRpIjoiZmIxZmVlNDctYzlkMi00YmVmLTgzNTMtOThhY2M5ZTM4M2RkIiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6IjU0ZTBmNTZhLThjODQtNGI0Zi04Y2Y1LWZiMTE5ZDQ1ZGNlZCIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.Lbjn94ekCO3Rh1l7b3kAR1BwsIsAwGuP8BzvtcB1oAT9RLEpIKJylQSi1GmzozOTdu8DM3ohfP0ry9bAt5asc7PP1IroTfZB3TsU_Pp8_uY87BpOymUZb_FrkKk1V2_pGVwzicIyVb8Cfk_vQfjInWGA8TXtbXaIX62m09I-6unFfiZ_Jc4GAqkWag3LXFeg1AFRTDBY8OtSzdxn33TVb4V3eRvVxggC9vvik48lDQLfjj3ZOOyK7kHhVDRly_7XJae5SGKW6DQILMFJYB6sFzlCXsYXpCqpyRynhxmQDci5YcUWh4Yn0cYgYTqNk-M882a87Nxrmp7MU3YIqp4jbw
Content-Length: 428
Host: localhost:8080
{
"psn" : "PSN:000000000001",
"phenotypingExternalRef" : "CR10129",
"phenotypingExperimentsStarted" : "2020-04-02",
"initialDataReleaseDate" : "2015-11-23",
"tissueDistributions" : [ {
"id" : 1,
"startDate" : "2020-04-13",
"endDate" : "2021-05-15",
"workUnitName" : "TCP",
"materialDepositedTypeName" : "Paraffin-embedded Sections"
} ],
"statusTransition" : {
"actionToExecute" : null
}
}
Example Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 490
{
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/plans/PIN:0000000001/phenotypingStages/PSN:000000000001"
}
},
"history" : [ {
"id" : 1,
"user" : "gentar_test_user1@gentar.org",
"date" : "2024-12-12T11:52:54.221237187",
"comment" : "PhenotypingStage updated",
"details" : [ {
"field" : "phenotypingExperimentsStarted",
"oldValue" : "2020-02-24",
"newValue" : "2020-04-02",
"note" : "Field changed"
} ]
} ]
}
10. State Machine interaction
10.1. Structure
Several entities in GenTaR rely on a state machine to control the logic to change from one status to another. The state machines for these entities are described in the following document.
When you make a GET request to one of those entities, as part of the response you will receive a statusTransition section, which contains information about the current status and what actions can be executed in order to change that status.
"statusTransition" : {
"currentStatus" : "Founder Obtained",
"transitions" : [ {
"action" : "abortWhenFounderObtained",
"description" : "Abort the plan after a founder obtained",
"triggeredByUser" : true,
"available" : true,
"note" : null,
"nextStatus" : "AttemptAborted"
} ],
"actionToExecute" : null
Path | Type | Description |
---|---|---|
|
|
Information about the current state in the state machine for the plan. |
|
|
Current status in the plan |
|
|
Transitions in the state machine given the current state. |
|
|
Action or transition’s name. |
|
|
Transition’s description. |
|
|
Indicates whether the transition is executed by the user or by the system. |
|
|
Indicates if the transition can be executed at the moment. |
|
|
Additional explanation about the availability to execute the transition. |
|
|
Next status that the plan will have if the transition is executed. |
|
|
Name of the transition (action) to execute. |
10.2. Executing a change in the state machine
To execute a transition in the plan, you need to choose an action that is triggeredByUser = true and available = true and send a PUT request (as a normal plan update ) passing the name of the action as the value actionToExecute in the statusTransition section of the payload.
10.2.1. Example Request
Let’s suppose you want to abort a crispr plan that has the status Founder Obtained. If we do a GET to the plan we want to abort, you will see the statusTransition section with a single available transition executable by the user: abortWhenFounderObtained.
Use the name of the action (abortWhenFounderObtained) as the value in the field actionToExecute.
You can use the whole GET response as the payload for the new operation. You can also decide to send only the statusTransition information in the payload. The following is an example of a request where you decide to leave out the attempt information:
Curl: Unresolved directive in restapi.adoc - include::/usr/src/gentar/rest-api/target/generated-snippets/plans/putPlanStateMachine/http-request.adoc[]
10.2.2. Example Response
The response will indicate what has changed in the system, along with a link to the resource in case you need to retrieve the new object.
Unresolved directive in restapi.adoc - include::/usr/src/gentar/rest-api/target/generated-snippets/plans/putPlanStateMachine/http-response.adoc[]
11. Targrep Allele
11.1. Fields
These are the fields you are going to see in the body of a request in a GET operations.
Path | Type | Description |
---|---|---|
|
|
Public identifier for the Allele. READ ONLY |
|
|
Allele Assembly |
|
|
Allele Chromosome |
|
|
Allele Strand |
|
|
MGI Accession id |
|
|
Allele Cassette |
|
|
Allele Backbone |
|
|
Allele Project Design Id |
|
|
Allele Design Type Name |
|
|
Allele Subtype Description |
|
|
Allele Homology Arm Start |
|
|
Allele Homology Arm End |
|
|
Allele Cassette Start |
|
|
Allele Cassette End |
|
|
Allele Loxp Start |
|
|
Allele Loxp End |
|
|
Allele Cassette Type |
|
|
Allele Floxed Star Exon |
|
|
Allele Floxed End Exon |
|
|
Allele Design Subtype name |
|
|
Allele Link |
11.2. GET
11.2.1. Get all TargRepAlleles
This endpoint shows all the TargRep Alleles the user has permission to see.
Example Request
Curl:
$ curl 'http://localhost:8080/api/targ_rep/alleles' -i -X GET \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxNzcsImlhdCI6MTczNDAwNDM3NywianRpIjoiMWY3MjNlZWUtNzA4MC00ZDkyLWEyYTAtYzgzMGU0ZjgxYmFkIiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6IjhlMzJhZDE0LTQ3MDUtNDM4Ni1hZGVmLWUwZmQ4YzFlY2QzZSIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.RXcCXBkqpIAI6u0TTeqeiFGgcJif3n5U1Ueqw1VZb3QQTVFEqFkSvlrpjPj6AnhhQgXeT3p4Vp4iQy_WCeaoU3jwFiN0r5qjAKsZ8aR3CF4ADTDjpeSZMr3y4IbiMV9eiNxMpIHn6UqdvvNiubcEVY7FU8sgsaZnUid_Is5cQeyDoQ6ibJAJwfeWCTCuZcreQmUYZ082aykHd-v_bZSio9qsjJiB06j4zC7VDuV407gfhLlHhK7NuEQjIi4yK4R2jkOTw6QAmgATyV2jiub_OHINm0uudkI3lNavf4dVRhRO3EMiVX-ncsQ9L_6Zj__-HRXcT3OybVO0ERwNcaC7NQ'
Example Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Link:
Content-Type: application/hal+json
Content-Length: 1156
{
"_embedded" : {
"targrep_alleles" : [ {
"id" : 142,
"assembly" : "GRCm38",
"chromosome" : "5",
"strand" : null,
"cassette" : "L1L2_Bact_P",
"backbone" : "L3L4_pD223_DTA_T_spec",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/targ_rep/alleles/142"
}
},
"project_design_id" : 175471,
"design_type" : {
"name" : "Conditional Ready"
},
"design_subtype" : {
"name" : "Frameshift"
},
"subtype_description" : "",
"homology_arm_start" : 24427320,
"homology_arm_end" : 24416109,
"cassette_start" : 24421536,
"cassette_end" : 24421446,
"loxp_start" : 24420131,
"loxp_end" : 24420125,
"mgi_accession_id" : [ "MGI:4432925" ],
"cassette_type" : "Promotor Driven",
"floxed_start_exon" : "ENSMUSE00000183967",
"floxed_end_exon" : "ENSMUSE00000183963"
} ]
},
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/targ_rep/alleles"
}
},
"page" : {
"size" : 20,
"totalElements" : 1,
"totalPages" : 1,
"number" : 0
}
}
11.2.2. Get spesific TargRepAlleles by Id
This endpoint shows spesific TargRep Allele the user has permission to see.
Example Request
Curl:
$ curl 'http://localhost:8080/api/targ_rep/alleles/142' -i -X GET \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxNzcsImlhdCI6MTczNDAwNDM3NywianRpIjoiZWQ1YWZlY2YtOTUxZC00ZGMxLWJjODYtYTI3MWM1YjQ0OGJiIiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6ImZkNmFkMDYyLTRkNTUtNDhhZi1hNjYzLTQxMDA3YzlmNGQ3MyIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.AAabvYb6GPBGh1wWF9Jri8BJagd1mdjkRmlRreDjtryRi_91g5CRK05O3b20EeqrqjSoMMbnNsoTOKg6DlvYDnEiG380I1nDpU5j5nwbTiz8t3RvLR5fygxtEdVGOLVBdH6OcdyUAX160TIm52RalJY7atPUiU4JNaWiJ7wYbHuOw6lItwKflb0gSv06KSofIowyEqsKe-RLKJMlnUHpGlB0_Z8Oc5q5qG1E3P6kG1CGzADU4HvjmynqFtrS6uB-Nt8pu-wr2nMAccWLWz382gQO06A87n9MDKXyTomJ0tWhXzETYlASKPy3s5TuSYJTAzlUf3a1n2_3IOZOBX_S_w'
Example Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 782
{
"id" : 142,
"assembly" : "GRCm38",
"chromosome" : "5",
"strand" : null,
"cassette" : "L1L2_Bact_P",
"backbone" : "L3L4_pD223_DTA_T_spec",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/targ_rep/alleles/142"
}
},
"project_design_id" : 175471,
"design_type" : {
"name" : "Conditional Ready"
},
"design_subtype" : {
"name" : "Frameshift"
},
"subtype_description" : "",
"homology_arm_start" : 24427320,
"homology_arm_end" : 24416109,
"cassette_start" : 24421536,
"cassette_end" : 24421446,
"loxp_start" : 24420131,
"loxp_end" : 24420125,
"mgi_accession_id" : [ "MGI:4432925" ],
"cassette_type" : "Promotor Driven",
"floxed_start_exon" : "ENSMUSE00000183967",
"floxed_end_exon" : "ENSMUSE00000183963"
}
12. Targrep EsCell
12.1. Fields
These are the fields you are going to see in the body of a request in a GET operations.
Path | Type | Description |
---|---|---|
|
|
Public identifier for the EsCell. READ ONLY |
|
|
Public identifier for the Pipeline. READ ONLY |
|
|
Public identifier for the Allele. READ ONLY |
|
|
EsCell name |
|
|
Public identifier for the Targeting Vector. READ ONLY |
|
|
Parental Cell Line |
|
|
Public identifier for the IKMC Project. READ ONLY |
|
|
Public identifier for the MGI Allele Id. READ ONLY |
|
|
Allele Symbol Super Script |
|
|
Comment |
|
|
no information, always empty |
|
|
ndicates if EsCell will be reported to public |
|
|
Production Qc Five Prime Screen |
|
|
Production Qc Loss Of Allele |
|
|
Production Qc Loxp Screen |
|
|
Production Qc Three Prime Screen |
|
|
Production Qc Vector Integrity |
|
|
User Qc Comment |
|
|
User Qc Five Prime Cassette Integrity |
|
|
User Qc Five Prime LrPcr |
|
|
User Qc Karyotype |
|
|
User Qc Lacz Sr Pcr |
|
|
User Qc Loss Of Wt Allele |
|
|
User Qc Loxp Confirmation |
|
|
User Qc Map Test |
|
|
User Qc Mutant Specific Sr Pcr |
|
|
User Qc Neo Count Q pcr |
|
|
User Qc Neo Sr Pcr |
|
|
User Qc Southern Blot |
|
|
user Qc Three Prime Lr Pcr |
|
|
user Qc Tv Backbone Assay |
|
|
Distribution Qc Id |
|
|
Distribution Qc Karyotype High |
|
|
Distribution Qc Karyotype Low |
|
|
Distribution Qc Copy Number |
|
|
Distribution Qc Five Prime Lr Pcr |
|
|
Distribution Qc Five Prime Sr Pcr |
|
|
Distribution Qc Thawing |
|
|
Distribution Qc Three Prime Lr Pcr |
|
|
Distribution Qc Three Prime Sr Pcr |
|
|
Distribution Loa |
|
|
Distribution Loxp |
|
|
Distribution Lacz |
|
|
Distribution Chr1 |
|
|
Distribution Chr8a |
|
|
Distribution Chr8b |
|
|
Distribution Chr11a |
|
|
Distribution Chr11b |
|
|
Distribution Chry |
|
|
es Cell distribution id |
|
|
es Cell distribution name |
|
|
targRepEsCellDistributionProductList |
|
|
targRepEsCellDistributionProductList |
|
|
Distribution startDate |
|
|
Distribution endDate |
|
|
Distribution Identifier |
|
|
Pipeline Self Link |
|
|
targeting Vector Self Link |
|
|
Allele Self Link |
|
|
EsCell Self Link |
12.2. GET
12.2.1. Get All TargRepEssCell
This endpoint shows the All TargRep Es Cells the user has permission to see.
Example Request
Curl:
$ curl 'http://localhost:8080/api/targ_rep/es_cell' -i -X GET \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxNzgsImlhdCI6MTczNDAwNDM3OCwianRpIjoiNzgxYjhjZmQtYjRmZC00YjIyLTkzZDgtNDI5NWY5MjViNzczIiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6ImY2ZDJhY2ZiLTQxN2UtNDU2Ny1hOTYxLWIyMjgyY2U2OWJlMyIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.NH6riz0lyI6In1shXzeB_T7TOrpBAq-POt8MgonSnZRhE_t4QQ2iSBIr5NwyA9gJ7GVSM5c0TsoEpkwotaYhDVDBlYrhwqsWHAVy3zvAqAwYbm0-Q-uuvruGad2buZxSnc2LA0dyQX8BRD2ZMAbhHCWx_rqG_ZCN9yxXL5ruGeIlZUBVfrjX4lV4EnVlOGiwCsdUjLhv381T2Z7BokW8myQlFeDpYmVIXAcefmRRTAvowfdriICz6JE9O-w8TTNdWCb6kxNmTdJteTEOZ0dq8LZxdtrROv4EeuaudeQhe1iWKAzsj4G_aHOnk4wmvZdpCp1nLxAsjtNInu9-ZJZKvw'
Example Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Link:
Content-Type: application/hal+json
Content-Length: 2730
{
"_embedded" : {
"targrep_es_cells" : [ {
"id" : 14210,
"pipelineId" : 4,
"alleleId" : 142,
"name" : "EPD0045_1_A11",
"targetingVectorId" : 158,
"parentalCellLine" : "JM8.N4",
"ikmcProjectId" : "41713",
"mgiAlleleId" : null,
"alleleSymbolSuperscript" : null,
"comment" : "",
"contact" : null,
"reportToPublic" : true,
"productionQcFivePrimeScreen" : "pass",
"productionQcLossOfAllele" : "pass",
"productionQcLoxpScreen" : "pass",
"productionQcThreePrimeScreen" : "not confirmed",
"productionQcVectorIntegrity" : "pass",
"userQcComment" : "pass",
"userQcFivePrimeCassetteIntegrity" : "pass",
"userQcFivePrimeLrPcr" : "pass",
"userQcKaryotype" : "pass",
"userQcLaczSrPcr" : "pass",
"userQcLossOfWtAllele" : "pass",
"userQcLoxpConfirmation" : "pass",
"userQcMapTest" : "pass",
"userQcMutantSpecificSrPcr" : "pass",
"userQcNeoCountQpcr" : "pass",
"userQcNeoSrPcr" : "pass",
"userQcSouthernBlot" : "pass",
"userQcThreePrimeLrPcr" : "pass",
"userQcTvBackboneAssay" : "pass",
"targRepDistributionQcList" : [ {
"karyotypeHigh" : 0.4,
"karyotypeLow" : 0.31,
"copyNumber" : "pass",
"fivePrimeLrPcr" : "pass",
"fivePrimeSrPcr" : "pass",
"thawing" : "pass",
"threePrimeLrPcr" : null,
"threePrimeSrPcr" : "pass",
"loa" : "pass",
"loxp" : "pass",
"lacz" : "pass",
"chr1" : "pass",
"chr8a" : "pass",
"chr8b" : "pass",
"chr11a" : "pass",
"chr11b" : "pass",
"chry" : "pass",
"esCellDistributionCentre" : {
"id" : 2,
"name" : "KOMP"
},
"id" : 2967
} ],
"targRepEsCellDistributionProductList" : [ {
"distributionNetworkName" : "MMRRC",
"startDate" : "2018-04-19",
"endDate" : "2018-04-19",
"distributionIdentifier" : "RRID:MMRRC_048962-UCDT"
} ],
"_links" : {
"pipeline" : [ {
"href" : "http://localhost:8080/api/targ_rep/pipelines/4"
} ],
"allele" : [ {
"href" : "http://localhost:8080/api/targ_rep/alleles/142"
} ],
"targeting_vector" : [ {
"href" : "http://localhost:8080/api/targ_rep/targeting_vectors/158"
} ],
"self" : {
"href" : "http://localhost:8080/api/targ_rep/es_cell/14210"
}
}
} ]
},
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/targ_rep/es_cell"
}
},
"page" : {
"size" : 20,
"totalElements" : 1,
"totalPages" : 1,
"number" : 0
}
}
12.2.2. Get specific TargRepEsCell by Id
This endpoint shows specific TargRep es cell by id the user has permission to see.
Example Request
Curl:
$ curl 'http://localhost:8080/api/targ_rep/es_cell/14210' -i -X GET \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxNzgsImlhdCI6MTczNDAwNDM3OCwianRpIjoiODdkZWNjNzUtMmYxMS00ZGE2LThhODctZmQ1YmZiNGJhOWI5IiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6ImFhYjYxZDNiLTU4ZjUtNDgyYS04OGVmLThhN2FiNjMwMjMxNiIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.IEnrkx3ZpKgd2M6U7cp2RyF1Ra-51vFcavesdn6DKXp7rwDk8_9bLXICiQv5CRWmaHTsIFquulXGyTpszfurQzKKK9qt8Nqflzk5e4ErAIrhYUyc1BiSi6bc4QpprqH9GLVXc0an2JXwi-spl_jHKZShbJtHN7L16tDFlS5G0Bn1WkVOKxojfm7QsCzcNzRHIFPv8c7fYkWz6yfusYDCGjYgWt7KnraRts3-gc9PrqSuREPRr-k9u4zB1Ivq9Y2vPRCOt23ALOnoWm4KEjOhE1SLyinZm--F-QzJpT1uz4rCNS_6eBao6A8kqfgMQEFhLAYr2NJbv4oacTHYr_PNSg'
Example Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 2171
{
"id" : 14210,
"pipelineId" : 4,
"alleleId" : 142,
"name" : "EPD0045_1_A11",
"targetingVectorId" : 158,
"parentalCellLine" : "JM8.N4",
"ikmcProjectId" : "41713",
"mgiAlleleId" : null,
"alleleSymbolSuperscript" : null,
"comment" : "",
"contact" : null,
"reportToPublic" : true,
"productionQcFivePrimeScreen" : "pass",
"productionQcLossOfAllele" : "pass",
"productionQcLoxpScreen" : "pass",
"productionQcThreePrimeScreen" : "not confirmed",
"productionQcVectorIntegrity" : "pass",
"userQcComment" : "pass",
"userQcFivePrimeCassetteIntegrity" : "pass",
"userQcFivePrimeLrPcr" : "pass",
"userQcKaryotype" : "pass",
"userQcLaczSrPcr" : "pass",
"userQcLossOfWtAllele" : "pass",
"userQcLoxpConfirmation" : "pass",
"userQcMapTest" : "pass",
"userQcMutantSpecificSrPcr" : "pass",
"userQcNeoCountQpcr" : "pass",
"userQcNeoSrPcr" : "pass",
"userQcSouthernBlot" : "pass",
"userQcThreePrimeLrPcr" : "pass",
"userQcTvBackboneAssay" : "pass",
"targRepDistributionQcList" : [ {
"karyotypeHigh" : 0.4,
"karyotypeLow" : 0.31,
"copyNumber" : "pass",
"fivePrimeLrPcr" : "pass",
"fivePrimeSrPcr" : "pass",
"thawing" : "pass",
"threePrimeLrPcr" : null,
"threePrimeSrPcr" : "pass",
"loa" : "pass",
"loxp" : "pass",
"lacz" : "pass",
"chr1" : "pass",
"chr8a" : "pass",
"chr8b" : "pass",
"chr11a" : "pass",
"chr11b" : "pass",
"chry" : "pass",
"esCellDistributionCentre" : {
"id" : 2,
"name" : "KOMP"
},
"id" : 2967
} ],
"targRepEsCellDistributionProductList" : [ {
"distributionNetworkName" : "MMRRC",
"startDate" : "2018-04-19",
"endDate" : "2018-04-19",
"distributionIdentifier" : "RRID:MMRRC_048962-UCDT"
} ],
"_links" : {
"pipeline" : [ {
"href" : "http://localhost:8080/api/targ_rep/pipelines/4"
} ],
"allele" : [ {
"href" : "http://localhost:8080/api/targ_rep/alleles/142"
} ],
"targeting_vector" : [ {
"href" : "http://localhost:8080/api/targ_rep/targeting_vectors/158"
} ],
"self" : {
"href" : "http://localhost:8080/api/targ_rep/es_cell/14210"
}
}
}
12.2.3. Get specific TargRepEsCell by Gene
This endpoint shows specific TargRep es cell by gene symbol the user has permission to see.
Example Request
Curl:
$ curl 'http://localhost:8080/api/targ_rep/es_cell_by_symbol/Spanxn4' -i -X GET \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxNzgsImlhdCI6MTczNDAwNDM3OCwianRpIjoiYmQ2ODRiYjctMmVlOC00M2Q5LWIwNmMtYTBhNTNhZGI4NDY5IiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6ImU0YzBmNWNmLTAwNjQtNDMzMi1hMGMxLWEyNTgzNzQ1OGYzZSIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.dYGct42ULV5EcxONVSR6PhwZOqJZnMhlr5bwsnx_Syhu0opl3kMq-WH5uyICNnt9hynWqjH2341iI_LFZ0UzGL9qcCKrAdZqfpCYr0iZxtI9FsUd5wTif4A9L6ZEcqddFAMTUT5MLD84jLIhhFen23ejUlZb9ZV2u5f9CMnBlydQFGALUsoE30I22ddZje0mNukMZIlrEWgRa43LH2s4iJ_h8C9eg7UxOoANWFNaSpmQzSGX4PFHcGLIF1SjSKzoSualxrVyS1mAn4lF20fF17U1at8xiTR6MziIX6nxn1lE2AdfcnxT5Sf9E5vxrQ8lM5stKOuA1vUdXyVtZXj3fw'
Example Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 63
[ {
"name" : "EPD0045_1_A11",
"pipelineName" : "EUCOMM"
} ]
12.2.4. Get specific TargRepEsCell by name
This endpoint shows specific TargRep es cell by name the user has permission to see.
Example Request
Curl:
$ curl 'http://localhost:8080/api/targ_rep/es_cell_by_name/EPD0045_1_A11' -i -X GET \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxNzgsImlhdCI6MTczNDAwNDM3OCwianRpIjoiMjkzMzYzYjAtNmRlYi00MGMxLWEzNzMtZjUyOTczNzc1ZWIwIiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6ImNjNzJkYTk5LTYzODktNDViNi1hYmQ4LTc3OTNiMGVjNmJmMCIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.HGWpUH27rZXi6EZo1F-a6RFc_67-HVwdPf_-_sJ6fJ15p0EWqR9TBVvVqVgJ62nwkDabJrCiBZqT3EWgKwj9L2BRTpCp8oXIqWDq0C33GOO4HhztAKxgsOdHTsUQnd2l_ymVevvPKppOI6Q_rD7XIz0GYQAoQy42Hc_3mfOR_3xgPB-YdzU6bO5uD43QJrVa2paQhERyhIPHQ6qMLvBP5NUMyP66XbA1pXZ97mE7AGEW3IlzGNRV-isbUHeSfHTS8hr9b4f9dOtM0oB0qfobSMn07G2hzXATVF78ZdoHXCEpCqAb0ZA2zeKpNbxQ0_HPHzAO9tFM2ckzm2Pepkdy9Q'
Example Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 59
{
"name" : "EPD0045_1_A11",
"pipelineName" : "EUCOMM"
}
13. Targrep pipeline
13.1. Fields
These are the fields you are going to see in the body of a request in a GET operations.
Path | Type | Description |
---|---|---|
|
|
Public identifier for the Pipeline. READ ONLY |
|
|
Pipeline name |
|
|
Pipeline description. |
|
|
Indicates if pipeline will be reported to public |
|
|
generic transcriptome analysis pipeline |
|
|
Pipeline Link |
13.2. GET
13.2.1. Get All TargRepPipeline
This endpoint shows the specific TargRep Pipeline the user has permission to see.
Example Request
Curl:
$ curl 'http://localhost:8080/api/targ_rep/pipelines' -i -X GET \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxNzksImlhdCI6MTczNDAwNDM3OSwianRpIjoiMGM1OGZjYzgtMDRkNi00YzM4LTliNmEtY2VmZTVmZjZjNGJmIiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6ImRlY2E3OGZlLTdmMzAtNGU0Yi04MGEzLThkMzMxNWIxZGNiNyIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.e5P_30-tYlsOilq8RCs4FTsIBrfMebRF-_lS32qHGuXKuOqob_9EXzkVPUCPs3CC8T08308Kn5yc8bFHoFIUzilM0AkpmHfTFXPAfkVNyAbWkdD4H1IWABvxoFNUeyxZN_Qd-y-Fyc5EZ8H3WJVgEx8WM-cToUPc5rEPY9kwAuF3lphvAzWC8j78IAsjxckzA3viqiZlGjLlT0qhsNcUzRcvuxPiek6isnibel9HamO3seFCoONcViQQBSQuIRgs6gQUcnhDZ0-ddCFyGtxvh9YgSqEXj-ZEtENKu23Y1Nih0sMrOJ5PYlYV2P0Ux9mNv4hVV02pF1yJF1ieWii0dA'
Example Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Link:
Content-Type: application/hal+json
Content-Length: 529
{
"_embedded" : {
"targrep_pipelines" : [ {
"id" : 4,
"name" : "EUCOMM",
"description" : "EUCOMM consortia",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/targ_rep/pipelines/4"
}
},
"geneTrap" : false,
"reportToPublic" : true
} ]
},
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/targ_rep/pipelines"
}
},
"page" : {
"size" : 20,
"totalElements" : 1,
"totalPages" : 1,
"number" : 0
}
}
13.2.2. Get specific TargRepPipeline by Id
This endpoint shows specific TargRep Pipeline the user has permission to see.
Example Request
Curl:
$ curl 'http://localhost:8080/api/targ_rep/pipelines/4' -i -X GET \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxNzksImlhdCI6MTczNDAwNDM3OSwianRpIjoiMjY2N2MwOWEtNWE0YS00ODNjLTlmMzgtYzc3NThkNjVkNGEyIiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6IjVlNDNkOWFlLTQzYWItNDUwNS1iYzMzLTFkOGEwNjgxMTRmOCIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.XxjSAMubeeYGLvU1frfnhrtP2A-hWkCVFQZmabte2jrJH5yHxu1Vv3Pic1934-bhuVeMZtO-uTvPn63tI4HpCPcJ6Gc1o9ijeorHKyM6xLzUw9qa8qePoJNtqKgJzqs8EraE2LqdiyD--oxVw9IZEI3j4-o_ffq4o9lx9gqAWYwh-aRK_aaMe8negx4HV1V-IpL6UELQ_qLifzF481SvTKG_22ulzYyHmwrjKScG13ZEFqCuyTrnGfmN9Pk_1vhvAMzAJW9l8-Ol0f1ybN7-SYcFEX_s6392F5xVEOBv4Qx6_zqyr-3Ib_ufT36vj0LxITnX57VnpO2ocIBdTIXYBw'
Example Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 227
{
"id" : 4,
"name" : "EUCOMM",
"description" : "EUCOMM consortia",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/targ_rep/pipelines/4"
}
},
"geneTrap" : false,
"reportToPublic" : true
}
14. Targrep Targeting Vector
14.1. Fields
These are the fields you are going to see in the body of a request in a GET operations.
Path | Type | Description |
---|---|---|
|
|
Public identifier for the Targeting Vector. READ ONLY |
|
|
Targeting vector fields name |
|
|
Intermediate vector |
|
|
Indicates if TargetingVector will be reported to public |
|
|
IKMC project mame |
|
|
MGI Allele Name Prediction |
|
|
Production Centre Auto Update |
|
|
Allele type prediction |
|
|
IKMC Project |
|
|
Targeting vektor Self Link |
|
|
id. READ ONLY |
|
|
Pipeline name |
|
|
Pipeline description. |
|
|
Indicates if pipeline will be reported to public |
|
|
generic transcriptome analysis pipeline |
|
|
Pipeline Self Link |
|
|
id. READ ONLY. |
|
|
Allele Assembly |
|
|
Allele Chromosome |
|
|
Allele Strand |
|
|
MGI Accession id |
|
|
Allele Cassette |
|
|
Allele Backbone |
|
|
Allele Project Design Id |
|
|
Allele Design Type Name |
|
|
Allele Subtype Description |
|
|
Allele Homology Arm Start |
|
|
Allele Homology Arm End |
|
|
Allele Cassette Start |
|
|
Allele Cassette End |
|
|
Allele Loxp Start |
|
|
Allele Loxp End |
|
|
Allele Cassette Type |
|
|
Allele Floxed Star Exon |
|
|
Allele Floxed End Exon |
|
|
Allele Design Subtype |
|
|
Allele Self Link |
|
|
id. READ ONLY |
|
|
Pipeline name |
|
|
Pipeline description. |
|
|
Indicates if pipeline will be reported to public |
|
|
targRepEsCellDistributionProductList |
|
|
targRepEsCellDistributionProductList |
|
|
Distribution startDate |
|
|
Distribution endDate |
|
|
Distribution Identifier |
14.2. GET
14.2.1. Get All TargRepTargetingVector
This endpoint shows the specific TargRep targeting vector the user has permission to see.
Example Request
Curl:
$ curl 'http://localhost:8080/api/targ_rep/targeting_vectors' -i -X GET \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxNzksImlhdCI6MTczNDAwNDM3OSwianRpIjoiODc5ZmE1ZjAtMGVhZi00NjU3LThjODUtN2VlODgzZTE3YWEwIiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6IjYyMzZhNmI4LTQ5MmEtNGZjYy04YWM0LTNlNDQ1ZjZjOTViMCIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.gj9jRTlLjXFzUce_ygWoUc7zFWCxm-DOb_xbT60HuEhHh5ioTvpiBYP3LVcVtLJl7zltNIdYpGcnYGba8i8AUEyyNGhbI-F62gOuhxhfjcPM4Gh8xL5j1zgr3TD_MMqRrSI_nFnLRZwq8BZSwIppCyi3jtj4QD7dBOW169aFdmzmJoukHvTBqJOx-VEvexyNU7hYuAREb8IERL15jzyXJ1S-oHzV7JJdz04sTjUjQuKyDQs7fcpdRfrk6mcngRyuxJfbWYsRE5GZJhkrTo6FtA0e1i0IzmA7gFUbtfskr08zEUQOV32psWPcDbcCAIq7Yu49_u-lOkosIOXNR5eX6w'
Example Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Link:
Content-Type: application/hal+json
Content-Length: 2386
{
"_embedded" : {
"targrep_targeting_vectors" : [ {
"id" : 158,
"name" : "PG00138_Y_5_B05",
"intermediateVector" : "PCS00073_A_H01",
"reportToPublic" : true,
"ikmcProjectName" : "41713",
"allele" : {
"id" : 142,
"assembly" : "GRCm38",
"chromosome" : "5",
"strand" : "-",
"cassette" : "L1L2_Bact_P",
"backbone" : "L3L4_pD223_DTA_T_spec",
"_links" : {
"allele" : [ {
"href" : "http://localhost:8080/api/targ_rep/alleles/142"
} ]
},
"project_design_id" : 175471,
"design_type" : {
"name" : "Conditional Ready"
},
"design_subtype" : {
"name" : "Frameshift"
},
"subtype_description" : "",
"homology_arm_start" : 24427320,
"homology_arm_end" : 24416109,
"cassette_start" : 24421536,
"cassette_end" : 24421446,
"loxp_start" : 24420131,
"loxp_end" : 24420125,
"mgi_accession_id" : null,
"cassette_type" : "Promotor Driven",
"floxed_start_exon" : "ENSMUSE00000183967",
"floxed_end_exon" : "ENSMUSE00000183963"
},
"pipeline" : {
"id" : 4,
"name" : "EUCOMM",
"description" : "EUCOMM consortia",
"_links" : {
"pipeline" : [ {
"href" : "http://localhost:8080/api/targ_rep/pipelines/4"
} ]
},
"geneTrap" : false,
"reportToPublic" : true
},
"mgiAlleleNamePrediction" : "tm1a(EUCOMM)Wtsi",
"productionCentreAutoUpdate" : null,
"alleleTypePrediction" : "a",
"targRepTargetingVectorDistributionProductList" : [ {
"distributionNetworkName" : "MMRRC",
"startDate" : "2018-04-19",
"endDate" : "2018-04-19",
"distributionIdentifier" : "RRID:MMRRC_048962-UCDT"
} ],
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/targ_rep/targeting_vectors/158"
}
},
"ikmc_project" : {
"id" : null,
"name" : null,
"status" : null,
"pipeline_id" : null
}
} ]
},
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/targ_rep/targeting_vectors"
}
},
"page" : {
"size" : 20,
"totalElements" : 1,
"totalPages" : 1,
"number" : 0
}
}
14.2.2. Get specific TargRepTargetingVector by Id
This endpoint shows specific TargRep targeting vector the user has permission to see.
Example Request
Curl:
$ curl 'http://localhost:8080/api/targ_rep/targeting_vectors/158' -i -X GET \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJyWmhlanFhTHRxbjA4djVzQm91RnlHcV9SWml6dWk3b2xqQjdPWVVqZFdBIn0.eyJleHAiOjE3MzQwMTUxNzksImlhdCI6MTczNDAwNDM3OSwianRpIjoiOWNiOTViZGMtYjQwOC00NTlmLWFmYWMtNTY4YjkzZDkxNDMwIiwiaXNzIjoiaHR0cHM6Ly93d3cuZWJpLmFjLnVrL21pL2tleWNsb2FrL3JlYWxtcy9nZW50YXIiLCJhdWQiOlsicmVhbG0tbWFuYWdlbWVudCIsImFjY291bnQiXSwic3ViIjoiZjQxODA1NWUtZGM3Yi00YmVkLWE2M2UtNDUzOTkxZTZhODk3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZ2VudGFyLWFwaSIsInNpZCI6IjcyM2IxZmMzLWQzNTctNDExZC1iMWMzLTFlNTkzMjhhODQwNSIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJkZWZhdWx0LXJvbGVzLWdlbnRhciIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJnZW50YXItYXBpIjp7InJvbGVzIjpbImNsaWVudF9hZG1pbiJdfSwicmVhbG0tbWFuYWdlbWVudCI6eyJyb2xlcyI6WyJ2aWV3LXJlYWxtIiwibWFuYWdlLXVzZXJzIiwidmlldy11c2VycyIsInF1ZXJ5LWdyb3VwcyIsInF1ZXJ5LXVzZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6ImdlbnRhcl90ZXN0IGdlbnRhcl90ZXN0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VudGFyX3Rlc3RfdXNlcjFAZ2VudGFyLm9yZyIsImdpdmVuX25hbWUiOiJnZW50YXJfdGVzdCIsImZhbWlseV9uYW1lIjoiZ2VudGFyX3Rlc3QiLCJlbWFpbCI6ImdlbnRhcl90ZXN0X3VzZXIxQGdlbnRhci5vcmcifQ.AYQ1tnWzLV5gqwF0hz1ZNQoLVK0siJO6k9H9jaDOCcu6WGhx-vy0ebROQ8vmb3oXgyz1p0YcS_QcYFeBR6Y1iBdqQy0r1iUWO-NdQ6ThVmg-aqhVteaBEk_0bI9PKvSb3Q19mlokuH8gPUhmQbZeqa44PbQlhGKo-Zf4yO4ZVKALyQx8YshdTzWL6JqST2w9EjFv8lYqtAHDcJee6VHaEjKz27_-DPOiYmpNbD--o_dfbW_kLnDxtD1wQ77I1BjanfI_C3nfDcNcVXu_AOp8WJIo1gqAo68ahWk8wPFcXKZ94W-3YoFqMhEm8NN309L82q3mQE4gQnaEPHkX5iE1CA'
Example Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 1836
{
"id" : 158,
"name" : "PG00138_Y_5_B05",
"intermediateVector" : "PCS00073_A_H01",
"reportToPublic" : true,
"ikmcProjectName" : "41713",
"allele" : {
"id" : 142,
"assembly" : "GRCm38",
"chromosome" : "5",
"strand" : "-",
"cassette" : "L1L2_Bact_P",
"backbone" : "L3L4_pD223_DTA_T_spec",
"_links" : {
"allele" : [ {
"href" : "http://localhost:8080/api/targ_rep/alleles/142"
} ]
},
"project_design_id" : 175471,
"design_type" : {
"name" : "Conditional Ready"
},
"design_subtype" : {
"name" : "Frameshift"
},
"subtype_description" : "",
"homology_arm_start" : 24427320,
"homology_arm_end" : 24416109,
"cassette_start" : 24421536,
"cassette_end" : 24421446,
"loxp_start" : 24420131,
"loxp_end" : 24420125,
"mgi_accession_id" : null,
"cassette_type" : "Promotor Driven",
"floxed_start_exon" : "ENSMUSE00000183967",
"floxed_end_exon" : "ENSMUSE00000183963"
},
"pipeline" : {
"id" : 4,
"name" : "EUCOMM",
"description" : "EUCOMM consortia",
"_links" : {
"pipeline" : [ {
"href" : "http://localhost:8080/api/targ_rep/pipelines/4"
} ]
},
"geneTrap" : false,
"reportToPublic" : true
},
"mgiAlleleNamePrediction" : "tm1a(EUCOMM)Wtsi",
"productionCentreAutoUpdate" : null,
"alleleTypePrediction" : "a",
"targRepTargetingVectorDistributionProductList" : [ {
"distributionNetworkName" : "MMRRC",
"startDate" : "2018-04-19",
"endDate" : "2018-04-19",
"distributionIdentifier" : "RRID:MMRRC_048962-UCDT"
} ],
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/targ_rep/targeting_vectors/158"
}
},
"ikmc_project" : {
"id" : null,
"name" : null,
"status" : null,
"pipeline_id" : null
}
}
15. Lastest updates
-
2021-06-25: - Added the field esCellQcOnly to the Project entity to support projects that only relate to ES Cell QC.
-
Added documentation on the fields present in ES cell production plans.
-
Add documentation on the fields present in ES cell allele modification production plans.
-
Updated the state_machine_transitions document.
-
GET requests for ES cell and ES cell allele modification production plans are supported on the GenTaR Sandbox test database.
-
-
2021-02-24: Add two new filters to projects. One for production colony names and one for phenotyping external references.
-
2021-01-26: Phenotyping Stage state machine: The rollbackPhenotypingAllDataProcessed action used by the DCC now moves the PhenotypingAllDataProcessed state to PhenotypingAllDataSent rather than PhenotypingStarted.
-
2020-11-30: New filter 'doNotCountTowardsCompleteness' added for phenotyping plans.
-
2021-10-04: The 'species' field have been removed from project object.
-
2021-10-04: The 'funders' field in plans can be updated after plan created.
-
2021-10-04: The creAlleleModificationAttempt object have been renamed to eSCellAlleleModificationAttempt.
-
2021-10-04: Two legacy fields have been added to the esCellAlleleModificationAttempt object: 'imitsMouseAlleleModId' and 'imitsTargRepAlleleId'. They will be read_only and only be there is the data was migrated from iMits.
-
2021-10-04: Three legacy fields have been added to the phenotypingAttemptResponse object: 'imitsPhenotypeAttemptId', 'imitsPhenotypingProductionId' and 'imitsParentColonyId'. They will be read_only and only be there is the data was migrated from iMits.
-
2021-10-04: The legacy field 'imitsAllele' in mutation object has been renamed to 'imitsAlleleId' for consistency. It will be read_only and only be there is the data was migrated from iMits.
-
2023-08-01: QcNote filed added to mutation table
-
2023-10-14: GLT Production Numbers Reports added
-
2024-01-20: Development of a new attempt type within GenTar, termed "CRISPR Allele Modification."
-
2024-02-05: Adding GID (Guide ID) to the guide system
-
2024-02-20: Adition of RRIDs to the API endpoints for the Targ Rep targeting vector and ES cell data.