Forum

Kegg node

hi sorry if double posted - but i think my last posting didn`t got through…

within my master studies in biomedical engineering i stumbled over a nice genomic database called kegg http://www.genome.jp/kegg. it features masses of genomic data and metabolic pathways. the cool thing is that they offer access to their api over a wsdl file. the mixture of this data and the visualization possibilities of vvvv could be a real pleasure (not even for scientific approaches).

so: is there a way to get this wsdl file into vvvv somehow? or would it need an extra “kegg node” which would be cool for all the none coders of us?

any hint appreciated

best
wolfgang

wsdl is an xml file that describes how to communicate with a web services.

Sounds possible to get started with http nodes and xml ones.
Maybe a forum search with http can help.

Never tried to deal with web api yet and i don’t have a second to give to v4 this month so i’m sorry i can’t help more.

Your project sounds really interesting to me, so that i’m really disapointed i can’t install v4 at work.

Good luck,
i’m sure you’ll getting more helpful feedback soon.

regards,
a.

also seems that wsdl and .net are quite compatible. so this could be a nice exercise for someone writing plugins.

halo joreg,

Sounds like a nice challenge,i think it’d be more reliable to handle all this trough a plugin. Thx for the link joreg.

hmmm…

that`s interesting… i wanted to access the kegg using c#… allthought i am not really very familiar to coding and not at all familiar to c#. so when i try to create an general c# interface for the kegg - i could also build up a vvvv plugin with it?

well - i will try. maybe i will need some help, but this sounds quiet solveable.

best
wolfgang

i am not familiar with wsdl at all but the above link seems to explain how you access it via c#. from there it should be no big deal to make this into a vvvv plugin. go ahead!

This might help a little.

This seems pretty much interesting.

I had a look at the API and ran some random tests.

To access it from c# Just create a new project and add a web reference to the following url:
http://soap.genome.jp/KEGG.wsdl

It will generate a KEGG class that you can use to send calls to their web service.

KEGG service = new KEGG();

Example to search for drug “aspirin”:
foreach (string s in service.search_drugs_by_name(“aspirin”))
{
Console.WriteLine("ID: " + s);
}

It returns you a list of strings, which are their ID in the database.

You can then use the service.bget method to retrieve information.
Result is a simple string, so it needs some parsing, not too difficult tho.

Same example for aspirin
string aspirin = service.bget(“dr:D00109”);

I attached the result to a file.
Most of the data is self explanatory, from what I saw you can have an atom structure representation in KCF Format or MOL format, sou should be able to spread that for a display.

aspirin.txt (2.0 kB)

the http://www.genome.jp/kegg database looks like an awesome ressource. it would be a honour to have plugins for decoding this vast ressource.

all vvvv patchers who are suffering from any sort of modularity, abstraction, top down or bottom up syndrome should look at the KEGG PATHWAY database a collection of manually drawn pathway maps representing our knowledge on the molecular interaction and reaction networks.

note the little drop down menu in these inexplicably complex diagrams, which allows you to switch between dozends of different species. you might even be able to see differences between homo sapiens and echerichia coli.

and step back and wonder.

@vux: would you publish the plugin (even if it’s still an early alpha version)? would be nice to have a look at the code for further wsdl approaches!

@phl:

didn’t really has time to work on this one, but just made a little effort to wrap two of their methods :)

Code is not too great (still working on a nice generic soap call system), but that will do it for the sample.

Source code is in the zip.

Only problem with their calls is all their data is returned as raw string, so you need to do all the parsing yourself (no easy xml serialization). Can be done in plugin or by module after.

Have fun with the sample and tell me if you have any question.

Kegg.zip (266.8 kB)