Miroculus pipeline components
- Move to ARM mode in azure-cli (It will automatically be set to deploy in your default subscription)
- Create a new resource group
- Create a new parameters.prod.private.json file with the relevant values for deployment
- Run deployment
azure config mode arm
azure group create -n resource-group-name -l "West US"
azure group deployment create -f AzureDeployment\Templates\azuredeploy.json -e AzureDeployment\Templates\parameters.prod.private.json resource-group-name deployment-name
Run tests by running
npm test
- Push the following message to the trigger queue to initiate a new check
{
"requestType": "trigger"
}
- If you want to specify a date range to check documents, use the following format
{
"requestType": "trigger",
"data": {
"from": "2014-02-01",
"to": "2014-02-14"
}
}
- Get Ids of new documents from both pmc and pubmed databases
- Filter new Ids using filtering stored procedure
- Push all Ids to queue
{
"requestType": "getDocument",
"data": {
"docId": "docId",
"sourceId": "pmc"
}
}
- Get item from queue
- Insert document record to db with status Processing
- Fetch document
- Split to sentences, do some processing
- push sentences to scoring queue
{
"requestType": "score",
"data": {
"sourceId": 1,
"docId": "docId",
"sentenceIndex": 1,
"modelVersion": "0.1.0.1",
"sentence": "the sentence text...",
"relations": [
{
"entity1": {
"typeId": 2,
"name": "mirnaX"
},
"entity2": {
"typeId": 1,
"name": "geneY"
},
"relation": 2,
"score": 0.56
},
{
"entity1": {
"typeId": 2,
"name": "mirnaX1"
},
"entity2": {
"typeId": 1,
"name": "geneY1"
},
"relation": 2,
"score": 0.26
},
{
"entity1": {
"typeId": 2,
"name": "mirnaX2"
},
"entity2": {
"typeId": 1,
"name": "geneY2"
},
"relation": 3,
"score": 0.50
}
]
}
}
- Change document status to Scoring
- Delete item from queue
a. Get items from scoring queue b. Score and insert sentences to DB c. Delete items from queue d. Update document status to Processed