Webservice client - pubchem

Hi All,

I'm trying to do a source id search in pubchem using http://pubchem.ncbi.nlm.nih.gov/pug_soap/pug_soap.cgi?wsdl

When searching for any pubchem id this works ok. But when I'm looking for a cas number or supplier id I run into problems. I set the the idType (PCIDType) to E_ID_SOURCE_ID and I'm getting the error:

WARN      WSExecutor     Failed on row "Row1": NCBI C++ Exception:
    Error: (CException::eUnknown) "pug_ws.cpp", line 363: std::string decodeEntrezDbName() --- Invalid ID type for Entrez DB name

WARN      WSExecutor     Failed on row "Row2": NCBI C++ Exception:
    Error: (CException::eUnknown) "pug_ws.cpp", line 363: std::string decodeEntrezDbName() --- Invalid ID type for Entrez DB name

ERROR     Generic Webservice Client     Execute failed: Webservice invocation failed on all rows, check log for details

Does any body every tried this?

Thanks,

Peter

Hi All,

I found a work around for doing these kind of searches (CAS_NO, supplier ID's, synonyms and so on).

Since the soap_pug approach didn't work with the knime web-service client I created a jPhyton node. Within this code I execute:

searchString = str(row.getCell(searchStringCol))
baseurl = 'http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=pccompound&term=' + searchString + '&usehistory=y'

This returns xml which can be processed with the xml nodes.
It will contain a listkey and webenv which can be used in all the other methods of the soap_pug approach.
It also returns CIDs which can be used in the other methods as well.

Cheers,

Peter

Hello peter can you share this with me. I am interested in getting Pubchem ID's for specific smiles or Inchi.

Thanks

Sam

Will you be able to share this with me as well. Thank you

 

ebiochemica and politr:

I guess that the first post is a little out of date now, due to the addition of functionality to KNIME.

You should be able to do this with the REST 'GET resource (batch)' node from the Trusted Community extensions.

First create a table containing the URLs that you want to search for, and pass this to the GET resource (batch) node.

Use the URL pattern below:

http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=pccompound&term=' + searchString + '&usehistory=y'

Of course you could also use the String Manipulation node to auto generate the table of URLs...