#3 GSoC’18 – Coding begins

The coding phase for Google Summer of Code (GSoC) started on May 14th and since then I have spent day and night just reading, understanding and writing code for SBSCL.

Build process:

I talked about build process last week but this week I tried something fancy! This week, I tried building SBSCL using maven instead of m2e plugin directly from command-line. You might think that since everything works fine in eclipse, it should also be simple with mvn but that’s not the case. To cut things short, I recommend using Eclipse as the build environment for SBSCL and since the latest version comes with m2e already, the build process is a piece of cake. All you have to do is right-click > run as > maven build (or maven install).

  1. import java folder in eclipse
  2. right click on the project and Run As > maven build

If you get dependency missing errors, you need those jar files to build. Most jars files required by SBSCL are available in maven central repo except – cplexGLPKSolver, lpsolve and  SCPsolver. Note that sometimes maven might give error: unknown build environment. This might be if you are using JRE instead of JDK. You can solve this by downloading JDK or retrying to apply run as command.

Once you have all the depdency JAR files with you, they need to be added to lib/{dependency_name}. You will find empty folders inside lib folder already created for you to place the jar files.

For those of you who still want to try maven to build it, you will have to edit pom.xml file to include all the source folders to classpath and then run following command to create a standalone jar.

mvn clean package install assembly:single

After build process, the standalone jar file is created in the target folder.

Tests for SBSCL:

Moving on, I focused mainly on trying to run several TestSuites to check existing code of SBSCL. SBML community has a wonderful archive with several models which can be used to test your code. You can download a zip file from their GitHub page. There is also a BioModels database which contains models from several studies. This database is also a wonderful resource to test simulation software.  Similarly, there is an online model database for constraints-based models by BiGG and you can download a zip file containing all the models.

Extending SBSCL to support SED-ML L1V2:

After trying all the examples and testSuites, I started learning more about SED-ML Level 1 Version 2 since SBSCL needs to support repeatedTasks and Range which were added in SED-ML Level 1 Version 2. One interesting thing that I wasn’t able to find was a full testSuite of SED-ML examples similar to SBML. Anyway, I am still working on this task and will post some updates soon.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s