... | @@ -14,7 +14,8 @@ Assertion API endpoint for computing variant pathogenicity given a set of eviden |
... | @@ -14,7 +14,8 @@ Assertion API endpoint for computing variant pathogenicity given a set of eviden |
|
>
|
|
>
|
|
> ```plaintext
|
|
> ```plaintext
|
|
> let payload = {
|
|
> let payload = {
|
|
> cspecRuleSetUrl: 'https://cspec.genome.network/cspec/RuleSet/id/643243101',
|
|
> cspecRuleSetUrl: 'https://cspec.genome.network/cspec/RuleSet/id/643243101',
|
|
|
|
> // A specific ruleset defined by DICER1 and miRNA-Processing Gene Variant Curation Expert Panel - https://clinicalgenome.org/affiliation/50050
|
|
> evidence: {
|
|
> evidence: {
|
|
> 'Pathogenic.Moderate': 2,
|
|
> 'Pathogenic.Moderate': 2,
|
|
> 'Pathogenic.Strong': 1,
|
|
> 'Pathogenic.Strong': 1,
|
... | @@ -23,118 +24,120 @@ Assertion API endpoint for computing variant pathogenicity given a set of eviden |
... | @@ -23,118 +24,120 @@ Assertion API endpoint for computing variant pathogenicity given a set of eviden |
|
> }
|
|
> }
|
|
> }
|
|
> }
|
|
> ```
|
|
> ```
|
|
|
|
>
|
|
> Example of how the route works:
|
|
> Example of how the route works:
|
|
|
|
|
|
```plaintext
|
|
> ```plaintext
|
|
const SimpleJsonReq = require( "@brl/brl-gb/client/simple/simpleJsonReq" ).SimpleJsonReq
|
|
> const SimpleJsonReq = require( "@brl/brl-gb/client/simple/simpleJsonReq" ).SimpleJsonReq
|
|
let baseUrl = "https://cspec.genome.network/cspec/eng/svi"
|
|
> let baseUrl = "https://cspec.genome.network/cspec/eng/svi"
|
|
let clientOpts = { timeout: 600000 }
|
|
> let clientOpts = { timeout: 600000 }
|
|
let jsClient = undefined
|
|
> let jsClient = undefined
|
|
let resp = undefined
|
|
> let resp = undefined
|
|
jsClient = new SimpleJsonReq( baseUrl, clientOpts )
|
|
> jsClient = new SimpleJsonReq( baseUrl, clientOpts )
|
|
let reqConfig = {
|
|
> let reqConfig = {
|
|
serverCertCheck : false,
|
|
> serverCertCheck : false,
|
|
data: payload
|
|
> data: payload
|
|
}
|
|
> }
|
|
resp = await jsClient.doGet('/assertion', reqConfig)
|
|
> resp = await jsClient.doGet('/assertion', reqConfig)
|
|
> console.log(global.brl.insp(global.brl.dot.pick('data', resp.data)))
|
|
> console.log(global.brl.insp(global.brl.dot.pick('data', resp.data)))
|
|
{
|
|
> {
|
|
comment: 'Two assertions: Pathogenic and Likely Pathogenic were made. In such case ' +
|
|
> comment: 'Two assertions: Pathogenic and Likely Pathogenic were made. In such case ' +
|
|
'the final call is the highest strength call, hence the allele is ' +
|
|
> 'the final call is the highest strength call, hence the allele is ' +
|
|
'Pathogenic',
|
|
> 'Pathogenic',
|
|
finalCall: 'Pathogenic',
|
|
> finalCall: 'Pathogenic',
|
|
rules: [
|
|
> rules: [
|
|
{
|
|
> {
|
|
conditions: [
|
|
> conditions: [
|
|
{
|
|
> {
|
|
applicableCriteriaCodes: [
|
|
> applicableCriteriaCodes: [
|
|
'PVS1',
|
|
> 'PVS1',
|
|
'PS2_Very Strong'
|
|
> 'PS2_Very Strong'
|
|
],
|
|
> ],
|
|
condition: '==1',
|
|
> condition: '==1',
|
|
label: 'Rule1, Condition1',
|
|
> label: 'Rule1, Condition1',
|
|
partitionPath: 'Pathogenic.Very Strong'
|
|
> partitionPath: 'Pathogenic.Very Strong'
|
|
},
|
|
> },
|
|
{
|
|
> {
|
|
applicableCriteriaCodes: [
|
|
> applicableCriteriaCodes: [
|
|
'PS1',
|
|
> 'PS1',
|
|
'PS2',
|
|
> 'PS2',
|
|
'PS3',
|
|
> 'PS3',
|
|
'PS4',
|
|
> 'PS4',
|
|
'PP1_Strong'
|
|
> 'PP1_Strong'
|
|
],
|
|
> ],
|
|
condition: '>=1',
|
|
> condition: '>=1',
|
|
label: 'Rule1, Condition2',
|
|
> label: 'Rule1, Condition2',
|
|
partitionPath: 'Pathogenic.Strong'
|
|
> partitionPath: 'Pathogenic.Strong'
|
|
}
|
|
> }
|
|
],
|
|
> ],
|
|
inference: 'Pathogenic',
|
|
> inference: 'Pathogenic',
|
|
rule: 'Rule1'
|
|
> rule: 'Rule1'
|
|
},
|
|
> },
|
|
{
|
|
> {
|
|
conditions: [
|
|
> conditions: [
|
|
{
|
|
> {
|
|
applicableCriteriaCodes: [
|
|
> applicableCriteriaCodes: [
|
|
'PVS1',
|
|
> 'PVS1',
|
|
'PS2_Very Strong'
|
|
> 'PS2_Very Strong'
|
|
],
|
|
> ],
|
|
condition: '==1',
|
|
> condition: '==1',
|
|
label: 'Rule2, Condition1',
|
|
> label: 'Rule2, Condition1',
|
|
partitionPath: 'Pathogenic.Very Strong'
|
|
> partitionPath: 'Pathogenic.Very Strong'
|
|
},
|
|
> },
|
|
{
|
|
> {
|
|
applicableCriteriaCodes: [
|
|
> applicableCriteriaCodes: [
|
|
'PS2_Moderate',
|
|
> 'PS2_Moderate',
|
|
'PS3_Moderate',
|
|
> 'PS3_Moderate',
|
|
'PS4_Moderate',
|
|
> 'PS4_Moderate',
|
|
'PM1',
|
|
> 'PM1',
|
|
'PM4',
|
|
> 'PM4',
|
|
'PM5',
|
|
> 'PM5',
|
|
'PP1_Moderate'
|
|
> 'PP1_Moderate'
|
|
],
|
|
> ],
|
|
condition: '>=2',
|
|
> condition: '>=2',
|
|
label: 'Rule2, Condition2',
|
|
> label: 'Rule2, Condition2',
|
|
partitionPath: 'Pathogenic.Moderate'
|
|
> partitionPath: 'Pathogenic.Moderate'
|
|
}
|
|
> }
|
|
],
|
|
> ],
|
|
inference: 'Pathogenic',
|
|
> inference: 'Pathogenic',
|
|
rule: 'Rule2'
|
|
> rule: 'Rule2'
|
|
},
|
|
> },
|
|
{
|
|
> {
|
|
conditions: [
|
|
> conditions: [
|
|
{
|
|
> {
|
|
applicableCriteriaCodes: [
|
|
> applicableCriteriaCodes: [
|
|
'PS1',
|
|
> 'PS1',
|
|
'PS2',
|
|
> 'PS2',
|
|
'PS3',
|
|
> 'PS3',
|
|
'PS4',
|
|
> 'PS4',
|
|
'PP1_Strong'
|
|
> 'PP1_Strong'
|
|
],
|
|
> ],
|
|
condition: '==1',
|
|
> condition: '==1',
|
|
label: 'Rule20, Condition1',
|
|
> label: 'Rule20, Condition1',
|
|
partitionPath: 'Pathogenic.Strong'
|
|
> partitionPath: 'Pathogenic.Strong'
|
|
},
|
|
> },
|
|
{
|
|
> {
|
|
applicableCriteriaCodes: [
|
|
> applicableCriteriaCodes: [
|
|
'PS2_Moderate',
|
|
> 'PS2_Moderate',
|
|
'PS3_Moderate',
|
|
> 'PS3_Moderate',
|
|
'PS4_Moderate',
|
|
> 'PS4_Moderate',
|
|
'PM1',
|
|
> 'PM1',
|
|
'PM4',
|
|
> 'PM4',
|
|
'PM5',
|
|
> 'PM5',
|
|
'PP1_Moderate'
|
|
> 'PP1_Moderate'
|
|
],
|
|
> ],
|
|
condition: '==2',
|
|
> condition: '==2',
|
|
label: 'Rule20, Condition2',
|
|
> label: 'Rule20, Condition2',
|
|
partitionPath: 'Pathogenic.Moderate'
|
|
> partitionPath: 'Pathogenic.Moderate'
|
|
}
|
|
> }
|
|
],
|
|
> ],
|
|
inference: 'Likely Pathogenic',
|
|
> inference: 'Likely Pathogenic',
|
|
rule: 'Rule20'
|
|
> rule: 'Rule20'
|
|
}
|
|
> }
|
|
],
|
|
> ],
|
|
statusObj: {
|
|
> statusObj: {
|
|
name: 'assertion computed',
|
|
> name: 'assertion computed',
|
|
status: 'ok'
|
|
> status: 'ok'
|
|
}
|
|
> }
|
|
} |
|
> }
|
|
\ No newline at end of file |
|
> ``` |
|
|
|
\ No newline at end of file |