Re: [jsbml-team] Re: Inquires for GSoC SBML and SBGN-ML Interconversion project

9 views
Skip to first unread message

Nicolas Rodriguez

unread,
Mar 15, 2017, 11:51:42 AM3/15/17
to Haoran Yu, Andreas Dräger, jsbml...@googlegroups.com, sbfc-forum



On 15/03/17 15:30, Haoran Yu wrote:
Sorry for the delay! I created a directory that contains an empty Google Doc, I will start adding my proposal later today.
So here are things I've done recently:
I read some documentation on SBO terms, the SBML level 3 layout, SBGN process description level 1, visualized some SBML and SBGN diagrams using the SBML Layout Viewer, and built a project using the SBFC framework.

I'm having a lot of trouble building the SBFC project. I followed the instructions on here and I'm using Eclipse. The issue I have currently is that any code changes in the project does not get executed. I'm trying to run SBML2SBGNML.java inside org.sbfc.converter.sbml2sbgnml and it throws me a javax.xml.bind.JAXBException every time. It is able to read the input file I gave, but does not generate the correct output path. I confirmed other converters such as SBML2Dot.java can successfully convert the input XML file. Then, I changed some code in the main() method SBML2SBGNML, but once I start to debug the program I realized the changes I made are not executed and it is still executing the old code (even though I deleted the code). I searched for some solutions but those didn't help. I'll look for alternative ways to build the project.

Another question I have is that how does libSBN get incorporated into the SBFC project? Is it added as a JAR file in the build path? I found that one method invoked in SbgnUtil.java does not get recognized, so I wanted to rebuild the JAR file from source, but without much success. I will come back to building the SBFC later on, and focus on understanding the UML for the libraries now.

You need to make sure that all jar files that are on the lib folder are added to the eclipse build path. Then you can clean your project and see if there are any problem reported, if there are problem, eclipse might not compile your new code.

You can check the content of the script sbml2sbgnml.sh to see which class need to be call and with which parameters to run the converter. You have also a small gui that can help you test your converters (for that, you need to build the jar file with 'apache ant'). http://sbfc.sourceforge.net/mediawiki/index.php/SBML2SBGNML contain some links and instructions on how to build from the command line using ant.

Cheers,
Nico



On Wed, Mar 15, 2017 at 3:40 AM, Andreas Dräger <dr.andrea...@gmail.com> wrote:
Dear Haoran Yu,

I am coming back to your request for a Google Summer of Code project. At this time, it would certainly be best to create a Google Document and to share it with us, in which you can write your application. If you need templates, we can provide you with examples of excellent previous applications. Also, it would be recommendable to checkout the JSBML Users' Guide (see http://sbml.org/Software/JSBML/docs) and to experiment a bit with the JSBML project (https://github.com/sbmlteam/jsbml).

Let us know if you run into trouble or have any questions.

With best regards
Andreas



> Am 08.03.2017 um 14:18 schrieb Nicolas Rodriguez <rodri...@babraham.ac.uk>:
>
>
>
> On 08/03/17 09:06, Andreas Dräger wrote:
>>> Am 08.03.2017 um 04:13 schrieb Haoran Yu <hale...@gmail.com>:
>>>
>>> Dear Dr. Dräger and Dr. Rodriguez,
>>>
>>> I'm not sure if I should post on the JSBML mailing list yet, so I decided to write this email.
>
> Don't be afraid to use the list, the jsbml-team is not public and it is
> better for us as we have searchable archive of the emails exchanges
> accessible to everybody.
> I am forwarding this email to it.
> It is good to also answer in the github issue so that other people know
> that somebody as expressed interest in this subject.
>
>>>  I am highly interested to work on the SBML and SBGN-ML Interconversion project because I have studied molecular genetics in the past and I know that biological pathways and networks is a hot research topic, and helping researchers archiving and documenting their findings would encourage better communication within the academic community.
>>>
>>> I am currently a student at the University of British Columbia (UBC) in Canada studying Computer Science. I am graduating in April, but I was admitted to the M.Sc at UBC, so I would continue my studies here. By working on a bioinformatics project this summer, I can improve my coding skills and gain more hands-on experience with research, and this would really help me find a potential supervisor for my thesis earlier next year. Currently, I'm thinking of doing bioinformatics research.
>>>
>>> After reading the project description on GitHub, I went to visit the SBML and the SBGN websites. The LibSBML (and JSBML) packages read SBML files and store SBML elements in a type hierachy, while LibSBGN reads SBGN-ML files and store the XML elements in a type hierarchy. Since the goal of the project is to allow interconversion between the 2 file formats, I wondered whether there is a tool that already does this. Currently I'm unable to find a converter from the SBML website (here) for SBGN. But the LibSBGN library (here) claims that it is able to convert to the SBML format. I haven't looked at the source code for LibSBGN yet, do you encourage me to have a look at it?
>>>
>>> My next question is whether there are tools that can open these 2 file formats that allow the user to view the pathway diagrams. For SBGN, I found this editor SGBN-ED (here). I haven't tried to use it yet. I'm wondering if you can suggest me some editors that open these 2 formats and allow me to explore the expressiveness of these file formats?
>>>
>>> Finally, since the project wants to interconvert between the two formats to the greatest possible extent, I would want to compare the differences between the 2 formats, and find out why one format is more expressive than the other. I'm planning the read the documentation (such as this one). What other documentations do you suggest me to read?
>>>
>>> Could you let me know if you encourage me to continue to develop the project's proposal, and provide me some suggestions to getting started on the project?
>>>
>>> Thank you for your response,
>>>
>>> Sincerely,
>>> Haoran Yu
>>
>> Dear Haoran Yu,
>>
>> Thank you for your interest in this project. Let me answer your questions:
>>
>> 1) Is there a tool that converts between SBML and SBGN-ML?
>>
>> I am sure there are some. However, these might be embedded in some larger packages and most likely are tailored towards the needs of a specific research group's requirements. In this project we want to create a systematic and reusable toolbox that provides the conversion capability and can be incorporated into third-party software for importing or exporting either file format. Thereby, the conversion should be done to the greatest possible extend.
>
> So, we have already, on the SBFC project (http://sbfc.sf.net), a
> converter from SBML to SBGN-ML. That's a project done few years ago by
> another student, it will use SBO terms or RDF annotations to determine
> the correct SBGN glyph to use. It will also try to create complex SBGN
> glyph in some cases. It work well and could be a good starting point, at
> least to see what need to be done. It does not make use at all of the
> potential layout information in the SBML file and in general, it does
> not produce any layout, everything is put in 0,0.
>
> https://sourceforge.net/p/sbfc/code/HEAD/tree/trunk/src/org/sbfc/converter/sbml2sbgnml/SBML2SBGNML.java
>
>>
>> 2) Are there tools that can open SBGN-ML and SBML to look at pathway diagrams?
>>
>> Yes, there are quite a few. Hopefully, this project will contribute to increasing the adoption of both formats. SBGN-ED is one tool. Others are the SBML Layout Viewer (http://sysbioapps.dyndns.org/Layout), Cy3SBML (http://apps.cytoscape.org/apps/cy3sbml), EscherConverter (http://escher.readthedocs.io/en/stable/escherconverter.html) and some others.
>>
>> 3) Recommendable literature
>>
>> Yes, the presentation slides you found are a very good start. There are also the following documents:
>> * SBML L3V1 core specification: http://sbml.org/Special/specifications/sbml-level-3/version-1/core/release-2/sbml-level-3-version-1-core-release-2.pdf
>> * SBML Layout V1R1 specification: http://sbml.org/Special/specifications/sbml-level-3/version-1/layout/sbml-layout-version-1-release-1.pdf
>> * The specifications of SBGN: http://sbgn.github.io/sbgn/specifications
>
> I will add to those, SBO. If you look to the SBGN specifications, you
> will already find mention of SBO there. Each glyph is associated with a
> sub branch of the SBO ontology.
> http://www.ebi.ac.uk/sbo/main/
>
>> Please don't feel overwhelmed at this point because of the amount of available material. These specifications are very detailed documents that describe a lot of features we actually won't need in this project. I therefore recommend downloading them all and looking mainly through the the UML diagrams displayed.
>>
>> In this project we should first focus on bidirectional conversion between SBML+Layout and SBGN PD. So, the first resources for you would be the SBML Layout extension and SBGN-PD specification.
>>
>> Please don't hesitate asking questions at any time.
>>
>> With best regards
>>
>> Dr. Andreas Draeger
>> Principal Investigator
>> ---
>> University of Tübingen
>> Center for Bioinformatics Tübingen (ZBIT)
>> Applied Bioinformatics Group
>> Sand 14 · Office #C320 · 72076 Tübingen · Germany
>> Phone: +49-7071-29-70459 · Fax: +49-7071-29-5152
>> Web: http://draeger-lab.org · Twitter: @dr_drae
>> YouTube: https://www.youtube.com/channel/UCp7fWtXGFOIjV35u7ONiVbg
>>
>
> The Babraham Institute, Babraham Research Campus, Cambridge CB22 3AT Registered Charity No. 1053902.
> The information transmitted in this email is directed only to the addressee. If you received this in error, please contact the sender and delete this email from your system. The contents of this e-mail are the views of the sender and do not necessarily represent the views of the Babraham Institute. Full conditions at: www.babraham.ac.uk<http://www.babraham.ac.uk/terms>

Dr. Andreas Dräger
Cell: +49-174-9935514 · Phone: +49-7121-1393325
Bahnhofstr. 43/1 · 72138 Kirchentellinsfurt · Germany
Web: http://www.kaercher-draeger.de · Twitter:  @dr_drae


--
You received this message because you are subscribed to the Google Groups "jsbml-team" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jsbml-team+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Haoran Yu

unread,
Mar 15, 2017, 12:32:59 PM3/15/17
to sbfc-forum, jsbml...@googlegroups.com
Thank you for your help. I've been trying the "Conversion using Java" instead of using the scripts, but I suspect that my Java project is corrupted. Here are my reasons:

I added all the jar files in lib to my build path. Is org.sbgn-m2.jar the package for libSBGN? 
I added the "src","examples","test" directories to my build path. Are there more directories I need to add?
I built my project using Ant by following the instructions on the SBFC Wiki. The build was successful.
I opened sbml2sbgnml.sh and confirmed that the model SBMLModel is working correctly because SBML2Dot had no problem converting from SBML to Dot. So the issue must be in SBML2SBGNML.
Then I used the GUI by running sbfConverterGUI.bat, and the SBML2SBGNML generated a semi-correct output (which is expected).

So all of the above worked for me, except that when I run SBML2SBGNML.java I still get the errors. Can anyone give me any pointers on correctly building SBFC in Eclipse?

Thanks,
Haoran

To unsubscribe from this group and stop receiving emails from it, send an email to jsbml-team+unsubscribe@googlegroups.com.

Nicolas Rodriguez

unread,
Mar 15, 2017, 1:15:28 PM3/15/17
to Haoran Yu, sbfc-forum, jsbml...@googlegroups.com



On 15/03/17 16:32, Haoran Yu wrote:
Thank you for your help. I've been trying the "Conversion using Java" instead of using the scripts, but I suspect that my Java project is corrupted. Here are my reasons:

I added all the jar files in lib to my build path. Is org.sbgn-m2.jar the package for libSBGN? 

Yes


I added the "src","examples","test" directories to my build path. Are there more directories I need to add?

No


I built my project using Ant by following the instructions on the SBFC Wiki. The build was successful.
I opened sbml2sbgnml.sh and confirmed that the model SBMLModel is working correctly because SBML2Dot had no problem converting from SBML to Dot. So the issue must be in SBML2SBGNML.
Then I used the GUI by running sbfConverterGUI.bat, and the SBML2SBGNML generated a semi-correct output (which is expected).

So all of the above worked for me, except that when I run SBML2SBGNML.java I still get the errors. Can anyone give me any pointers on correctly building SBFC in Eclipse?


Can you give us details of the error you are getting ?

Many output like "WARN (SBGNUtils.java:156) - Warning : cannot find a valid class for the uri ....." are expected.

Thanks,
Nico

Haoran Yu

unread,
Mar 15, 2017, 9:00:40 PM3/15/17
to Nicolas Rodriguez, sbfc-forum, jsbml...@googlegroups.com
I didn't get a warning for SBGNUtils when building with Ant. I built from a fresh copy of the project and it fixed the problem, any changes in the code is now reflected when running SBML2SBGNML. And I'm getting a correctly converted sbgn file.

There is still one small issue, SbgnUtil.readFromFile() is not visible globally, and it can't be invoked by SBML2SBGNML. Is this an old problem or did I do something incorrectly? I wasn't able to fix the issue by building the jar file from libSBGN source code.

Thanks,
Haoran

Andreas Dräger

unread,
Mar 16, 2017, 4:17:46 AM3/16/17
to Haoran Yu, sbfc-forum, jsbml...@googlegroups.com

> Am 16.03.2017 um 02:00 schrieb Haoran Yu <hale...@gmail.com>:
>
> I didn't get a warning for SBGNUtils when building with Ant. I built from a fresh copy of the project and it fixed the problem, any changes in the code is now reflected when running SBML2SBGNML. And I'm getting a correctly converted sbgn file.
>
> There is still one small issue, SbgnUtil.readFromFile() is not visible globally, and it can't be invoked by SBML2SBGNML. Is this an old problem or did I do something incorrectly? I wasn't able to fix the issue by building the jar file from libSBGN source code.
>
> Thanks,
> Haoran


Dear Haoran,

If building the SBGN library fails, you can also just use their precompiled JAR file and see if you can at least compile the JSBML project. Using Maven, this should (hopefully) run smoothly.

Nicolas Rodriguez

unread,
Mar 16, 2017, 6:36:18 AM3/16/17
to Haoran Yu, sbfc-forum, jsbml...@googlegroups.com



On 16/03/17 01:00, Haoran Yu wrote:
I didn't get a warning for SBGNUtils when building with Ant. I built from a fresh copy of the project and it fixed the problem, any changes in the code is now reflected when running SBML2SBGNML. And I'm getting a correctly converted sbgn file.

There is still one small issue, SbgnUtil.readFromFile() is not visible globally, and it can't be invoked by SBML2SBGNML. Is this an old problem or did I do something incorrectly? I wasn't able to fix the issue by building the jar file from libSBGN source code.

I think I might have modified the libSBGN source code to allow that. But if you use the jar file contained in the sbfc lib folder, it should be fine.
Reply all
Reply to author
Forward
0 new messages