Re: [Genome Informatics] Interested in GSOC 2013 : Reactome Smartphone Application

140 views
Skip to first unread message

Robin Haw

unread,
Apr 16, 2013, 9:55:40 PM4/16/13
to genome-in...@googlegroups.com, Guanming Wu
Dear Umang,
Thank you for your interest in the Reactome Smartphone app. I've cc'd Guanming Wu, the mentor for this project, who is in a better position than I to provide feedback on your proposal plan.
Good luck with your proposal submission,
Regards,
Robin Haw


On Mon, Apr 15, 2013 at 12:26 PM, Umang Kedia <umangke...@gmail.com> wrote:
Hi everyone,
I am a 4th year Computer Science student from BITS Pilani, India. I am proficient in Java and I have experience with building Android applications. I developed an Android app for my college fest which was a simple RSS reader to notify people about the events during college fest. Apart from that I have great interest in Algorithms, computer networks and operating systems. I constantly take part in online coding competitions. I am also proficient in C, PHP, JavaScript, jQuery and MySQL. I have also developed a quizzing website for my college's annual fest which was based on PHP and JavaScript. 

Experience with RESTful Web Services: Currently I am doing my internship at PayPal, India. My first project here was based on getting the data from JIRA ( An open source bug tracking software) using JIRA REST API. My task was to develop a web app and display data in the form of graphs and allow filtering of data. The data was in JSON format and I used jQuery to read the data. I used HighCharts ( a popular JavaScript based graph API) to display the data and included filtering on basis of different field. I have a very good experience with REST architecture and jQuery along with core JavaScript. 

Apart from that, I have experience in Android, which would help me in developing the app for android.  Along with the native android SDK, I have experience with jQuery Mobile and PhoneGap using which we can develop a web app on Android. PhoneGap can be used to wrap the HTML, JavaScript and CSS to make the web app a native app and it can be used to access native functions of Android. Also, the PhoneGap APIs are same for both iOS and Android ( and also for Windows Phone) so it will be very easy to port the application on different platform.

I have provided the link for all the technologies I used or will use in making a smartphone app for the community. I would like to implement the app using PhoneGap and jQuery mobile instead of android's WebView. PhoneGap is based on android's webView but to access all the native features we have to write separate code in WebView for that. Also, it would be tough to port the app to different platform because we have to change everything again. PhoneGap hides all this implementation and allows easy access to all the native APIs.

Please mail me or reply to this post if you think there is something wrong with my implementation or places where I can improve. Also mail me for any further details you require.

Thank you.

Umang Kedia.

--
You received this message because you are subscribed to the Google Groups "Genome Informatics GSoC" group.
To unsubscribe from this group and stop receiving emails from it, send an email to genome-informat...@googlegroups.com.
To post to this group, send email to genome-in...@googlegroups.com.
Visit this group at http://groups.google.com/group/genome-informatics?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Guanming Wu

unread,
Apr 17, 2013, 11:00:46 AM4/17/13
to genome-in...@googlegroups.com, Umang Kedia
Hi Umang,

Your background sounds a good match to this project. Please feel free to let us know if you get any question.

Good luck with your application.

Guanming

Guanming Wu

unread,
Apr 18, 2013, 11:18:44 AM4/18/13
to Umang Kedia, genome-in...@googlegroups.com
I don't think we support JSONP. But have you tried "cross-origin resource sharing"?

Thanks,

Guanming


On 4/18/13 12:05 AM, Umang Kedia wrote:
Does Reactome REST architecture supports JSONP (JSON with padding) ? I was trying to retrieve JSON using JSONP but it was showing error.

Umang Kedia

unread,
Apr 18, 2013, 11:40:11 AM4/18/13
to Guanming Wu, genome-in...@googlegroups.com
Yeah, I tried doing that only. Since browsers normally (Chrome, Firefox etc) do not allow cross-origin resource sharing, JSONP has been made to circumvent this. If JSONP is not supported, we have to explicitly change setting in the browser to allow cross origin resource sharing (CORS). 

But today while experimenting with jQuery Mobile and PhoneGap I found, that we can easily allow any website to do CORS by putting a entry in the config.xml of PhoneGap. So that should not be a worry while making the mobile app. See the link: http://docs.phonegap.com/en/1.8.0rc1/guide_whitelist_index.md.html#Domain%20Whitelist%20Guide 

Thanks.
--
Umang Kedia
Student, BITS Pilani-Hyderabad Campus

Guanming Wu

unread,
Apr 19, 2013, 12:04:41 PM4/19/13
to Umang Kedia, genome-in...@googlegroups.com
Hi Umang,

Thanks a lot for your many inspiring ideas! I think it will be better to create some mock-up design so that your ideas can be grouped together for easy organization and communication.

Best,

Guanming


On 4/18/13 11:51 PM, Umang Kedia wrote:
Hi,
As you discussed with Dhritiman about the UI layout, which should be the stripped down version of http://www.reactome.org/entitylevelview/PathwayBrowser.html#DB=gk_current , I though we can develop a sliding menu for showing the options present on left menu of the webpage. We can use the sliding-menu API developed by jfenstein ( its open source and its highly customizable). This type of sliding drawer is suggested by Google's Android team to use in the app and the end result can be similar to this image http://developer.android.com/design/media/actionbar_drawer.png

This can be customized as per our requirement. I have made a basic sliding menu using this API and its hosted on github. 

Umang Kedia

unread,
Apr 20, 2013, 2:26:45 PM4/20/13
to Guanming Wu, genome-in...@googlegroups.com
Hi,
I created two basic layout to express my idea. Please don't go upon the design (that I will change later :) ), I have just created it to show the idea and the way it can be implemented. Please point out the mistakes if you feel my implementation is not correct or it can be improved.

Mockup 1: The home page will be of jQuery Mobile wrapped up in PhoneGap. The main page will show the Pathway. It can be expanded by clicking the '+' icon which will be similar to your website design. Clicking on any link will open the page for details. Images can be also shown while showing details but you discussed with Dhritiman that images are not required. Please see the first mockup to get an idea about my implementation.

Mockup 2: I discussed about the sliding menu with you in my previous email. I think we can use it to display the name of the species. The user can select any species and the home page will be modified depending on the pathway of that species. The sliding menu will open by gesture on the left side of the app. There will be also a search menu at the same place so that it will not clutter the UI. Clicking on search button will open a new page to enter the data. I have planned to implement sliding menu using Java. Java code can be called from jQuery mobile by creating a Phonegap plugin. Please refer to mockup2 to get an idea about my implementation.

Of course, this can be changed and its not perfect and design will be revamped. Feel free to point out mistakes. These mockups are just to give basic idea about my implementation. The images are attached below.


mockup 1.PNG
mockup 2.PNG

Guanming Wu

unread,
Apr 22, 2013, 11:55:23 AM4/22/13
to Umang Kedia, genome-in...@googlegroups.com
Hi Umang,

If you use Java via Phonegap plug-in, can the final app work with iOS devices still?

Thanks,

Guanming

Umang Kedia

unread,
Apr 22, 2013, 11:58:41 AM4/22/13
to Guanming Wu, genome-in...@googlegroups.com
Hi,
That will not work. Really sorry, I totally forgot about the iOS part. Plugin is written in native language which is Objective C in iOS. But don't worry about that. I have made that sliding menu in jQuery too. I won't use the plugin method. Really sorry. Also please comment on the mockups so that I can enhance it further. 

Thank you.

Guanming Wu

unread,
Apr 22, 2013, 12:02:26 PM4/22/13
to Umang Kedia, genome-in...@googlegroups.com
Don't worry! Not a problem at all.

The mock-ups are fine. However, a major question is how to describe the detailed information for a selected pathway, which has not covered by your mock-ups yet.

Thanks,

Guanming

Umang Kedia

unread,
Apr 22, 2013, 12:08:51 PM4/22/13
to Guanming Wu, genome-in...@googlegroups.com
Hi,
With detailed information of a pathway, you mean like if we select Apoptosis it should show details about Apoptosis including images( if required)? I have thought that when you click any of the option in pathway (mockup 1) it will open a new page and will show the details of that pathway. Clicking back button at the top will again open the pathway of selected species. 

I don't think we can accommodate both pathway diagram and pathway detail in a single page similar to the website as the page size will be small. Please mail if you think we can do this in alternate way. 

Thank you.

Umang Kedia

unread,
Apr 22, 2013, 2:19:28 PM4/22/13
to Guanming Wu, genome-in...@googlegroups.com
Hi,
I have thought about a basic mockup which could show the sub pathways after we select a pathway. For example, if we select Apoptosis, four sub pathways are there. So that I have tried to show in dropdown on the top. When user will select any of them, new sub pathways will be added to dropdown.

Also, I have shown the Stable Identifier, Authored and other basic data in Expandable way as they will be read by few users so they should take less space.

Please review this mockup. I will try to improve it and think upon new ways to display pathway detail. Complete pathway is difficult to show along with details due to small size of phone screen. The image is attached below.

Thank you.
mockup3.png

Guanming Wu

unread,
Apr 22, 2013, 6:24:16 PM4/22/13
to Umang Kedia, genome-in...@googlegroups.com
Sound a nice design. Probably you may place text at the top since it is most important to users.

Look forward to your proposal!

Good luck!

Guanming

Guanming Wu

unread,
Apr 24, 2013, 10:59:22 AM4/24/13
to Umang Kedia, genome-in...@googlegroups.com
Thanks a lot for your proposal! 

Guanming


On Apr 24, 2013, at 6:41 AM, Umang Kedia wrote:

Hi,
I have submitted the proposal. I have also placed the text at the top as suggested by you. Please see the updated mockup. 

Thank you. Looking forward to work with the community. 


<mockup4.png>

Umang Kedia

unread,
Apr 24, 2013, 9:41:17 AM4/24/13
to Guanming Wu, genome-in...@googlegroups.com
Hi,
I have submitted the proposal. I have also placed the text at the top as suggested by you. Please see the updated mockup. 

Thank you. Looking forward to work with the community. 


On Tue, Apr 23, 2013 at 3:54 AM, Guanming Wu <guanm...@gmail.com> wrote:
mockup4.png

Guanming Wu

unread,
Apr 25, 2013, 5:39:38 PM4/25/13
to genome-in...@googlegroups.com
You are right. This method cannot return JSON for the time being. I think we will update it soon. But for the time being, consider it returns XML only, please.

Thanks,

Guanming


On Apr 25, 2013, at 7:18 AM, Umang Kedia wrote:

Hi,
Just a small doubt. Few REST APIs do not return data in JSON format. They just give the data in XML format. For eg. Pathway hierarchy http://reactomews.oicr.on.ca:8080/ReactomeRESTfulAPI/RESTfulWS/pathwayHierarchy/homo+sapiens

I just wanted to know that will this be updated to return data in JSON format? I just wanted to keep it streamlined because almost all the APIs return data in XML format so it will be to better to parse XML only rather than parsing few in XML and few in JSON. If the APIs will be updated then it would be better to parse JSON as its more compact and more readable.

Thank you.


On Monday, April 15, 2013 9:56:22 PM UTC+5:30, Umang Kedia wrote:
Hi everyone,
I am a 4th year Computer Science student from BITS Pilani, India. I am proficient in Java and I have experience with building Android applications. I developed an Android app for my college fest which was a simple RSS reader to notify people about the events during college fest. Apart from that I have great interest in Algorithms, computer networks and operating systems. I constantly take part in online coding competitions. I am also proficient in C, PHP, JavaScript, jQuery and MySQL. I have also developed a quizzing website for my college's annual fest which was based on PHP and JavaScript. 

Experience with RESTful Web Services: Currently I am doing my internship at PayPal, India. My first project here was based on getting the data from JIRA ( An open source bug tracking software) using JIRA REST API. My task was to develop a web app and display data in the form of graphs and allow filtering of data. The data was in JSON format and I used jQuery to read the data. I used HighCharts ( a popular JavaScript based graph API) to display the data and included filtering on basis of different field. I have a very good experience with REST architecture and jQuery along with core JavaScript. 

Apart from that, I have experience in Android, which would help me in developing the app for android.  Along with the native android SDK, I have experience with jQuery Mobile and PhoneGap using which we can develop a web app on Android. PhoneGap can be used to wrap the HTML, JavaScript and CSS to make the web app a native app and it can be used to access native functions of Android. Also, the PhoneGap APIs are same for both iOS and Android ( and also for Windows Phone) so it will be very easy to port the application on different platform.

I have provided the link for all the technologies I used or will use in making a smartphone app for the community. I would like to implement the app using PhoneGap and jQuery mobile instead of android's WebView. PhoneGap is based on android's webView but to access all the native features we have to write separate code in WebView for that. Also, it would be tough to port the app to different platform because we have to change everything again. PhoneGap hides all this implementation and allows easy access to all the native APIs.

Please mail me or reply to this post if you think there is something wrong with my implementation or places where I can improve. Also mail me for any further details you require.

Thank you.

Umang Kedia.

--
You received this message because you are subscribed to the Google Groups "Genome Informatics-Google Summer of Code Group" group.

To unsubscribe from this group and stop receiving emails from it, send an email to genome-informat...@googlegroups.com.
To post to this group, send email to genome-in...@googlegroups.com.

Guanming Wu

unread,
Apr 29, 2013, 12:01:08 PM4/29/13
to genome-in...@googlegroups.com
Hi Umang,

BioPAX itself is OWL based. So in our RESTful API, the returned result for BioPAX export is always in OWL, an application of XML, regardless what format you ask.

Thanks,

Guanming


On Apr 29, 2013, at 2:51 AM, Umang Kedia wrote:

Hi,
I was going through the REST APIs provided by reactome and I came across the BioPAX exporter (first one). I searched about BioPAX and found that its a biological term and refers to Biological Pathway Exchange. This api contains the details of pathway for example, the details of apoptosis. But it returns RDF document in xml. It might sound silly but I had no clue about RDF until I searched it on google. But its written in the API documentation that BioPAX can be exported in either XML or JSON. But I wasn't able to read it in JSON format. Am I missing something or is it server side problem?


On Monday, April 15, 2013 9:56:22 PM UTC+5:30, Umang Kedia wrote:
Hi everyone,
I am a 4th year Computer Science student from BITS Pilani, India. I am proficient in Java and I have experience with building Android applications. I developed an Android app for my college fest which was a simple RSS reader to notify people about the events during college fest. Apart from that I have great interest in Algorithms, computer networks and operating systems. I constantly take part in online coding competitions. I am also proficient in C, PHP, JavaScript, jQuery and MySQL. I have also developed a quizzing website for my college's annual fest which was based on PHP and JavaScript. 

Experience with RESTful Web Services: Currently I am doing my internship at PayPal, India. My first project here was based on getting the data from JIRA ( An open source bug tracking software) using JIRA REST API. My task was to develop a web app and display data in the form of graphs and allow filtering of data. The data was in JSON format and I used jQuery to read the data. I used HighCharts ( a popular JavaScript based graph API) to display the data and included filtering on basis of different field. I have a very good experience with REST architecture and jQuery along with core JavaScript. 

Apart from that, I have experience in Android, which would help me in developing the app for android.  Along with the native android SDK, I have experience with jQuery Mobile and PhoneGap using which we can develop a web app on Android. PhoneGap can be used to wrap the HTML, JavaScript and CSS to make the web app a native app and it can be used to access native functions of Android. Also, the PhoneGap APIs are same for both iOS and Android ( and also for Windows Phone) so it will be very easy to port the application on different platform.

I have provided the link for all the technologies I used or will use in making a smartphone app for the community. I would like to implement the app using PhoneGap and jQuery mobile instead of android's WebView. PhoneGap is based on android's webView but to access all the native features we have to write separate code in WebView for that. Also, it would be tough to port the app to different platform because we have to change everything again. PhoneGap hides all this implementation and allows easy access to all the native APIs.

Please mail me or reply to this post if you think there is something wrong with my implementation or places where I can improve. Also mail me for any further details you require.

Thank you.

Umang Kedia.

Guanming Wu

unread,
Apr 30, 2013, 11:50:51 AM4/30/13
to Umang Kedia, genome-in...@googlegroups.com
To learn more about BioPAX, please see: http://www.biopax.org/. Also you may need to understand OWL first: http://www.w3.org/2001/sw/wiki/OWL.

Also I highly suggest you steer away from the BioPAX export for the time being. I don't think it is closely related to this project.

Guanming


On Apr 29, 2013, at 11:44 PM, Umang Kedia wrote:

Hi,
Got it. The file contains the complete data for a pathway including sub-pathways too. Previously, I thought it just contained the data for top level pathway. But it contains the complete data for sub pathways too. That will do the job. But by looking at this file, there is no way to determine the sub pathways of a specific pathway. For eg: There is no way to determine what are the sub pathways contained in "Extrinsic Pathway for Apoptosis". All are labeled with a pathway ID: like pathway2. These order can be determined by another rest api which returns the complete pathway hierarchy. My doubt is, when user clicks on a sub pathway say, "Death receptor signalling" which is sub pathway of "Extrinsic Pathway for Apoptosis" we have to re parse the file and search for the specific data. I am unable to find any relation which could help me in quickly getting the data. 

May be you can explain a bit more about it. Otherwise I will dedicate some extra time for this in the proposal as I feel this will need some optimization. Please ignore my previous mail as I thought that it contains data for top level pathway only.

Guanming Wu

unread,
May 1, 2013, 11:11:10 AM5/1/13
to Umang Kedia, genome-in...@googlegroups.com
Hi Umang,

I guess you didn't get my previous message?

Yes, you can parse BioPAX as an XML file. However, there are many relationships among XML elements in the XML file. So usually people use some specific XML parser (e.g. PaxTool or Protege OWL API) to do parsing in order to build relationships among individuals in BioPAX. In order to use BioPAX in a mobile app and get reasonable results, you may have to re-create such a parser if no public version of such parser available for a mobile OS, which is a lot of work by itself (I guess it will take you more than one GSoC period).

If there is anything is needed, we may try to add new features in the RESTful API, which is much more efficient.

Thanks,

Guanming


On Apr 29, 2013, at 1:49 PM, Umang Kedia wrote:

Hi Guanming,

Thanks for the info. BioPAX, RDF were really new terms for me and your answer forced me to search more about it. I researched a lot on the web to understand these terms.

So the BioPAX data can be parsed like a normal XML for our app and we can retrieve the relevant info from it. I pretty printed the XML and it contains lots of data. I think we need only some of the information from the XML data. File of that size will take little bit more time while parsing it on mobile but that can be handled (it will also take time while transferring it over the internet, file size is about 1.7 MB). So this file will be parsed to get the Pathway details or is there any other API which returns more relevant result? Please quote if I am going in wrong direction. I haven't implemented it but I think it can be parsed like a normal XML file.

On Monday, April 15, 2013 9:56:22 PM UTC+5:30, Umang Kedia wrote:
Hi everyone,
I am a 4th year Computer Science student from BITS Pilani, India. I am proficient in Java and I have experience with building Android applications. I developed an Android app for my college fest which was a simple RSS reader to notify people about the events during college fest. Apart from that I have great interest in Algorithms, computer networks and operating systems. I constantly take part in online coding competitions. I am also proficient in C, PHP, JavaScript, jQuery and MySQL. I have also developed a quizzing website for my college's annual fest which was based on PHP and JavaScript. 

Experience with RESTful Web Services: Currently I am doing my internship at PayPal, India. My first project here was based on getting the data from JIRA ( An open source bug tracking software) using JIRA REST API. My task was to develop a web app and display data in the form of graphs and allow filtering of data. The data was in JSON format and I used jQuery to read the data. I used HighCharts ( a popular JavaScript based graph API) to display the data and included filtering on basis of different field. I have a very good experience with REST architecture and jQuery along with core JavaScript. 

Apart from that, I have experience in Android, which would help me in developing the app for android.  Along with the native android SDK, I have experience with jQuery Mobile and PhoneGap using which we can develop a web app on Android. PhoneGap can be used to wrap the HTML, JavaScript and CSS to make the web app a native app and it can be used to access native functions of Android. Also, the PhoneGap APIs are same for both iOS and Android ( and also for Windows Phone) so it will be very easy to port the application on different platform.

I have provided the link for all the technologies I used or will use in making a smartphone app for the community. I would like to implement the app using PhoneGap and jQuery mobile instead of android's WebView. PhoneGap is based on android's webView but to access all the native features we have to write separate code in WebView for that. Also, it would be tough to port the app to different platform because we have to change everything again. PhoneGap hides all this implementation and allows easy access to all the native APIs.

Please mail me or reply to this post if you think there is something wrong with my implementation or places where I can improve. Also mail me for any further details you require.

Thank you.

Umang Kedia.

Umang Kedia

unread,
May 1, 2013, 3:20:53 PM5/1/13
to Guanming Wu, genome-in...@googlegroups.com
Hi Guanming, 

I got your previous message.The mail was yet to be approved by Google group moderator so it got posted late. Am very sorry for that.

Regarding BioPAX and other changes in REST API, we can discuss it later and decide which parts should be improved or changed. All other results returned by REST API are in normal XML or JSON format so that will not be any problem. Only the details of the pathways are returned as BioPAX RDF document. So if required, only that part has to be changed. Also, we can enable other APIs to return JSON result as some of them return only XML. If you need any help in changing REST API, I am ready to work on it. 

Thanks for your response.


Reply all
Reply to author
Forward
0 new messages