Closed draeger closed 3 years ago
Hi @draeger I'm a second year student at Dawson College in Montreal, Canada. I am really interested in working on this project. I have been familiarizing myself with the JavaCC parser. For the project, I am wondering if there are any external libraries or frameworks would be useful to complete this object. and if there are, can you recommend them to me? Thanks, Quan
@nguyenquannnn, thanks for your interest. JSBML has already one JavaCC parser for reading C-like formula String
s (see JSBML's formula parser package, which has been maintained by @niko-rodrigue). Antimony itself has an implementation in C by @luciansmith (see libAntimony). If you are familiar with Python, you can try Antimony most easily using Tellurium. The nice thing about it is that it bi-directionally converts from and to SBML.
In order to move forward, I would also recommend to you to soon draft a proposal in GoogleDocs that follows the structure of the tempelate https://tinyurl.com/nrnb-gsoc-application-template and to share it with your potential mentors (@niko-rodrigue, @luciansmith, and myself). We will be happy to give you feedback on it.
The core of the Antimony parser itself is written in C++ for 'bison':
https://sourceforge.net/p/antimony/code/HEAD/tree/antimony/src/antimony.ypp
You don't need to be super familiar with bison itself to get the basic idea, I think--the format of these types of files tends to be pretty similar from one to the other.
If you have any questions, feel free to ask!
There must be a Bison equivalent for Java.
Herbert
On Tue, Mar 13, 2018 at 3:06 PM, Lucian Smith notifications@github.com wrote:
The core of the Antimony parser itself is written in C++ for 'bison':
https://sourceforge.net/p/antimony/code/HEAD/tree/ antimony/src/antimony.ypp
You don't need to be super familiar with bison itself to get the basic idea, I think--the format of these types of files tends to be pretty similar from one to the other.
If you have any questions, feel free to ask!
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/nrnb/GoogleSummerOfCode/issues/97#issuecomment-372835133, or mute the thread https://github.com/notifications/unsubscribe-auth/ABAZDoo0hHWiBOqNupuizQPavblK5KICks5teEMCgaJpZM4Q_UP3 .
Yes, Antlr or JavaCC
On Mar 13, 2018, at 5:55 PM, Herbert Sauro notifications@github.com wrote:
There must be a Bison equivalent for Java.
Herbert
On Tue, Mar 13, 2018 at 3:06 PM, Lucian Smith notifications@github.com wrote:
The core of the Antimony parser itself is written in C++ for 'bison':
https://sourceforge.net/p/antimony/code/HEAD/tree/ antimony/src/antimony.ypp
You don't need to be super familiar with bison itself to get the basic idea, I think--the format of these types of files tends to be pretty similar from one to the other.
If you have any questions, feel free to ask!
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/nrnb/GoogleSummerOfCode/issues/97#issuecomment-372835133, or mute the thread https://github.com/notifications/unsubscribe-auth/ABAZDoo0hHWiBOqNupuizQPavblK5KICks5teEMCgaJpZM4Q_UP3 .
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/nrnb/GoogleSummerOfCode/issues/97#issuecomment-372858773, or mute the thread https://github.com/notifications/unsubscribe-auth/ADWD90q2RSag0um4pL_ZcszPWUOup4wIks5teFyEgaJpZM4Q_UP3.
Antlr looks similar to Bison/Yacc
Herbert
On Tue, Mar 13, 2018 at 6:36 PM, cjmyers notifications@github.com wrote:
Yes, Antlr or JavaCC
On Mar 13, 2018, at 5:55 PM, Herbert Sauro notifications@github.com wrote:
There must be a Bison equivalent for Java.
Herbert
On Tue, Mar 13, 2018 at 3:06 PM, Lucian Smith notifications@github.com wrote:
The core of the Antimony parser itself is written in C++ for 'bison':
https://sourceforge.net/p/antimony/code/HEAD/tree/ antimony/src/antimony.ypp
You don't need to be super familiar with bison itself to get the basic idea, I think--the format of these types of files tends to be pretty similar from one to the other.
If you have any questions, feel free to ask!
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/nrnb/GoogleSummerOfCode/issues/97# issuecomment-372835133, or mute the thread https://github.com/notifications/unsubscribe-auth/ ABAZDoo0hHWiBOqNupuizQPavblK5KICks5teEMCgaJpZM4Q_UP3 .
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub < https://github.com/nrnb/GoogleSummerOfCode/issues/97# issuecomment-372858773>, or mute the thread https://github.com/ notifications/unsubscribe-auth/ADWD90q2RSag0um4pL_ ZcszPWUOup4wIks5teFyEgaJpZM4Q_UP3.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/nrnb/GoogleSummerOfCode/issues/97#issuecomment-372875252, or mute the thread https://github.com/notifications/unsubscribe-auth/ABAZDo-KC7vzIDR3dZKVbi5oCS12myQJks5teHQEgaJpZM4Q_UP3 .
Hi @niko-rodrigue and @draeger,
Do you still tend to build Java binding for libAntimony? We might collaborate with this work if you are interested in.
Regards, Tung
@ntung thanks for your interest in this topic! Yes, it is still current. Could you please contact us via e-mail? We will be happy to assist you putting together a competitive proposal.
Background
Modeling in systems biology often requires scripting and drafting models and simulation procedures. Many programs have been designed for this purpose. The de facto standard format for encoding and exchanging models in systems biology is SBML. Part of the success of this format is because of its unambiguous and well-defined specifications. However, as an XML-based language, it is difficult for humans to comprehend or write. As an alternative, the shorthand notation Antimony was created as a declarative scripting language for systems biology models. By using this notation, models can be quickly written and its main concepts can be easily understood.
Goal
In this project, a grammar for developing a Java parser for the Antimony language is to be conceived using the JavaCC project. The resulting parser will be incorporated into the JSBML project, so that Antimony files can be interconverted with Java™ data structures and be easily manipulated by numerous software.
Difficulty Level 2
This project requires some understanding of systems biology and modeling aspects as well as computer languages and formal grammars.
Skills
Theoretical computer science and computer languages, systems biology modeling, Java programming
Java™ (essential) JavaCC (nice to have)
Public Repository
https://github.com/sbmlteam/jsbml
Potential Mentors
Andreas Dräger Nicolas Rodriguez
Contact
Andreas Dräger