nrnb / GoogleSummerOfCode

Main documentation site for NRNB GSoC project ideas and resources
114 stars 38 forks source link

Develop/Update a Cytoscape 3 app for RDF #136

Closed matthiaskoenig closed 3 years ago

matthiaskoenig commented 5 years ago

Background

RDF is a key data format in systems biology and underlying the semantic web. At the core RDF is a graph structure consisting of triples (subject - verb - object). RDF is often used in the context of biological annotations, e.g., in the Systems Biology Markup Language (SBML), the Simulation Experiment Description Language (SED-ML). Annotations give objects meaning by providing a semantic layer which can be used for data integration [Neal2019], e.g., bringing computational models and data together or mapping data on biological networks.

Multiple serialization of RDF exists with the most popular being XML, turtle or JSON. RDF queries find information in the RDF graph by returning the subgraph of triples which match the respective queries. Despite RDF being an important graph format in systems biology and data science there is currently no support for it in Cytoscape. Multiple users requested such support, e.g.,

https://groups.google.com/forum/#!topic/cytoscape-helpdesk/2C6J6drLpKE https://groups.google.com/forum/#!msg/cytoscape-helpdesk/9OSNCpH4rZ0/k28ZSpyoCQAJ

Literature

[Neal2019] Neal, M. L., König, M., Nickerson, D., Mısırlı, G., Kalbasi, R., Dräger, A., ... & Crook, S. (2018). Harmonizing semantic annotations for computational models in biology. Briefings in bioinformatics, 20(2), 540-550; Pubmed

Goal

Develop (or update an existing) RDF app for Cytoscape 3. Key features are

The use cases implemented in this project are RDF annotation files in COMBINE archives as described in [Neal2019].

Difficulty Level 2

Simple app for Cytoscape based on RDF. Medium difficulty because many resources exists for Cytoscape app development, RDF reading and writing. Prior apps have been implemented were parts could be reused.

Skills

Public Repository

Not yet.

Potential Mentors

Matthias König

Contact

Matthias König

siddharth952 commented 4 years ago

Can I work on this?

matthiaskoenig commented 4 years ago

@siddharth952 The google summer of code for 2019 finished. This project will be part of next years possible projects. If you want to work on this outside of Google of Summer of Code let me know. I could mentor you on this. Best Matthias

siddharth952 commented 4 years ago

@matthiaskoenig Hello, I hope you are doing great! Yes I know I was thinking on completing this project before Google summer of code 2020 such that I’m able to get to know the code base and contribute more efficiently and maybe even take on another project for gsoc2020

akshansh2000 commented 4 years ago

@matthiaskoenig, is this issue still available to work upon for GSoC '20?

khanspers commented 4 years ago

@akshansh2000 , note that Google has not yet announced which organizations will be part of GSoC 2020. Please check back at the end of next week.

matthiaskoenig commented 4 years ago

@akshansh2000 This issue is available for GSOC2020. Please let me know if you are interested. Best Matthias

akshansh2000 commented 4 years ago

@akshansh2000 This issue is available for GSOC2020. Please let me know if you are interested. Best Matthias

Hi @matthiaskoenig, yes, I would love to work on this. Where should I start?

As for the prerequisites, I am proficient with Java, but do not have a lot of experience with RDF/Cytoscape.

matthiaskoenig commented 4 years ago

@akshansh2000 Two things are important.

  1. To write a good proposal. You should start this as soon as possible and interact with the mentors on this.
  2. Get to know the technologies you are going to use. For Cytoscape app development I recommend to follow the app ladder: https://github.com/cytoscape/cytoscape/wiki/Cytoscape-App-Ladder Which will bring you up to speed very fast. Try to build the cytoscape sample app. Have a look at the following resources which are a great start: http://www.cgl.ucsf.edu/home/scooter/Cytoscape3DevTut/slides.pdf Main hurdle to Cytoscape development is the OSGI System and managing your maven pom file. By following the tutorial you should master these things.

In my experience as a mentor these are the two most important requirements for a successful application and project. The earlier you interact with the community and get to know the technologies the easier it will be to have a successful application. So try to follow the tutorial and get one of the HelloWorld apps for Cytoscape build. Then you should focus on writing an application.

Best Matthias

akshansh2000 commented 4 years ago

@matthiaskoenig, thanks for the information! I'll certainly try my hands on my first CytoScape app, and will get back to you then.

Cheers!

matthiaskoenig commented 4 years ago

@akshansh2000 How are things going? Could you contact me via email (konigmatt@googlemail.com) so we can plan the next steps and start writing the proposal.