<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hi Josh,</p>
<p>The problem is the HGVS 'NM_000070.2:c.?' this notation is not
supported and it also contains the character '?' which is causing
the output problems. If you try the same code without this HGVS
the code should have the expected output. </p>
<p><br>
</p>
<p>Best wishes,</p>
<p>Diana</p>
<p><br>
</p>
<blockquote type="cite"
cite="mid:661319d5-1cf8-1d08-6bd8-fbc874ac726c@ebi.ac.uk">
<div class="moz-forward-container">
<div dir="ltr">
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif">Dear Ensembl
team,</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif"> I'd like
some help with this. I am interested in using <a
href="https://grch37.rest.ensembl.org/documentation/info/variant_recoder_post"
style="font-family:Arial,Helvetica,sans-serif"
moz-do-not-send="true">https://grch37.rest.ensembl.org/documentation/info/variant_recoder_post</a> in
obtaining VCF coordinates for a number of variants ( Input
being HGVS coordinates)</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif"><br>
</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif">I used the
Python 3 sample code provided to check what the resulting
output looks like (pasted further below)</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif"><br>
</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif">In similar
fashion to how the GET request works ... I expected
something like this</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif">[{'vcf_string':'
... ', 'input':'NM_..'}</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif">{'warning':'
... ', 'input':'NM_..'}]<br>
</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif"><br>
</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif">i.e. each
list item would correspond to one input value .. and each
dictionary would be populated with the resultant
'vcf_string' .. or 'warning' .. if the HGVS input is
malformed.</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif"><br>
</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif">However, the
output does not appear to be consistent. </div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif"><br>
</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif">Example 1:</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif"><br>
</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif">For input
values, "NM_000070.2:c.?", "NM_000070.2:c.328C>T", there
appears to be only one list item</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif">{'vcf_string':
['15-42676699-C-A', '15-42676699-C-T'], 'warnings': ["No
variant found with ID 'NM_000070.2:c.?'"], 'input':
'NM_000070.2:c.328C>T'}<br>
</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif"><br>
</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif">This
erroneously (I think) mixes the warning from the first input
value and the translated vcf coordinates from the second
input value</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif"><br>
</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif">Example 2:</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif"><br>
</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif">Some HGVS
coordinates that are valid and are properly converted via
the GET request, are not handled here:</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif">e.g. "No
variant found with ID 'NM_000070.2:c.545T>A'"</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif"><br>
</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif"><b>Code</b></div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif"><br>
</div>
<div class="gmail_default" style=""><font face="monospace">import
requests, sys<br>
</font></div>
<div class="gmail_default" style=""><font face="monospace"><br>
</font></div>
<div class="gmail_default" style=""><font face="monospace">server
= "<a href="https://grch37.rest.ensembl.org"
moz-do-not-send="true">https://grch37.rest.ensembl.org</a>"<br>
ext = "/variant_recoder/homo_sapiens"<br>
headers={ "Content-Type" : "application/json", "Accept" :
"application/json"}<br>
params={"fields":"vcf_string"}<br>
hgvs_ids='{"ids": ["NM_000070.2:c.?",
"NM_000070.2:c.328C>T", "NM_000070.2:c.545T>A",
"NM_000070.2:c.701G>A", "NM_000070.2:c.1838del",
"NM_000070.2:c.945+1del", "NM_000070.2:c.1061T>G",
"NM_000070.2:c.1079G>A", "NM_000070.2:c.1342C>G",
"NM_000070.2:c.1468C>T", "NM_000070.2:c.550delA?",
"NM_000070.2:c.550del", "NM_000070.2:c.1715G>A",
"NM_000070.2:c.2069_2070del", "NM_000070.2:c.2306G>A",
"NM_000070.2:c.2314_2317del",
"NM_000070.2:c.2362_2363delinsTCATCT",
"NM_000070.2:c.946-1G>A", "NM_000070.2:c.1466G>A",
"NM_000070.2:c.2230A>G", "NM_000070.2:c.19_23del",
"NM_000070.2:c.257C>T", "NM_000070.2:c.402del",
"NM_000070.2:c.1913A>C", "NM_000070.2:c.1622G>A",
"NM_000070.2:c.598_612del", "NM_000070.2:c.801+1G>A",
"NM_000070.2:c.664G>A", "NM_000070.2:c.2243G>A",
"NM_000070.2:c.717del"]}'<br>
<br>
r = requests.post(server+ext, headers=headers,
data=hgvs_ids, params=params)<br>
<br>
if not r.ok:<br>
r.raise_for_status()<br>
</font></div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif"><br>
</div>
<div class="gmail_default" style=""><font face="monospace">decoded
= r.json()<br>
print(repr(decoded))<b style=""><br>
</b></font></div>
<div class="gmail_default" style=""><font face="monospace"><br>
</font></div>
<div class="gmail_default" style="">
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif"><b>Results</b></div>
</div>
<div class="gmail_default" style=""><br>
</div>
<div class="gmail_default" style="">
<pre style="box-sizing:border-box;overflow:auto;padding:1px 0px;margin-top:0px;margin-bottom:0px;line-height:inherit;color:rgb(0,0,0);word-break:break-all;border:0px;border-radius:0px;white-space:pre-wrap;vertical-align:baseline"><pre style="box-sizing:border-box;overflow:auto;padding:1px 0px;margin-top:0px;margin-bottom:0px;line-height:inherit;word-break:break-all;border:0px;border-radius:0px;white-space:pre-wrap;vertical-align:baseline">[{'vcf_string': ['15-42676699-C-A', '15-42676699-C-T'], 'warnings': ["No variant found with ID 'NM_000070.2:c.?'"], 'input': 'NM_000070.2:c.328C>T'}, {'input': 'NM_000070.2:c.701G>A', 'warnings': ["No variant found with ID 'NM_000070.2:c.545T>A'"], 'vcf_string': ['15-42681194-G-A']}, {'vcf_string': ['15-42700445-AA-A'], 'input': 'NM_000070.2:c.1838del'}, {'input': 'NM_000070.2:c.1061T>G', 'warnings': ["No variant found with ID 'NM_000070.2:c.945+1del'"], 'vcf_string': ['15-42686485-T-G']}, {'vcf_string': ['15-42686503-G-A'], 'input': 'NM_000070.2:c.1079G>A'}, {'vcf_string': ['15-42691838-C-G', '15-42691838-C-T'], 'input': 'NM_000070.2:c.1342C>G'}, {'input': 'NM_000070.2:c.1468C>T', 'vcf_string': ['15-42693952-C-T']}, {'input': 'NM_000070.2:c.550del', 'vcf_string': ['15-42680001-AA-A'], 'warnings': ["No variant found with ID 'NM_000070.2:c.550delA?'"]}, {'input': 'NM_000070.2:c.1715G>A', 'vcf_string': ['15-42695170-G-A', '15-42695170-G-C', '15-42695170-G-T']}, {'vcf_string': ['15-42703124-G-A', '15-42703124-G-C'], 'warnings': ["No variant found with ID 'NM_000070.2:c.2069_2070del'"], 'input': 'NM_000070.2:c.2306G>A'}, {'input': 'NM_000070.2:c.2314_2317del', 'vcf_string': ['15-42703130-CAGAC-C']}, {'vcf_string': ['15-42703179-TAG-TTCATCT'], 'input': 'NM_000070.2:c.2362_2363delinsTCATCT'}, {'warnings': ["No variant found with ID 'NM_000070.2:c.946-1G>A'"], 'vcf_string': ['15-42693950-G-A'], 'input': 'NM_000070.2:c.1466G>A'}, {'input': 'NM_000070.2:c.2230A>G', 'vcf_string': ['15-42702831-A-G']}, {'warnings': ["No variant found with ID 'NM_000070.2:c.19_23del'"], 'vcf_string': ['15-42652260-C-T'], 'input': 'NM_000070.2:c.257C>T'}, {'vcf_string': ['15-42678386-CC-C'], 'input': 'NM_000070.2:c.402del'}, {'vcf_string': ['15-42695077-G-A'], 'warnings': ["No variant found with ID 'NM_000070.2:c.1913A>C'"], 'input': 'NM_000070.2:c.1622G>A'}, {'vcf_string': ['15-42680049-GTTCTGGAGTGCTCTG-G'], 'input': 'NM_000070.2:c.598_612del'}, {'vcf_string': ['15-42681157-G-A'], 'warnings': ["No variant found with ID 'NM_000070.2:c.801+1G>A'"], 'input': 'NM_000070.2:c.664G>A'}, {'input': 'NM_000070.2:c.2243G>A', 'vcf_string': ['15-42702844-G-A']}, {'vcf_string': ['15-42681205-TT-T', '15-42681205-TT-TTT'], 'input': 'NM_000070.2:c.717del'}]</pre><pre style="box-sizing:border-box;overflow:auto;padding:1px 0px;margin-top:0px;margin-bottom:0px;line-height:inherit;word-break:break-all;border:0px;border-radius:0px;white-space:pre-wrap;vertical-align:baseline"><font face="arial, sans-serif">
</font></pre><pre style="box-sizing:border-box;overflow:auto;padding:1px 0px;margin-top:0px;margin-bottom:0px;line-height:inherit;word-break:break-all;border:0px;border-radius:0px;white-space:pre-wrap;vertical-align:baseline"><font face="arial, sans-serif">Thanks,</font></pre><pre style="box-sizing:border-box;overflow:auto;padding:1px 0px;margin-top:0px;margin-bottom:0px;line-height:inherit;word-break:break-all;border:0px;border-radius:0px;white-space:pre-wrap;vertical-align:baseline"><font face="arial, sans-serif">Josh</font></pre></pre>
</div>
</div>
</div>
</blockquote>
</body>
</html>