Post on 16-Dec-2015
PubFetch / PubTrackPubFetch / PubTrack
Simon Twigger Simon Twigger
Vijay NarayanasamyVijay Narayanasamy
Interface between the literature curation tools Interface between the literature curation tools and the online literature databases, such as and the online literature databases, such as PubMed, Agricola, Biosis. PubMed, Agricola, Biosis.
Return data in PubMed MEDLINE Display Return data in PubMed MEDLINE Display Format (GMOD Standard)Format (GMOD Standard)
Provides a generic way of searching and Provides a generic way of searching and retrieving literature data from online literature retrieving literature data from online literature data sources data sources – downstream applications don't have to deal with the downstream applications don't have to deal with the
idiosyncrasies of the individual literature databases idiosyncrasies of the individual literature databases
PubFetchPubFetch
PubMed LitDbAGRICOLA
Adaptor Adaptor Adaptor
PubFetch Module
Query Result
PubFetch ArchitecturePubFetch Architecture
Search LitDb for articles matching certain Search LitDb for articles matching certain query criteria (eg. keywords, date, author, query criteria (eg. keywords, date, author, etc). and retrieve a set of accession numbers etc). and retrieve a set of accession numbers (eg. PMIDs) for matching references. (eg. PMIDs) for matching references. Retrieve the articles from the LitDb Retrieve the articles from the LitDb corresponding to the given accession corresponding to the given accession numbers (eg. bring me the PubMed article for numbers (eg. bring me the PubMed article for PMID 12345678) PMID 12345678) The articles are returned in PubMed-The articles are returned in PubMed-MEDLINE Display FormatMEDLINE Display Format
How PubFetch works?How PubFetch works?
PubFetch core functionalities are available as PubFetch core functionalities are available as webservices, following the webservices, following the BioMOBYBioMOBY service model. service model. Webservices model provide language-Webservices model provide language-independence(XML data useable in Java, Perl, Python independence(XML data useable in Java, Perl, Python etc.)etc.)MODs do not have to install PubFetch locally since it is MODs do not have to install PubFetch locally since it is available as a Serviceavailable as a Service
SearchService
Get Service
Cancer, Rat
123133321231334546623
1231333
PMID- 1231333
UI – 76248581
OWN – NLM
STAT- completed
DA – 19760925
DCOM- 19760925
IS - 0070-4075
VI - 41
Query ServiceID
ID Document in MEDLINE Display Format
PubFetch as a BioMOBY ServicePubFetch as a BioMOBY Service
BioMOBYBioMOBY
MOBY is a system through which a client MOBY is a system through which a client will be able to interact with multiple will be able to interact with multiple sources of biological data regardless of sources of biological data regardless of the underlying format or schema. The the underlying format or schema. The system also allows for the dynamic system also allows for the dynamic identification of new relationships identification of new relationships between data from different sourcesbetween data from different sources
Cancer+AND+rat MOBY Central
PubMed
PubFetch
OtherLitDbAGRICOLA
PMIDsDocuments PubFetch – PMID
PubFetch- AGRICOLA ID
PubFetch PubMed Docs
PubFetch - BioMOBYPubFetch - BioMOBY
PubFetch PubFetch
<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope…><namesp3:SearchPubmed xmlns:namesp3="http://biomoby.org/"><body><![CDATA[<?xml version='1.0' encoding='UTF-8'?> <moby:MOBY xmlns:moby='http://www.biomoby.org/moby-s'>
<moby:Query> <moby:queryInput moby:articleName=''>
<moby:Simple><Object namespace='Global_Keyword' id='rat'/></moby:Simple>
</moby:queryInput> </moby:Query>
</moby:MOBY>]]></body></namesp3:SearchPubmed></SOAP-ENV:Envelope>
QueryQuery
ServicesServices<Services><Services>
<Service authURI='http://prometheus.brc.mcw.edu/MOBY/Central' serviceName='SearchPubmed'><Service authURI='http://prometheus.brc.mcw.edu/MOBY/Central' serviceName='SearchPubmed'> <serviceType>Retrieval</serviceType><serviceType>Retrieval</serviceType> <authoritative>0</authoritative><authoritative>0</authoritative> <Category>moby</Category><Category>moby</Category> <Description> <Description> Search PubMed for given query and get PMIDsSearch PubMed for given query and get PMIDs </Description> </Description> <URL>http://prometheus.brc.mcw.edu:8082/pubfetch-bin/PubFetchService.pl</URL><URL>http://prometheus.brc.mcw.edu:8082/pubfetch-bin/PubFetchService.pl</URL> <Input><Input> <Simple articleName='abc'><Simple articleName='abc'> <objectType>urn:lsid:biomoby.org:objectclass:<objectType>urn:lsid:biomoby.org:objectclass:objectobject</objectType></objectType> <Namespace>urn:lsid:biomoby.org:namespacetype:<Namespace>urn:lsid:biomoby.org:namespacetype:global_keywordglobal_keyword</Namespace></Namespace> </Simple></Simple> </Input></Input> <Output><Output> <Simple articleName='abcd'><Simple articleName='abcd'> <objectType>urn:lsid:biomoby.org:objectclass:<objectType>urn:lsid:biomoby.org:objectclass:objectobject</objectType></objectType> <Namespace>urn:lsid:biomoby.org:namespacetype:<Namespace>urn:lsid:biomoby.org:namespacetype:pmidpmid</Namespace></Namespace> </Simple></Simple> </Output></Output></Service></Service>
<Service> ………...</Service><Service> ………...</Service>
</Services></Services>
ResponseResponse
<?xml version='1.0' encoding='UTF-8'?><?xml version='1.0' encoding='UTF-8'?> <moby:MOBY xmlns:moby='http://www.biomoby.org/moby'><moby:MOBY xmlns:moby='http://www.biomoby.org/moby'> <moby:Response moby:authority='http://www.illuminae.com'><moby:Response moby:authority='http://www.illuminae.com'> <moby:queryResponse><moby:queryResponse> <Simple><Simple><moby:Object namespace='PMID' id="12964904"></moby:Object><moby:Object namespace='PMID' id="12964904"></moby:Object>
</Simple></Simple> </moby:queryResponse></moby:queryResponse> <moby:queryResponse><moby:queryResponse> <Simple><Simple><moby:Object namespace='PMID' id="12964806"></moby:Object><moby:Object namespace='PMID' id="12964806"></moby:Object>
</Simple></Simple> </moby:queryResponse></moby:queryResponse></moby:Response></moby:Response> </moby:MOBY></moby:MOBY>
The response will be a query for the next service(s) and so on. Thus The response will be a query for the next service(s) and so on. Thus copying and pasting from one tool to another is avoided.copying and pasting from one tool to another is avoided.
RGD BioMOBY ServicesRGD BioMOBY Services
SearchPubmed – Search PubMed for given SearchPubmed – Search PubMed for given query and get PMIDsquery and get PMIDs
GetPubmed – Retrieve PubMed articles in GetPubmed – Retrieve PubMed articles in MEDLINE display format for given PMIDsMEDLINE display format for given PMIDs
SearchAGRI – Search AGRICOLA for given SearchAGRI – Search AGRICOLA for given query and get IDsquery and get IDs
GetAGRI – Retrieve AGRICOLA records in GetAGRI – Retrieve AGRICOLA records in MEDLINE Display Format for given AGRICOLA MEDLINE Display Format for given AGRICOLA IDID
PubTrackPubTrackPubTrack is a software to monitor and visualize the PubTrack is a software to monitor and visualize the current state and ongoing operations of a MODcurrent state and ongoing operations of a MODTool for tracking literature objects (papers) through the Tool for tracking literature objects (papers) through the curation processcuration processMonitor work-in-process items and perform corrective Monitor work-in-process items and perform corrective actions by reassigning, re-prioritizing, or suspending actions by reassigning, re-prioritizing, or suspending them them Maximized use of software and human resourcesMaximized use of software and human resourcesProvides big-picture views of MODProvides big-picture views of MODPubTrack can answer questions likePubTrack can answer questions like– Where in the world is Article X?Where in the world is Article X?– How many articles did we curate?How many articles did we curate?– How long are the steps taking?How long are the steps taking?– Who? When? What? Why? …Who? When? What? Why? …
PubTrack MechanismPubTrack MechanismRegister the units of curation process in form of Register the units of curation process in form of a Grapha GraphRegister the object (Literature)Register the object (Literature)Gather events from each unit Gather events from each unit – Unit A has successfully processed Object 321425.Unit A has successfully processed Object 321425.– Object 45635 format is not compatible for Unit BObject 45635 format is not compatible for Unit B– 12 objects are in input queue for Unit C12 objects are in input queue for Unit C– Unit D (Mr. David) is currently processing Object Unit D (Mr. David) is currently processing Object
564324564324– Also other statistics (number of active Units, Number Also other statistics (number of active Units, Number
of Objects in the system, Percentage completed …)of Objects in the system, Percentage completed …)
Process the eventsProcess the eventsDisplay / Visualize eventsDisplay / Visualize events
PubTrack ProgressPubTrack Progress
Looking into currently existing tools like Looking into currently existing tools like BioPipe, GUS, Kaleidaseq and commercial BioPipe, GUS, Kaleidaseq and commercial business systems that have similar business systems that have similar functionalities.functionalities.Develop in Java (JSP/Servlets)Develop in Java (JSP/Servlets)db in MySQL, port to PostGres & Oracle, db in MySQL, port to PostGres & Oracle, access via JDBCaccess via JDBCCould be used to track any ‘thing’ through a Could be used to track any ‘thing’ through a series of user-definable stepsseries of user-definable stepsMay provide more general tracking capabilities May provide more general tracking capabilities to GMOD projectsto GMOD projects
AcknowledgementsAcknowledgements
Simon TwiggerSusan BrombergNorie dela CruzVictor RuottiJing Li
Sue RheeLukas MuellerIris XuDanny YooBehzad Mahini
Mark Wilkinson