Source code for mmtfPyspark.webservices.advancedQueryService

#!/user/bin/env python
'''advancedQueryService.py

Post an XML query (PDB XML query format) to the RESTful RCSB web service

'''
__author__ = "Mars (Shih-Cheng) Huang"
__maintainer__ = "Mars (Shih-Cheng) Huang"
__email__ = "marshuang80@gmail.com"
__version__ = "0.2.0"
__status__ = "Done"

import urllib

SERVICELOCATION = "http://www.rcsb.org/pdb/rest/search"


[docs]def post_query(xml): '''Post an XML query (PDB XML query format) to the RESTful RCSB web service Parameters ---------- xml : str a string of xml query ''' encodedXML = urllib.parse.quote(xml).encode('utf-8') url = urllib.request.Request(SERVICELOCATION) with urllib.request.urlopen(url, data=encodedXML) as f: pdbIds = [str(l)[2:-3] for l in f.readlines()] return pdbIds