1 / 10

Python API for EVS

Python API for EVS. Konrad Rokicki, SAIC. Python Programming Language. Dynamic, object-oriented, open-source Cross-platform, popular for scripting Extensive standard libraries and large open source community Strong support for scientific computing (SciPy, python(x,y), Matplotlib)

feo
Download Presentation

Python API for EVS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Python API for EVS Konrad Rokicki, SAIC

  2. Python Programming Language • Dynamic, object-oriented, open-source • Cross-platform, popular for scripting • Extensive standard libraries and large open source community • Strong support for scientific computing (SciPy, python(x,y), Matplotlib) • Gaining popularity in bioinformatics (Biopython, Pygr) • See also • A Primer on Python for Life Science Researchers http://www.ploscompbiol.org/article/info:doi/10.1371/journal.pcbi.0030199 • Python course in Bioinformatics http://www.pasteur.fr/recherche/unites/sis/formation/python/ • Biopython http://biopython.org/wiki/Main_Page • python(x,y) http://www.pythonxy.com/foreword.php

  3. pyCaCORE • Code generator and client library • Generates a complete Python API from a WSDL file • Generated API uses pyCaCORE as a client library (for features like proxying, caching, association navigation, compatibility with Axis) • Built on top of ZSI (Zolera SOAP Infrastructure) • Originally built to generate caBIO Python API • Now tested with EVS • This required modifications to support eager loading of associations

  4. pyEVS Architecture Server Client User Code EVS Server pyEVS wsdl2py- generated API ZSI Web Service Endpoint SOAP Request AxisReader Axis SOAP Response

  5. pyEVS API from cabig.evs.service import * s = EVSApplicationService() m = MetaThesaurusConcept(name='NCBI') results = s.queryObject(MetaThesaurusConcept.className, m) for r in results: print r.cui, r.name print "Synonyms:",‘; '.join(r.synonymCollection)

  6. Output C0995203 NCBI_taxonomy Synonyms: NCBI_taxonomy; National Center for Biotechnology Information; NCBI Taxonomy; NCBI; root (of NCBI Taxonomy); NCBI Taxonomy; NCBI Taxonomy; NCBI; root (of NCBI Taxonomy) C1621796 NCBI Taxonomy, 2006_01_04 Synonyms: NCBI Taxonomy, 2006_01_04; NCBI2006_01_04 CL357298 NCBI_Taxon_ID Synonyms: NCBI_Taxon_ID

  7. No association traversal d = DescLogicConcept(name='intronic') results = s.queryObject(d.className, d) Next line generates error: “This service does not support the getAssociation method.” results[0].propertyCollection Instead, do this: propertyCollection = s.queryObject(Property.className, d)

  8. No tree traversal d = DescLogicConcept(name='intron') results = s.queryObject(d.className, d) d = results[0] d.name is “Intron” d.code is “C13249” But what is the super concept? NCI Term Browser says “Gene Feature” (C13445) Not possible to retrieve with web services.

  9. Resources • Distribution: pyCaBIG Gforge • http://gforge.nci.nih.gov/frs/?group_id=525&release_id=2586 • Also available in SVN https://gforge.nci.nih.gov/svnroot/pycabig/pyevs/trunk • Documentation: NCICB WIKI • https://wiki.nci.nih.gov/display/caCORE/EVS+Python+API • https://wiki.nci.nih.gov/display/caCORE/Python+API+Generation • Related Feature Requests • [#15091] Implement getAssociation for EVS API web service http://gforge.nci.nih.gov/tracker/index.php?func=detail&aid=15091 • [#15092] Implement tree browsing for web services http://gforge.nci.nih.gov/tracker/index.php?func=detail&aid=15092

More Related