Azzera filtri
Azzera filtri

Pubmed API: What are systemID and publicID?

6 visualizzazioni (ultimi 30 giorni)
Jessie Poquerusse
Jessie Poquerusse il 17 Dic 2016
Risposto: Robert Snoeberger il 28 Giu 2017
The Matlab script I'd written in April 2016 to interface with the Pubmed API to automatically extract a bunch of gene info is no longer working. Something about needing both a SystemID and PublicID. Any ideas?
Simplified version of the code:
baseSearchURL = [''];
gene = 'pten';
termOptTOTAL = ['&term=', gene]; 
searchURL = [baseSearchURL,termOptTOTAL];
Full error message:
[Fatal Error] esearch.fcgi?db=pubmed&term=pten:1:50: White spaces are required between publicId and systemId.
Error using xmlread (line 97)
Java exception occurred:
org.xml.sax.SAXParseException; systemId:; lineNumber:
1; columnNumber: 50; White spaces are required between publicId and systemId.
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at javax.xml.parsers.DocumentBuilder.parse(Unknown Source)

Risposte (2)

Star Strider
Star Strider il 17 Dic 2016
I use PubMed frequently, but not to do what you’re doing. When I plugged ‘’ into the URL bar, I got ‘Page has moved here’ and was vectored to Entrez Programming Utilities Help. You might see if that page has the information you need.

Robert Snoeberger
Robert Snoeberger il 28 Giu 2017
It is possible to avoid XML by using webread and setting the retmode parameter to 'json'. JSON is easier to work with because webread will parse it and give you a struct.
>> result = webread('','db','pubmed','term','pten','retmode','json')
result =
struct with fields:
header: [1×1 struct]
esearchresult: [1×1 struct]
You can find some information about the retmode parameter in [1].

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by