Skip to content

Commit a10eb31

Browse files
authored
Merge pull request #54 from CBIIT/LDlink_3.6.0
L dlink 3.6.0
2 parents 5ef0866 + 91dfbc1 commit a10eb31

File tree

3 files changed

+44
-28
lines changed

3 files changed

+44
-28
lines changed

LDlink/UnlockAllTokens.py

Lines changed: 0 additions & 24 deletions
This file was deleted.

LDlink/UnlockStaleTokens.py

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
#!/usr/bin/env python
2+
import datetime
3+
import yaml
4+
from pymongo import MongoClient
5+
from pymongo.errors import ConnectionFailure
6+
contents = open("/analysistools/public_html/apps/LDlink/app/SNP_Query_loginInfo.ini").read().split('\n')
7+
username = 'ncianalysis_api'
8+
password = contents[1].split('=')[1]
9+
port = int(contents[2].split('=')[1])
10+
11+
# get current date and time
12+
def getDatetime():
13+
return datetime.datetime.now()
14+
15+
# script to free token locks older than 15 minutes at some scheduled time
16+
# triggered from CRON job
17+
def main():
18+
with open('/analysistools/public_html/apps/LDlink/app/config.yml', 'r') as f:
19+
config = yaml.load(f)
20+
api_mongo_addr = config['api']['api_mongo_addr']
21+
client = MongoClient('mongodb://'+username+':'+password+'@'+api_mongo_addr+'/LDLink', port)
22+
db = client["LDLink"]
23+
users = db.api_users
24+
# current datetime
25+
present = getDatetime()
26+
unlockTokens = []
27+
# look at each token
28+
for user in users.find():
29+
locked = user["locked"]
30+
if locked != 0:
31+
diff = present - locked
32+
diffMinutes = diff.seconds % 3600 / 60.0
33+
# if token is locked for over 15 mins, unlock
34+
if diffMinutes > 15.0:
35+
unlockTokens.append(user["token"])
36+
for token in unlockTokens:
37+
users.find_one_and_update({"token": token}, { "$set": {"locked": 0}})
38+
39+
if __name__ == "__main__":
40+
main()

LDlink/index.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1972,9 +1972,11 @@ <h3 class="modal-title apiaccess">Modal title</h3>
19721972
<pre class="apiaccess-examples">
19731973
curl -k -X GET 'https://ldlink.nci.nih.gov/LDlinkRest/ldmatrix?snps=rs3%0Ars4%0Ars148890987&pop=CEU&r2_d=d&token=faketoken123'
19741974
</pre>
1975+
<p><i>Note: GET request can support up to 300 SNPs.</i></p>
19751976
<pre class="apiaccess-examples">
19761977
curl -k -H "Content-Type: application/json" -X POST -d '{"snps": "rs3\nrs4", "pop": "CEU","r2_d": "d"}' 'https://ldlink-dev.nci.nih.gov/LDlinkRest/ldmatrix?&token=faketoken123'
19771978
</pre>
1979+
<p><i>Note: POST request can support up to 1,000 SNPs.</i></p>
19781980
</p>
19791981
<p><a class="help-anchor-link" href="#LDpair">LDpair</a><br>
19801982
<pre class="apiaccess-examples">curl -k -X GET 'https://ldlink.nci.nih.gov/LDlinkRest/ldpair?var1=rs3&var2=rs4&pop=CEU%2BYRI%2BCHB&token=faketoken123'</pre></p>
@@ -1983,11 +1985,9 @@ <h3 class="modal-title apiaccess">Modal title</h3>
19831985
<p><a class="help-anchor-link" href="#LDproxy">LDproxy</a><br>
19841986
<pre class="apiaccess-examples">curl -k -X GET 'https://ldlink.nci.nih.gov/LDlinkRest/ldproxy?var=rs3&pop=MXL&r2_d=r2&token=faketoken123'</pre></p>
19851987
<p><a class="help-anchor-link" href="#SNPchip">SNPchip</a><br>
1986-
<pre class="apiaccess-examples">curl -k -H "Content-Type: application/json" -X POST -d '{"snps": "rs3\nrs4",
1987-
"platforms":"A_10X+A_250N+A_250S+A_50H+A_50X+A_AFR+A_ASI+A_CHB2+A_DMETplus+A_EAS+A_EUR+A_Exome1A+A_Exome319+A_Hu+A_Hu-CHB+A_LAT+A_Onco+A_OncoCNV+A_SNP5.0+A_SNP6.0+I_100+I_1M+I_1M-D+I_240S+I_300+I_300-D+I_550v1+I_550v3+I_610-Q+I_650Y+I_660W-Q+I_CNV-12+I_CNV370-D+I_CNV370-Q+I_CVD+I_CardioMetab+I_Core-12+I_CoreE-12v1+I_CoreE-12v1.1+I_CoreE-24v1+I_CoreE-24v1.1+I_Cyto-12v2+I_Cyto-12v2.1+I_Cyto-12v2.1f+I_Cyto850+I_Exome-12+I_Exon510S+I_Immuno-24v1+I_Immuno-24v2+I_Linkage-12+I_Linkage-24+I_ME-Global-8+I_NS-12+I_O1-Q+I_O1S-8+I_O2.5-4+I_O2.5-8+I_O2.5E-8v1+I_O2.5E-8v1.1+I_O2.5E-8v1.2+I_O2.5S-8+I_O5-4+I_O5E-4+I_OE-12+I_OE-12f+I_OE-24+I_OEE-8v1+I_OEE-8v1.1+I_OEE-8v1.2+I_OEE-8v1.3+I_OZH-8v1+I_OZH-8v1.1+I_OZH-8v1.2+I_OncoArray+I_Psyc-24v1+I_Psyc-24v1.1"}' 'https://ldlink.nci.nih.gov/LDlinkRest/snpchip?&token=faketoken123'</pre></p>
1988+
<pre class="apiaccess-examples">curl -k -H "Content-Type: application/json" -X POST -d '{"snps": "rs3\nrs4", "platforms":"A_10X+A_250N+A_250S+A_50H+A_50X+A_AFR+A_ASI+A_CHB2+A_DMETplus+A_EAS+A_EUR+A_Exome1A+A_Exome319+A_Hu+A_Hu-CHB+A_LAT+A_Onco+A_OncoCNV+A_SNP5.0+A_SNP6.0+I_100+I_1M+I_1M-D+I_240S+I_300+I_300-D+I_550v1+I_550v3+I_610-Q+I_650Y+I_660W-Q+I_CNV-12+I_CNV370-D+I_CNV370-Q+I_CVD+I_CardioMetab+I_Core-12+I_CoreE-12v1+I_CoreE-12v1.1+I_CoreE-24v1+I_CoreE-24v1.1+I_Cyto-12v2+I_Cyto-12v2.1+I_Cyto-12v2.1f+I_Cyto850+I_Exome-12+I_Exon510S+I_Immuno-24v1+I_Immuno-24v2+I_Linkage-12+I_Linkage-24+I_ME-Global-8+I_NS-12+I_O1-Q+I_O1S-8+I_O2.5-4+I_O2.5-8+I_O2.5E-8v1+I_O2.5E-8v1.1+I_O2.5E-8v1.2+I_O2.5S-8+I_O5-4+I_O5E-4+I_OE-12+I_OE-12f+I_OE-24+I_OEE-8v1+I_OEE-8v1.1+I_OEE-8v1.2+I_OEE-8v1.3+I_OZH-8v1+I_OZH-8v1.1+I_OZH-8v1.2+I_OncoArray+I_Psyc-24v1+I_Psyc-24v1.1"}' 'https://ldlink.nci.nih.gov/LDlinkRest/snpchip?token=faketoken123'</pre></p>
19881989
<p><a class="help-anchor-link" href="#SNPclip">SNPclip</a><br>
1989-
<pre class="apiaccess-examples">curl -k -H "Content-Type: application/json" -X POST -d '{"snps": "rs3\nrs4", "pop": "YRI",
1990-
"r2_threshold": "0.1", "maf_threshold": "0.01"}' 'https://ldlink.nci.nih.gov/LDlinkRest/snpclip?&token=faketoken123'</pre></p>
1990+
<pre class="apiaccess-examples">curl -k -H "Content-Type: application/json" -X POST -d '{"snps": "rs3\nrs4", "pop": "YRI", "r2_threshold": "0.1", "maf_threshold": "0.01"}' 'https://ldlink.nci.nih.gov/LDlinkRest/snpclip?token=faketoken123'</pre></p>
19911991
<p><strong>Note</strong>: <a class="help-anchor-link" href="#LDassoc">LDassoc</a> is not currently accessible via programmatic
19921992
access.</p>
19931993

0 commit comments

Comments
 (0)