tag:blogger.com,1999:blog-46415901273983405512024-02-20T05:18:51.898-08:00GSoC 2014- JSBMLAnonymoushttp://www.blogger.com/profile/07115736579124852303noreply@blogger.comBlogger15125tag:blogger.com,1999:blog-4641590127398340551.post-69278003223648701692014-08-23T20:19:00.000-07:002014-09-08T20:47:39.479-07:00Project CompletionI am very excited to say that my project for GSoC is complete! :)<br />
<br />
I spent 5 days in Los Angeles at COMBINE 2014. I presented on August the 20th. Presentation link and video link are below.<br />
<br />
<br />
<iframe allowfullscreen="" frameborder="0" height="356" marginheight="0" marginwidth="0" scrolling="no" src="//www.slideshare.net/slideshow/embed_code/38292434" style="border-width: 1px; border: 1px solid #CCC; margin-bottom: 5px; max-width: 100%;" width="427"> </iframe> <br />
<br />
<iframe allowfullscreen="" frameborder="0" height="315" src="//www.youtube.com/embed/Eh_1OORIGx8" width="560"></iframe>Anonymoushttp://www.blogger.com/profile/07115736579124852303noreply@blogger.com0tag:blogger.com,1999:blog-4641590127398340551.post-68407729272777673332014-08-05T22:36:00.001-07:002014-08-05T22:36:54.766-07:00The Final Week is here!Hello all,<br />
<br />
I have quite a bit to report on the advancement of my project.<br />
<br />
My current checklist was as so:<br />
<br />
1. Complete synchronization of CellDesigner plugin model and JSBML.<br />
2. maintain map of SBases.<br />
2. Finish Render Extension additions<br />
3. Work on adding cases to Reaction positioning algorithm(main reaction axes over 4 points were never handled, very diverse minority of cases)<br />
<br />
During the last meeting, it was found that Rules, UnitDefinition, Events, Constraints, Parameters, etc are not synchronized in CellDesigner. Also, it was also found that IDs for many CellDesigner PluginSBases can be changed, and are not constant. Therefore, we could not depend on Ids to synchronize the CellDesigner and JSBML models.<br />
<br />
As such, a new algorithm was proposed for Changing and Deleting SBases.<br />
<br />
If a PluginSBase(other than Models or Compartments) is changed or deleted, we:<br />
1. delete all associated JSBML objects in Model and Layout<br />
2. delete them from the Map of SBases<br />
2. re-add them directly from the CellDesigner model.<br />
<br />
This has been done for all CellDesigner PluginSBases, and as such, there is a thorough synchronization.<br />
The map is also maintained properly.<br />
<br />
On the Layout front, I FINALLY got reaction axes over 4 points to be read properly by my algorithm. There are still small bugs that need to be fleshed out, but I am happy a few downloaded models actually render 95%+ properly.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigqrdlJa2Hx2eyAOlR8UxsX1u8W81WdZvt-uCfIcoHSKRB3JvWNtr6Y8tSElzpo22nedKW8YGUBXCXOMuYlCAtKcis5oRe4C2OOtk6s3X2Se1rlvaKcCipHLCpDC24isKB04AyCx9sJM-5/s1600/layout.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigqrdlJa2Hx2eyAOlR8UxsX1u8W81WdZvt-uCfIcoHSKRB3JvWNtr6Y8tSElzpo22nedKW8YGUBXCXOMuYlCAtKcis5oRe4C2OOtk6s3X2Se1rlvaKcCipHLCpDC24isKB04AyCx9sJM-5/s1600/layout.png" height="400" width="357" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
The above model did not render properly until main reaction axes over four points were handled. This is an excellent way to assure conformance to models "in the wild".<br />
<br />
Adding render information has always been difficult due to the complexity of the Render Extension itself, so I have not been getting very far on that. But I hope tomorrow will be a better day for that.<br />
<br />
Finally, my practice presentation for the final presentation is going to be on the 13th in preparation for COMBINE on the 20th. I will need to start creating some demos to show off the progress I have made this summer on improving the JSBML/CellDesigner plugin interface.Anonymoushttp://www.blogger.com/profile/07115736579124852303noreply@blogger.com0tag:blogger.com,1999:blog-4641590127398340551.post-55382743656879596102014-07-28T03:31:00.001-07:002014-07-28T03:32:36.232-07:00Synchronizing CellDesigner and JSBML, Contact with Akira and Checklist<span style="font-family: Arial, Helvetica, sans-serif;">Just a quick update since it is late here, but over the past week, I have been continuing with my synchronization of the JSBML/CellDesigner(CD) model representations. I have added a Map<PluginSBase, Set<SBase>>. The key is the CD object and all JSBML objects associated with the CD object.<br /><br />Since establishing contact with the main developer of CellDesigner (Dr. Akira Funahashi), I have sent him an email detailing some questions I had regarding CellDesigner.<br /><br />My questions to him:<br /><br />1. <span style="background-color: white; color: #222222;"> </span><span style="background-color: white; color: #222222;">Is there is an accurate way to determine the reaction direction, be it North-South, East-West, etc? This answer will be very useful in determining the position of the Reaction text element, as it is calculated dynamically behind the scenes in CellDesigner.<br /><br />2.According to the image below, when the CD user moves only a Reaction, nothing happens. One has to move a Species to send a Reaction SBaseChange event. This is unexpected and I would like some clarification on this if possible.</span></span><br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial, Helvetica, sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTv5gb66Lp723yOnYbHLNd9s7Yi0bKhcvzXNChN4m_Rt7af6VwjjlpQpTJqv2EFKq6HHHlb7-JuNn8WVdwUQWVhTIKqXFHog9Xx-EU0dexFv8CfsdFnAyKqxl7RYfihaFhpJx5ClrTi0NW/s1600/unnamed.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTv5gb66Lp723yOnYbHLNd9s7Yi0bKhcvzXNChN4m_Rt7af6VwjjlpQpTJqv2EFKq6HHHlb7-JuNn8WVdwUQWVhTIKqXFHog9Xx-EU0dexFv8CfsdFnAyKqxl7RYfihaFhpJx5ClrTi0NW/s1600/unnamed.png" height="312" width="400" /></a></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Arial, Helvetica, sans-serif;">3. Some CellDesigner model files force CellDesigner to send SBaseChanged events every time one part of the model is changed. This is odd behavior, as if the whole model is changed when one small part is changed. It is even more odd considering as other models only send SBaseChanged events for PluginSBases that are edited by the user rather than an event for every PluginSBase in the model. </span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br />Current checklist for myself:<br /><br />1. Add Render information</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Arial, Helvetica, sans-serif;">2. setCharge()/ FBC. </span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Arial, Helvetica, sans-serif;">3. add reactiontext info, fix bugs</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Arial, Helvetica, sans-serif;">4. find species reference sbases in CellDesigner</span></div>
Anonymoushttp://www.blogger.com/profile/07115736579124852303noreply@blogger.com0tag:blogger.com,1999:blog-4641590127398340551.post-73091081562659989682014-07-18T02:35:00.003-07:002014-07-18T02:35:37.287-07:00Aftermath of 17/7 MeetingI presented the slideshow below to Professor Funahashi (Akira), the main developer of CellDesigner, and my mentors at 15:00 UTC on 17/7/2014. <br />
<br />
<iframe frameborder="0" height="400" marginheight="0" marginwidth="0" scrolling="no" src="//www.slideshare.net/slideshow/embed_code/37118820" width="476"></iframe><br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
The presentation was a success because Akira was able to provide me with inside information and clarity to my work with CellDesigner. I asked questions at the end of the presentation which I will share answers with now:<br /><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXpnHhDIIw0f1zXT0C40660qMSAKv1G3vfwK46wOB5nzjWzB-nhC4J2sWs0Qj0DO2IV1mj4ZQvjOfylR1ZKPr9mhNIbf93fw7izwDMrV2mf-CGShJCtSf6XahAiKUPVtFEIgyinvCeUlaI/s1600/Untitled2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXpnHhDIIw0f1zXT0C40660qMSAKv1G3vfwK46wOB5nzjWzB-nhC4J2sWs0Qj0DO2IV1mj4ZQvjOfylR1ZKPr9mhNIbf93fw7izwDMrV2mf-CGShJCtSf6XahAiKUPVtFEIgyinvCeUlaI/s1600/Untitled2.png" height="298" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
Reaction text is calculated dynamically and hopefully, the algorithm will be provided to the team so we can also calculate reaction text in an identical way in JSBML. </div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyJ-x1RfoxUjUqKIBxds809J-p9rc_yJqW20m-Nl8MtPz15AwWNoG6T9meTDiZ0BDc30p3LmXjE8DlsE5NJYiX8fNV43QHugwujYI52VaB7PTun2KZkjzR67AzWRcmjZxxQ6R3uJ6fzp_j/s1600/Untitled3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyJ-x1RfoxUjUqKIBxds809J-p9rc_yJqW20m-Nl8MtPz15AwWNoG6T9meTDiZ0BDc30p3LmXjE8DlsE5NJYiX8fNV43QHugwujYI52VaB7PTun2KZkjzR67AzWRcmjZxxQ6R3uJ6fzp_j/s1600/Untitled3.png" height="300" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
PluginModel objects are not constant. As such, using PluginModels as a key in a Hashmap is impossible. Therefore, we need to remove our HashMap in AbstractCellDesignerPlugin and simply convert one model at a time.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
I am pleased by the progress at this meeting and have high morale. I expect a lot of progress in the next few days. </div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Anonymoushttp://www.blogger.com/profile/07115736579124852303noreply@blogger.com0Milwaukee, WI, USA43.0389025 -87.90647360000002742.6676395 -88.551920600000031 43.4101655 -87.261026600000022tag:blogger.com,1999:blog-4641590127398340551.post-24797576618171153282014-07-12T23:45:00.002-07:002014-07-12T23:45:45.616-07:00CellDesigner Reaction positioning and CellDesigner/JSBML synchronizationOver the past week, I have been working on two separate topics:<br /><br />1. Complete algorithm that use the CellDesigner Plugin API to calculate positioning for ReactionGlyphs and SpeciesReferenceGlyphs.<br />2. Establish way to synchronize CellDesigner's plugin datastructure and JSBML (so that CellDesigner models will be immediately and accurately represented in JSBML)<br /><br />
The first point has been completed. ReactionGlyphs and SpeciesReferenceGlyph positioning has been accurately implemented. I still have loose ends to tie up, but I am proud that my algorithms do the "right thing" in a variety of situations.<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglbOgDnV2mCX6LfnYnFABIUaPEcBop6gJdn9iMaXzbHrlaBxLY3k4xjR7GqT714VuT0uDzaFf6p4-auhQdPi1l4xLDxYFQMJ9iCbUSRxSwFOR_O-CdCPiVWbxtTVGd_-UR9nhPfKWeVBlm/s1600/Untitled2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglbOgDnV2mCX6LfnYnFABIUaPEcBop6gJdn9iMaXzbHrlaBxLY3k4xjR7GqT714VuT0uDzaFf6p4-auhQdPi1l4xLDxYFQMJ9iCbUSRxSwFOR_O-CdCPiVWbxtTVGd_-UR9nhPfKWeVBlm/s1600/Untitled2.png" height="220" width="640" /></a></div>
<br />
On the second point, I have created a plugin that receives events from CellDesigner and displays them in a console. As you can see, when the position of a species or reaction changes, CellDesigner informs the console.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitgXmNf2m_cnBi8I2_4Q-mPxX1nsPeiXdo2CcrM5jjuSyNeq0O4G8piquAmpV2d5vC-4xPvhTSjUp5-eJqUiZwJ8-9CyVMRk_Rvp52Kn_f4Zhgk6z0Z9Q4WF7adm7akctaYDNxofJT3a_O/s1600/Untitled.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitgXmNf2m_cnBi8I2_4Q-mPxX1nsPeiXdo2CcrM5jjuSyNeq0O4G8piquAmpV2d5vC-4xPvhTSjUp5-eJqUiZwJ8-9CyVMRk_Rvp52Kn_f4Zhgk6z0Z9Q4WF7adm7akctaYDNxofJT3a_O/s1600/Untitled.png" height="278" width="640" /></a></div>
<br />
The next step is to update the currently selected model in JSBML automatically when it is edited by the user.<br /><br />I did run into problems in the plugin implementation and I had a few small hang-ups in regards to getting consistent reaction coordinates, but things are progressing very well :)<br /><br />-IbrahimAnonymoushttp://www.blogger.com/profile/07115736579124852303noreply@blogger.com0Milwaukee, WI, USA43.0389025 -87.90647360000002742.6676395 -88.551920600000031 43.4101655 -87.261026600000022tag:blogger.com,1999:blog-4641590127398340551.post-20428803937581035302014-07-02T17:35:00.001-07:002014-07-02T17:35:47.147-07:00Calculating ReactionGlyph position in CellDesigner and new Plugin<span style="font-family: Arial, Helvetica, sans-serif;">CellDesigner does not make its Reaction position data available for developers to access. Therefore, we need to figure out how to determine Reaction size and position using our own algorithms.<br /><br />We have two choices:<br /><br /><span style="background-color: white; color: #222222;">1. Create a BoundingBox with x,y, height and width. </span><br style="background-color: white; color: #222222;" /><span style="background-color: white; color: #222222;">2. Create a Curve for both the ReactionGlyph and the SpeciesReferenceGlyphs. </span><br style="background-color: white; color: #222222;" /><span style="background-color: white; color: #222222;"> -ReactionGlyph curve segment will be in the middle of the Reaction.</span><br style="background-color: white; color: #222222;" /><span style="background-color: white; color: #222222;"> -SpeciesReferenceGlyph curve segments will be coming off the center curve segment and pointing to SpeciesGlyphs, be it product, reactant, or modifier. </span></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="background-color: white; color: #222222; font-size: 12.800000190734863px;"><br /></span></span>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnqjhZtXJHhSgtBVdWBzwXAIaeh87ERk0JwJLZcULGH60Y-80mXItvvCPl63QhynKd_uoMjVX3hgPC5Nsu2Dn-1ZZQniM9G_KxMI2xMFX1-xmuEr__OLoh3RJ85TyzMsnbRyk9qu1yOz5O/s1600/Untitled.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnqjhZtXJHhSgtBVdWBzwXAIaeh87ERk0JwJLZcULGH60Y-80mXItvvCPl63QhynKd_uoMjVX3hgPC5Nsu2Dn-1ZZQniM9G_KxMI2xMFX1-xmuEr__OLoh3RJ85TyzMsnbRyk9qu1yOz5O/s1600/Untitled.png" height="216" width="640" /></a></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="background-color: white; color: #222222;"><br />The image above shows the difference between a ReactionGlyph and a SpeciesReferenceGlyph. The ReactionGlyph is the entire Reaction shape, while there are three SpeciesReferenceGlyphs which are separated by the small black circle, each leading to a SpeciesGlyph.</span></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="background-color: white; color: #222222;"><br />Reaction position would be trivial if all reactions looked like the one above. However, reactions that make up a CellDesigner model can come in any and all orientations and positions, like the image below.</span></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="background-color: white; color: #222222;"><br /></span></span>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAeffHQmhA0Q9ZS3Q6_pTPuDb8VnbXN3nbn310Iy0Nylg_Iw0EpO_KGxtxftbrBNVwfxiN8W7vg91V34aWw5bBcnyoKu0onAaqTDYjBazpuP-IzL7NC_Jfi2RB-_pqPuWHOj-y8CssI-GY/s1600/M-Phase2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAeffHQmhA0Q9ZS3Q6_pTPuDb8VnbXN3nbn310Iy0Nylg_Iw0EpO_KGxtxftbrBNVwfxiN8W7vg91V34aWw5bBcnyoKu0onAaqTDYjBazpuP-IzL7NC_Jfi2RB-_pqPuWHOj-y8CssI-GY/s1600/M-Phase2.png" height="359" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<span style="color: #222222; font-family: Arial, Helvetica, sans-serif;"><span style="background-color: white;">As one can see, reactants, products, and modifiers are in all orientations respective to one another, which makes it very difficult to produce accurate position measurements. I have been working on this problem for a few days and still working on it. <br /><br />While doing this, I have also started on writing a plugin that prints out CellDesigner information(PropertyChangeEvents). This also does not work as of now. However, I have my weekly group meeting tomorrow at 15:00 UTC which will hopefully put me on the right track regarding these issues.</span></span>Anonymoushttp://www.blogger.com/profile/07115736579124852303noreply@blogger.com0Milwaukee, WI, USA43.0389025 -87.90647360000002742.6676395 -88.551920600000031 43.4101655 -87.261026600000022tag:blogger.com,1999:blog-4641590127398340551.post-22610557269601434022014-06-26T00:14:00.004-07:002014-06-26T00:17:17.374-07:00Midterm Presentation Here are my slides that I presented today for the midterm evaluation meeting:<br />
<iframe frameborder="0" height="400" marginheight="0" marginwidth="0" scrolling="no" src="http://www.slideshare.net/slideshow/embed_code/36323652" width="476"></iframe><br />
Dr. Hucka linked me to some Layout Extension links that I should look into further. They are here:<br />
<br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.800000190734863px; font-weight: bold;">"* Frank wrote an online SBML layout viewer: </span><a href="http://sysbioapps.dyndns.org/Layout" style="background-color: white; color: #1155cc; font-family: arial, sans-serif; font-size: 12.800000190734863px; font-weight: bold;" target="_blank">http://sysbioapps.dyndns.org/<wbr></wbr>Layout</a><br />
<br style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.800000190734863px;" />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.800000190734863px; font-weight: bold;">* COPASI should support reading layout: </span><a href="http://frank-fbergmann.blogspot.com/2014/04/copasi-412-released.html" style="background-color: white; color: #1155cc; font-family: arial, sans-serif; font-size: 12.800000190734863px; font-weight: bold;" target="_blank">http://frank-fbergmann.<wbr></wbr>blogspot.com/2014/04/copasi-<wbr></wbr>412-released.html</a><br />
<br style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.800000190734863px;" />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.800000190734863px; font-weight: bold;">* There are more tools that mention SBML layout support, at </span><a href="http://sbml.org/SBML_Software_Guide/SBML_Software_Summary" style="background-color: white; color: #1155cc; font-family: arial, sans-serif; font-size: 12.800000190734863px; font-weight: bold;" target="_blank">http://sbml.org/SBML_Software_<wbr></wbr>Guide/SBML_Software_Summary</a><b>"</b><br />
<br />
Things are going well with my project. These are my future plans:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7KQ_91DZSnaT48eDbdMkYDX2_EPPeI0fe2tPZnXpNy93VTr0q0PoAAipltUOkgX1cHKfB7rU11_4CbER-j9SB5EtFNNhWwEvF6vACPK5kYlRNYdvh6LIwOrJwjAmK5t40dOl3j26U-WtD/s1600/Untitled.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7KQ_91DZSnaT48eDbdMkYDX2_EPPeI0fe2tPZnXpNy93VTr0q0PoAAipltUOkgX1cHKfB7rU11_4CbER-j9SB5EtFNNhWwEvF6vACPK5kYlRNYdvh6LIwOrJwjAmK5t40dOl3j26U-WtD/s1600/Untitled.png" height="363" width="480" /></a></div>
Anonymoushttp://www.blogger.com/profile/07115736579124852303noreply@blogger.com0tag:blogger.com,1999:blog-4641590127398340551.post-64444603726391185782014-06-21T21:48:00.002-07:002014-06-21T21:53:48.567-07:00Preparing for the Second Group Meeting and Project UpdateAfter 4 hours of struggle and toil debugging my code and figuring out why CellDesigner's plugin interface was crashing: the photo below is the result. Without them, I would not have been able to work through the myriad of errors and obstacles that were appearing. Some of these errors had to do with the fact that one null pointer or any oversight caused no observable error message, but simply a dramatic failure, which is analogous to a missing nail collapsing the Empire State Building. Luckily, my mentors and I cobbled together a class that gives lots of debugging information when a plugin crashes.<br />
<div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i1136.photobucket.com/albums/n496/Yusef_Vazirabad/Untitled-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://i1136.photobucket.com/albums/n496/Yusef_Vazirabad/Untitled-1.png" height="491" width="640" /></a></div>
<br />
As one can see from the image, TextGlyphs, ReactionGlyphs, CompartmentGlyphs, and SpeciesGlyphs have now been added to the JSBML Layout Package. This is a great first step to completing my project's aims.<br />
<br />
The Second Group Meeting and my second presentation is on Wednesday the 25th. My first presentation went well, and I have plenty to talk about for the second presentation. I will post my presentation here soon.</div>
Anonymoushttp://www.blogger.com/profile/07115736579124852303noreply@blogger.com0Milwaukee, WI, USA43.0389025 -87.90647360000002742.6676395 -88.551920600000031 43.4101655 -87.261026600000022tag:blogger.com,1999:blog-4641590127398340551.post-32134383171166262172014-06-15T19:50:00.002-07:002014-06-15T19:50:14.604-07:00At the Cusp of Great ProgressHello everyone,<br />
<br />I just committed a <a href="http://sourceforge.net/p/jsbml/code/1806/" target="_blank">revision</a> to the JSBML project, most likely the biggest since I began committing JUnit tests in early May. I:<br />
<br />
<ol>
<li>Added two more JUnit Tests to the Render Package</li>
<li>Added UserMessages.xml in the examples/resource folder to the CellDesigner build.xml file</li>
<li>Moved SwingWorker to its' own file</li>
<li>AbstractCellDesignerPlugin now implements PropertyChangeListener</li>
</ol>
<div>
<b>I did run into problems with the Ant Script in regards to adding UserMessages.xml to the CellDesigner build file. </b>I will be asking my mentors about how to fix this issue.<br /></div>
<br />
I have also been developing schematics for my main project, the mapping of CellDesigner data structures to JSBML data structures. They are shown below in their (probably) final form.<br />
<br />
1. SpeciesGlyph<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i1136.photobucket.com/albums/n496/Yusef_Vazirabad/SpeciesGlyphPluginSpeciesMappingSchematic.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://i1136.photobucket.com/albums/n496/Yusef_Vazirabad/SpeciesGlyphPluginSpeciesMappingSchematic.png" height="449" width="640" /></a></div>
2. ReactionGlyph<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i1136.photobucket.com/albums/n496/Yusef_Vazirabad/ReactionGlyphPluginReactionMappingSchematic.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://i1136.photobucket.com/albums/n496/Yusef_Vazirabad/ReactionGlyphPluginReactionMappingSchematic.png" height="274" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
3. CompartmentGlyph</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i1136.photobucket.com/albums/n496/Yusef_Vazirabad/CompartmentGlyphPluginCompartmentMappingSchematic.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://i1136.photobucket.com/albums/n496/Yusef_Vazirabad/CompartmentGlyphPluginCompartmentMappingSchematic.png" height="494" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<b><u>Current To-Do List</u></b></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<ol>
<li style="text-align: left;">Suggest additions to user guide setting up JSBML development in Eclipse. </li>
<li style="text-align: left;">Fix UserMessages.xml problem.</li>
<li style="text-align: left;">Begin to convert the CellDesigner plugin data structure to JSBML data structure via a new class called convertModelLayoutPackage (or something analogous)</li>
</ol>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Anonymoushttp://www.blogger.com/profile/07115736579124852303noreply@blogger.com0Milwaukee, WI, USA43.0389025 -87.90647360000002742.6676395 -88.551920600000031 43.4101655 -87.261026600000022tag:blogger.com,1999:blog-4641590127398340551.post-12979163306944425672014-06-02T20:00:00.006-07:002014-06-02T20:00:54.306-07:00Render Package JUnit Tests and SchematicsMay 28th was our Group Meeting, and Victor and Leandro did excellent work! :)<div>
<br /></div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="http://i1136.photobucket.com/albums/n496/Yusef_Vazirabad/Untitled.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" src="http://i1136.photobucket.com/albums/n496/Yusef_Vazirabad/Untitled.jpg" height="257" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">The Render Package JUnit tests as of June 2nd, 2014</td></tr>
</tbody></table>
<div>
<div>
<br /></div>
<div>
<br /></div>
Over the past week, I have been working on extending the coverage of the JUnit tests in the Render Extension Package. There are now 10 completed unit tests out of the 34 Render Classes. </div>
<div>
<br /></div>
<div>
<br /><br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
I am planning on making schematics of each mapping of the CellDesigner plugin interface. The image below is the first schematic of a series. It was first seen during the <a href="http://www.slideshare.net/yvazirabad/improving-the-plugin-interface-for-celldesigner-v22" target="_blank">May 28th Presentation</a>.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i1136.photobucket.com/albums/n496/Yusef_Vazirabad/SpeciesAlias.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://i1136.photobucket.com/albums/n496/Yusef_Vazirabad/SpeciesAlias.png" height="376" width="640" /></a></div>
<div>
<br />I will be making other schematics for classes in the Layout Package ReactionGlyph, TextGlyph, CompartmentGlyph, etc.<br /><br />I have not been running into any problems that I have not been able to solve this week. </div>
<div>
<br /></div>
<div>
I will continue my JUnit testing, and I will begin to:<br /><span style="font-family: inherit; text-indent: -0.3in;"><br />Develop CellDesigner plugin.</span></div>
<div>
<div class="O1" style="direction: ltr; margin-bottom: 0pt; margin-left: 0.81in; margin-top: 5.28pt; text-indent: -0.38in; unicode-bidi: embed; word-break: normal;">
<span style="font-family: inherit;"><span style="color: #0f6fc6;">1.</span>Obtains CellDesigners's plugin
structure and export pure Layout/Render
SBML. </span></div>
<div class="O1" style="direction: ltr; margin-bottom: 0pt; margin-left: 0.81in; margin-top: 5.28pt; text-indent: -0.38in; unicode-bidi: embed; word-break: normal;">
<span style="font-family: inherit;"><span style="color: #0f6fc6;">2.</span>Visualization of SBML
network changes via JTree.</span></div>
<div class="O2" style="direction: ltr; margin-bottom: 0pt; margin-left: 1.11in; margin-top: 4.56pt; text-indent: -0.38in; unicode-bidi: embed; word-break: normal;">
<span style="font-family: inherit; font-size: x-small;"><span style="color: #009dd9;"></span>Synchronize changes
between plugin and CellDesigner.</span></div>
</div>
Anonymoushttp://www.blogger.com/profile/07115736579124852303noreply@blogger.com0Milwaukee, WI, USA43.0389025 -87.90647360000002742.6676395 -88.551920600000031 43.4101655 -87.261026600000022tag:blogger.com,1999:blog-4641590127398340551.post-76632326255457009372014-05-27T21:54:00.000-07:002014-05-27T21:57:20.519-07:00Presentation at 17:00 UTC on 28/5/2014. Be there or be Square! Hello all,<br />
<br />
Sorry for not blogging lately. I have been busy with sorting out my project goals and creating my presentation for the group meeting at 17:00 UTC on 28/5/2014.<br />
<br />
So, without further ado, here is my presentation!<br />
<br />
<iframe frameborder="0" height="400" marginheight="0" marginwidth="0" scrolling="no" src="http://www.slideshare.net/slideshow/embed_code/35199027" width="476"></iframe>Anonymoushttp://www.blogger.com/profile/07115736579124852303noreply@blogger.com0tag:blogger.com,1999:blog-4641590127398340551.post-48574446610035966202014-05-17T20:53:00.002-07:002014-05-17T20:53:59.846-07:00Render Package TestingOver the past week, I have been doing a few things. The main task was to develop JUnit test files for specific classes in the Render Extension package.<br /><br />
The <a href="http://otto.bioquant.uni-heidelberg.de/sbml/level2/20110525/sbml-render-specification-20110525.pdf" target="_blank">Render Specification</a> was perused and then these classes were tested:<br />
<br />1. ColorDefinition<br />
2. Curve<br />
3. Ellipse<br />
4. LinearGradient<br />
5. Polygon<br />
6. Rectangle<br />
7. Text<br />
<br />
I encountered one problem in developing these tests. For some reason, I was getting NullPointerExceptions for the getcx, setcx, or issetcx methods of the Ellipse class, even though the other cy and cz methods were fine. It was inexplicable. So I initialized the cx variable in the Ellipse class to 0d and the methods then worked.<br />
<br />I need to get ready for the next joint meeting on May 28th at 5 PM UTC(12 PM CST). I am already making preliminary preparations.<br />
<br />I still need to read the <a href="http://celldesigner.org/documents/CellDesigner4ExtensionTagSpecificationE.pdf" target="_blank">CellDesigner Extension Tag Specification Document</a>. I will most likely read this on Sunday the 18th.Anonymoushttp://www.blogger.com/profile/07115736579124852303noreply@blogger.com0tag:blogger.com,1999:blog-4641590127398340551.post-36188128083345127922014-05-11T19:37:00.000-07:002014-05-11T19:43:17.563-07:00Systems Biology Graphical NotationI have been reading the pertinent literature in regards to two portions of the Systems Biology Graphical Notation specifications:<br />
<br />
1. Process Description Language<br />
2. Activity Flow Language<br />
<br />
Let us discuss each in turn. <br />
<br />
According to the <a href="http://www.sbgn.org/Documents/Specifications" target="_blank">SBGN website</a>, the "Process Description language shows the temporal courses of biochemical interactions in a network. It can be used to show all the molecular interactions taking place in a network of biochemical entities, with the same entity appearing multiple times in the same diagram".<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="http://i1136.photobucket.com/albums/n496/Yusef_Vazirabad/fff.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="http://i1136.photobucket.com/albums/n496/Yusef_Vazirabad/fff.png" height="443" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Reference Card for SBGN symbols</td></tr>
</tbody></table>
Let us examine an example process description map(from page <a href="http://precedings.nature.com/documents/3721/version/4/files/npre20113721-4.pdf" target="_blank">57</a> of the specifications PDF) using the above reference card.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i1136.photobucket.com/albums/n496/Yusef_Vazirabad/smiley.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://i1136.photobucket.com/albums/n496/Yusef_Vazirabad/smiley.jpg" height="640" width="562" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
Onto the Activity Flow language specification:<br />
<br />
The <a href="http://www.sbgn.org/Documents/Specifications" target="_blank">Activity Flow Language</a> "depicts the flow of information between biochemical entities in a network. It omits information about the state transitions of entities and is particularly convenient for representing the effects of perturbations, whether genetic or environmental in nature".<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6X-DxiPFfFSGWoFztFx2mxiwCHo7X-8XPb3odiJApyv9zANfcMDWlgsxHUHllCHqPJG-wiODk264elSStHLIyLU-6hZvaop432AZ-3TvTd-bKdZV3nDyenRU3c67pGo_4GcXDKNwF7Pje/s1600/npre20093724-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6X-DxiPFfFSGWoFztFx2mxiwCHo7X-8XPb3odiJApyv9zANfcMDWlgsxHUHllCHqPJG-wiODk264elSStHLIyLU-6hZvaop432AZ-3TvTd-bKdZV3nDyenRU3c67pGo_4GcXDKNwF7Pje/s1600/npre20093724-1.png" height="400" width="640" /></a></div>
<br />
An Activity Flow Description map is annotated below.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i1136.photobucket.com/albums/n496/Yusef_Vazirabad/Untitledjjh.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://i1136.photobucket.com/albums/n496/Yusef_Vazirabad/Untitledjjh.jpg" height="400" width="387" /></a></div>
<br />
<br />Anonymoushttp://www.blogger.com/profile/07115736579124852303noreply@blogger.com0Milwaukee, WI, USA43.0389025 -87.90647360000002742.6676395 -88.551920600000031 43.4101655 -87.261026600000022tag:blogger.com,1999:blog-4641590127398340551.post-26403609873146974472014-05-09T12:56:00.004-07:002014-05-09T12:56:55.386-07:00On to Week 3!GSoC has been going on for over 2 weeks, and the JSBML team and I have been getting to know one another through dozens of emails and a handful of Google Hangouts. Since this was my first time working with a highly established project such as JSBML, there was a definite learning curve associated with setting up the project in Eclipse, setting up SVN/Subclipse, and checking out the project using https:// rather than http://. Dr. Dräger and Alex were incredibly patient with me and my workspace is finally up to snuff.<br />
<br />
Since my proposal focuses on the CellDesigner module and the Layout/Render extension packages, my first assignment was to test and analyze an example CellDesigner plugin to understand the interplay between JSBML and the CellDesigner program. That being completed, I then was asked to develop two JUnit test classes for the SpeciesReferenceGlyph and TextGlyph classes which tested all get(), set() and isSet() methods. Then, a frankly elegant method for running all JUnit tests was suggested by Dr. Dräger and <a href="http://www.ebi.ac.uk/about/people/nicolas-rodriguez" target="_blank">Dr. Rodriguez</a> which is seen below.<br />
<div>
<br /></div>
<div>
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnBDg5MbvPWj5rGl9ojHBQmPRfnnnMBKbTUyHITgi0ACwON95kcMt6pkSjXMGSTMx90SE9AfDg7qftToZREA8bu1yftlG0FjRFDnwLMNiAXKTOWW3JWMjMlhI9qa818TL546onQx6lGlTq/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> package org.sbml.jsbml.ext.layout;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;
@RunWith(value=Suite.class)
@SuiteClasses(value={TextGlyphTest.class, SpeciesReferenceGlyphTest.class})
public class LayoutJUnitTests {
}
</code></pre>
<div>
<br />
When this class is inserted into the build script, it runs all JUnit tests which are inserted into the @SuiteClasses method.<br /><br />My current assignment is to read both the Activity Flow Language specification and the Process Description Language specification on <a href="http://www.sbgn.org/Documents/Specifications" target="_blank">the SBGN website.</a><br />
<br />
<br /></div>
</div>
Anonymoushttp://www.blogger.com/profile/07115736579124852303noreply@blogger.com0tag:blogger.com,1999:blog-4641590127398340551.post-29689713521782395392014-05-08T13:52:00.000-07:002014-05-08T13:52:20.030-07:00IntroductionHello all!<br /><br /> My name is Ibrahim Vazirabad. I hold a bachelor's degree in BioMolecular Engineering from the Milwaukee School of Engineering and intend on starting my Master's degree in Bioinformatics at Marquette University starting this fall. This summer, I am being mentored by <a href="http://systemsbiology.ucsd.edu/Researchers/Draeger" target="_blank">Dr. Andreas Dräger</a> and <a href="http://systemsbiology.ucsd.edu/Researchers/Thomas" target="_blank">Alex Thomas</a>, both part of the JSBML community. My project this summer focuses on the improvement of the plug-in interface of CellDesigner and mapping the interface fully to JSBML data structures. This will assist in the porting of CellDesigner internals to JSBML from libSBML. <br /><br />I am very enthusiastic about the opportunity to work with Dr. Dräger, Alex, and the rest of the JSBML team. I am sure that it will be a great summer.<br /><br />Anonymoushttp://www.blogger.com/profile/07115736579124852303noreply@blogger.com0Milwaukee, WI, USA43.0389025 -87.90647360000002742.6676395 -88.551920600000031 43.4101655 -87.261026600000022