def register_fetch_gui(): from chimera import fetch fetch.registerIdType('EDS (2fo-fc)', 4, '1a0m', open_eds_2fofc_map, 'eds.bmc.uu.se/eds', 'http://eds.bmc.uu.se/cgi-bin/eds/uusfs?pdbCode=%s') fetch.registerIdType('EDS (fo-fc)', 4, '1a0m', open_eds_fofc_map, 'eds.bmc.uu.se/eds', 'http://eds.bmc.uu.se/cgi-bin/eds/uusfs?pdbCode=%s')
def register_fetch_gui(): from chimera import fetch fetch.registerIdType('PQS', 4, '2cwj', open_pqs, 'pqs.ebi.ac.uk', 'http://pqs.ebi.ac.uk/pqs-bin/pqs-hits?px=%s')
import chimera.extension class ModBaseEMO(chimera.extension.EMO): def name(self): return "ModBase" def description(self): return "Fetch ModBase database entry" def categories(self): return ["Structure Analysis"] def open(self, path): # Comment out if cannot open new file type return self.module("gui").processModBaseID(path) emo = ModBaseEMO(__file__) from chimera import fileInfo, FileInfo fileInfo.register("ModBase", # name of file type emo.open, # function to call None, # extensions ['modbase', 'ModBase'], # prefixes category=FileInfo.STRUCTURE) # category from chimera import fetch, openModels fetch.registerIdType("ModBase", # name of database 8, # identifier length "P04848", # example lambda id, om=openModels: om.open(id, type="ModBase"), # callback "modbase.compbio.ucsf.edu", # homepage "http://modbase.compbio.ucsf.edu/modbase-cgi/display.cgi?displaymode=general") # info url
def openSmiles(self, smiles): Smiles = self.module('Smiles') return [Smiles.smiles2mol(smiles)] def openPubChem(self, pcID): PubChem = self.module('PubChem') return [PubChem.pubChem2mol(pcID)] emo = BuildStructureEMO(__file__) chimera.extension.manager.registerExtension(emo) chimera.fileInfo.register("SMILES", emo.openSmiles, None, ["smiles", "SMILES"], category=chimera.FileInfo.STRUCTURE) chimera.fileInfo.register("PubChem", emo.openPubChem, None, ["pubchem", "PubChem"], category=chimera.FileInfo.STRUCTURE) from chimera import fetch, openModels fetch.registerIdType( "PubChem", # name of database 6, # identifier length "12123", # example lambda id, om=openModels: om.open(id, type="PubChem"), # callback "pubchem.ncbi.nlm.nih.gov", # homepage "http://www.ncbi.nlm.nih.gov/sites/entrez?db=pccompound&term=%s" ) # info url
site = 'viperdb.scripps.edu' url_pattern = 'http://%s/cgi-bin/stream_vdb.cgi?VDB=%s' url = url_pattern % (site, id) name = 'VIPERdb %s' % id minimum_file_size = 2048 # bytes from chimera import fetch path, headers = fetch.fetch_file(url, name, minimum_file_size, 'VIPERdb', id + '.vdb') mlist = open_viper_model(path, model_name = id) return mlist # ----------------------------------------------------------------------------- # Register to open VIPERdb virus capsid models. # import chimera fi = chimera.fileInfo fi.register('VIPERdb', open_viper_model, ['.vdb'], ['viper'], category = fi.STRUCTURE) fi.register('VIPERID', open_viper_id, None, ['viperID'], category = fi.STRUCTURE) # ----------------------------------------------------------------------------- # Register to fetch models from VIPERdb web site. # from chimera import fetch fetch.registerIdType('VIPERdb', 4, '1ej6', open_viper_id, 'viperdb.scripps.edu', 'http://viperdb.scripps.edu/info_page.php?VDB=%s')
def description(self): return "Fetch CASTp database entry" def categories(self): return ["Structure Analysis"] def openID(self, id): return self.module("gui").processCastpID(id) def openPath(self, path): return self.module("gui").openCastp(path) emo = CastpEMO(__file__) from chimera import fileInfo, FileInfo fileInfo.register("CASTp ID", # name of file type emo.openID, # function to call None, # extensions ['castp', 'CASTp'], # prefixes category=FileInfo.STRUCTURE) # category fileInfo.register("CASTp", # name of file type emo.openPath, # function to call [".poc"], # extensions [], # prefixes category=FileInfo.STRUCTURE) # category from chimera import fetch, openModels fetch.registerIdType("CASTp", # name of database 6, # identifier length "1www", # example lambda id, om=openModels: om.open(id, type="CASTp ID"), # callback "sts-fw.bioengr.uic.edu/castp/", # homepage "http://sts-fw.bioengr.uic.edu/castp/query.php?pdbid=%s&visual=jmol&submitid=Search") # info url
def openPath(self, path): return self.module("gui").openCastp(path) emo = CastpEMO(__file__) from chimera import fileInfo, FileInfo fileInfo.register( "CASTp ID", # name of file type emo.openID, # function to call None, # extensions ['castp', 'CASTp'], # prefixes category=FileInfo.STRUCTURE) # category fileInfo.register( "CASTp", # name of file type emo.openPath, # function to call [".poc"], # extensions [], # prefixes category=FileInfo.STRUCTURE) # category from chimera import fetch, openModels fetch.registerIdType( "CASTp", # name of database 6, # identifier length "1www", # example lambda id, om=openModels: om.open(id, type="CASTp ID"), # callback "sts-fw.bioengr.uic.edu/castp/", # homepage "http://sts-fw.bioengr.uic.edu/castp/query.php?pdbid=%s&visual=jmol&submitid=Search" ) # info url
def categories(self): return ['Structure Editing'] def activate(self): from chimera import dialogs gui = self.module('gui') dlg = dialogs.display(gui.BuildStructureDialog.name) dlg.notebook.selectpage(gui.ADD_ATOMS) return None def openSmiles(self, smiles): Smiles = self.module('Smiles') return [Smiles.smiles2mol(smiles)] def openPubChem(self, pcID): PubChem = self.module('PubChem') return [PubChem.pubChem2mol(pcID)] emo = BuildStructureEMO(__file__) chimera.extension.manager.registerExtension(emo) chimera.fileInfo.register("SMILES", emo.openSmiles, None, ["smiles", "SMILES"], category=chimera.FileInfo.STRUCTURE) chimera.fileInfo.register("PubChem", emo.openPubChem, None, ["pubchem", "PubChem"], category=chimera.FileInfo.STRUCTURE) from chimera import fetch, openModels fetch.registerIdType("PubChem", # name of database 6, # identifier length "12123", # example lambda id, om=openModels: om.open(id, type="PubChem"), # callback "pubchem.ncbi.nlm.nih.gov", # homepage "http://www.ncbi.nlm.nih.gov/sites/entrez?db=pccompound&term=%s") # info url
url_pattern = 'http://%s/cgi-bin/stream_vdb.cgi?VDB=%s' url = url_pattern % (site, id) name = 'VIPERdb %s' % id minimum_file_size = 2048 # bytes from chimera import fetch path, headers = fetch.fetch_file(url, name, minimum_file_size, 'VIPERdb', id + '.vdb') mlist = open_viper_model(path, model_name=id) return mlist # ----------------------------------------------------------------------------- # Register to open VIPERdb virus capsid models. # import chimera fi = chimera.fileInfo fi.register('VIPERdb', open_viper_model, ['.vdb'], ['viper'], category=fi.STRUCTURE) fi.register('VIPERID', open_viper_id, None, ['viperID'], category=fi.STRUCTURE) # ----------------------------------------------------------------------------- # Register to fetch models from VIPERdb web site. # from chimera import fetch fetch.registerIdType('VIPERdb', 4, '1ej6', open_viper_id, 'viperdb.scripps.edu', 'http://viperdb.scripps.edu/info_page.php?VDB=%s')