Advanced Search will  enables user to

  • search for pathways by identifier/Title
  • search for pathways by pathway element identifier
  • search for pathways by publication reference

Details:

  • search for pathways by identifier

http://www.wikipathways.org/wpi/webservice/webservice.php/getPathway?pwId=WP

  • search for pathways by pathway element identifiers

          By pathway element identifiers:

http://www.wikipathways.org/wpi/webservice/webservice.php/findPathwaysByXref?ids=1234&codes=L

  •   search for pathways by publication reference

         By Pubmed ID:  Eg: Pubmed ID:22096230

http://www.wikipathways.org/wpi/webservice/webservice.php/findPathwaysByLiterature?query=22096230

         By Title: Eg:Selenoproteins

 http://www.wikipathways.org/wpi/webservice/webservice.php/findPathwaysByLiterature?query=Selenoproteins

Step by step demonstration of task:

  • search for pathways by Pathway identifier

ps1

  • search for pathways by Pathway Title

ps2

  • search for pathways by publication reference

                  By Pubmed ID:  Eg: Pubmed ID:18651794

SR2

By Publication Title

SR

  • search for pathways by pathway element identifier

SI

->With pathway element being highlighted

SI2

 

 

Now we can directly open pathway from WikiPathways on right click of Data Node that is well  annotated .

Considering an example pathways – WP434 ,when we import  it or get it loaded into PathVisio after searching  on Wikpathways through WikipathwaysClient Plugin. We can see that “Acetyl-CoA” (Metabolite) is annotated with Pathway Identifier (HMDB01206) and Datasource (‘HMDB’).

 

OPENXREF3

 

On Right Click of the “Acetyl-CoA” (Metabolite) an option “Open pathways From Wikipathways”  will exist on choosing it  we get the  Dialog with list of all th e pathways which contain element- “Acetyl-CoA” (Metabolite)

OPENXREF2

 

 

As of  now only one Data Node  can be selected . I would extend the Feature to open pathway from WikiPathways on selection of set Data Nodes

 

 

 

A new Tab “Advanced Search” have been appended to provide the Advanced search functionality.

 

 

advanced

 

Advanced Search:

  • Search by pathway identifier, title, curator

Step by step demonstration of task:

  1. Search by pathway identifier

advanced1

2. Search by pathway Title:

advanced3

3.Search by pathway curator Tag:

advanced2

I am working on other Advanced Search use cases. I will keep updating this corner of blog.

“Wikipathways” Menu is been added under “Plugins” menu of WikiPathways.

Now we have

1

 

Basic Browse Functionality which enables user to

  • Browse pathways by species
  • Browse pathways by Collections
  • Browse pathways by Curation tags

Details 

1.    Browse pathways by species

http://www.wikipathways.org/wpi/webservice/webservice.php/findPathwaysByText?query=%22%22&species=Homo%20sapiens

2.Browse pathways by curation tags

http://www.wikipathways.org/wpi/webservice/webservice.php/getCurationTagsByName?tagName=Curation:FeaturedPathway

Collections List includes: Curated pathways (default), Featured pathways, GenMAPP pathways, CIRM pathways, Reactome pathways, Open Access pathways, WormBase pathways , Wikipedia pathways ,All pathways(inlcudes all  the pathways present in Collection List)

Curation Tags List includes: Not specified (default), missing annotations,unconnected lines,under construction, stub, needs work

Step by step demonstration of task:

  • Browse pathways by Collections and Species:

2

  •   Browse pathways by Curation tags and Species:

3

  •  Browse by Collections:

4

  • Browse By CurationTags:

 5

 

 

For the Basic search implementation part I have reused the code of  Wikipathways  Client Plugin created by Thomas Kelder (code repository: https://github.com/thomaskelder/pathvisio-wikipathways-client).

The task for this first week is to :

  • Implement the GUI for Basic Search

Basic Search:

Search by query as on http://www.wikipathways.org itself.

  1. Search for pathways by name, pathway element labels

  2. Search by text but for specific species

I have used the findPathwaysByText method of  WikiPathways web service

Details

1. Search for pathways by name, pathway element labels

By name: e.g.  Asparagine degradation

 http://www.wikipathways.org/wpi/webservice/webservice.php/findPathwaysByText?query=Asparagine%20degradation

By pathway element label: e.g. pathway element label:   ASP3-4

http://www.wikipathways.org/wpi/webservice/webservice.php/findPathwaysByText?query=ASP3-4

2. search for pathways by species/organism: e.g.  Homo Sapeins

http://www.wikipathways.org/wpi/webservice/webservice.php/findPathwaysByText?query=cancer&species=Homo%20sapiens

From the above queries we get a number of  pathways,  which are displayed in a Table .Then the user can select any one and the selected pathway gets loaded (opened)  in PathVisio Tool.

Step by step demonstration of task:

When the Wikipathway Client Plugin is loaded into PathVisio –  “Wikipathways” menu with submenus- ‘Search’, ‘Browse’, ‘Update’ gets registered

1

 

When the ‘Search’ option is chosen – Search WikiPathways Dialog popsout

2

 

Then user can search pathways , based on any query text like –

Pathway Name: Asparagine degradation

Pathway element Label: ASP3-4

Search by text but for specific species

3

Finding pathways using a textual search on the description and text labels of the pathway objects. The query syntax can have several options:

  • Combine terms with AND and OR. Combining terms with a space is equal to using OR (‘p53 OR apoptosis’ gives the same result as ‘p53 apoptosis’).
  • Group terms with parentheses, e.g. ‘(apoptosis OR mapk) AND p53’
  • You can use wildcards * and ?. * searches for one or more characters, ? searchers for only one character.
  • Use quotes to escape special characters. E.g. ‘”apoptosis*”‘ will include the * in the search and not use it as wildcard.

Then the list of pathways is shown, user can select anyone of the pathway

4

Then on the double click of the selected pathways from list of pathways, the pathway gets loaded into pathvisio

5

Google Summer of Code 2013

 

GSoc 2013 logo image00

Google Summer of Code (GSoC) is a global program that offers student developers stipends to write code for various open source projects. Google will be working with several open source, free software, and technology-related groups to identify and fund several projects over a three month period. Since its inception in 2005, the program has brought together nearly 4,500 students and over 3000 mentors from over 100 countries worldwide, all for the love of code.” GSoC has several goals:
  • get more open source code created and released for the benefit of all
  • inspire young developers to begin participating in open source development
  • help open source projects identify and bring in new developers and committers
  • provide students the opportunity to do work related to their academic pursuits during the summer
  • give students more exposure to real-world software development scenarios

This is my application to this years Google summer of code program.

 

 


Application for NRNB Google Summer of Code:

 

Information:

Name:

Sravanthi Rani Sinha

Email:

 kmitsravanthi@gmail.com

LinkedIn profile:

 http://www.linkedin.com/in/sravanthisinha

Brief background: Education and relevant work experience

Bachelors:

Electronics and Communications Engineering (2009-2013) at Keshav Memorial Institute of Technology (http://www.kmit.in/)

Internships:

Internship at National Resource for Network Biology (May 2012 – August 2012) mentored by Martijn van Iersel

 

Title of the Project: To Develop a Stoichiometry Plugin for PathVisio.

 -To create a plugin for PathVisio which is aimed at producing a Stoichiometry Matrix for a standard biological Process Diagram. The plugin makes it easier for the users to analyse pathways adhering to a standard (SBGN-PD). This tool generates a Stoichiometric Matrix for a Process Diagram then the user is provided with  option of exporting the Generated Stoichiometric Matrix generated for particular Process Diagram in .txt Format. http://developers.pathvisio.org/wiki/StoichiometryPluginHelp

Title of the Project: Improving validation through the PathVisio-Validator plug-in and Provide SBGN validation in the Validator-Plugin

 – Extend the functionality of the PathVisio-Validator plugin (which helps in  producing standard biological pathway diagrams in PathVisio) to provide the validation for SBGN files which earlier had the options of validating on MIMML and GPML.

http://sravanthisinha.wordpress.com/2012/07/25/improving-validation-through-the-pathvisio-validator-plug-in/

 

Programming interests and strengths

 

What are your languages of choice?

I am adept in programming in Java, OSGi Framework and .NET Framework. In addition, I have exposure in database development using MySQL, Microsoft SQL Server and front end web development using HTML5, CSS, JavaScript,  Ajax and PHP.

 Recently, I worked as a developer for a real time Library Management System which is completely in .NET FrameWork and published on Windows Azure. This project gave me an opportunity to experience the complete SDLC process. This project was developed for a library which has the books written only in Marathi Script hence the website is developed in Marathi Language http://mgshyderabad.azurewebsites.net (still in the testing stage on a 3 months free trial on Windows Azure)

 

Any prior experience with open source development?

 Since I have previously worked on Stoichiometry Plugin and Validator Plugin during my internship and also started working on the proposal, I have substantial experience in open source programming.

 

What do you want to learn this summer?

I am really enchanted with the concepts of PathVisio (a standalone pathway editor and pathway analysis tool). I do have quite a bit of programming experience but only as a student. I think in the course of programming for the Google Summer of Code I will be provided with opportunity to gain more knowledge in a rapidly evolving field that interfaces computer and biological sciences. I would like to gain further expertise in real-world software development scenarios and learn about software licensing issues.

 

Your interest and background in biology or bioinformatics

 Any prior exposure to biology or bioinformatics?

I possess a little knowledge on biology or bioinformatics. During my Internship at NRNB, I learnt about pathway visualization using the Systems Biology Graphical Notation (SBGN), and also validation of SBGN files using Schematron (A rule-based validation language for making assertions about the presence or absence of patterns in XML trees). Hence I am familiar in the areas of SBGN and schematron. And I expect to gain a prospect to enhance my bioinformatics skills this summer.

Any interest in learning a bit of biology this summer?

I am looking forward to learn a bit of Bioinformatics. I am also fascinated by the way biology and computers have weaved together creating a wonderful platform for developers like us to work on.

 

Project Idea: WikiPathways client plugin for PathVisio

 

PathVisio is a tool for pathway visualization and analysis. The pathways from WikiPathways can be downloaded and opened in PathVisio. WikiPathways provides the functionality of creation, upload, search, browse of pathways.  I would like to develop a PathVisio plugin which enables the user to browse, search and upload pathways in WikiPathways directly from the PathVisio using the web services provided by WikiPathways.

The functionalities that will be supported by this plugin are:

  • search for pathways by name, pathway element labels

  • search for pathways by identifier / pathway element identifiers

  • search for pathways by publication reference

  • search for pathways containing a set of genes/metabolites

  • search for pathways by species

  • search for pathways by ontology term

  • browse pathways by species

  • browse pathways by ontology tag

  • browse pathways by category

  • browse pathways by curation tags

  • upload new pathway to WikiPathways.

 

Goal:  To develop a PathVisio plugin to browse, search and upload pathways in WikiPathways directly from the standalone PathVisio version.

 

Description and implementation section of the project idea

 

  1. To add the “WikiPathways” to the menu of the PathVisio. Register the submenus under the “WikiPathways” menu

 

Implementation:

  • For addition of WikiPathways menu we have to include the Jmenu under the addMenuActions method of MainPanelStandalone (which is in the interior part of PathVisio CORE). The submenus can be registered through the plugin by creating a class which implements Plugin Interface

For achieving all the below goals, I would be using the webservice provided by WikiPathways at http://www.wikipathways.org/wpi/webservice/webservice.php?wsdl.

 

2. Search : For the search implementation part I would like to reuse the code of wikipathways client plugin created by Thomas Kelder (http://developers.pathvisio.org/wiki/PluginDocumentation#WikiPathwaysClientPlugin). Currently some of the search usecases are not provided by the web service which would be required by the wikipathways client plugin. Hence I would be rewriting those part of the functions in the webservice. (For eg: Search pathway based on pathway element identifiers).

 

When the Search Submenu is chosen a Dialog will be displayed as shown below. In which the Search By term could be Name, Label, Pathway Identifier, Element Identifier, Publication Reference, set of genes,Ontology Tag, etc.,  According to the option selected in the Combobox the Search Label(2nd label) will be changed. If Element Identifier is selected as the Search Term then their would be addition of 3rd entry field to select -”Database system” ( which could be Ensembl, EntrezGene, etc.,). On Click of Search button the list of pathways will be displayed in the Search Results panel. User can select the required pathway and the pathway will be loaded into PathVisio.

 

3. Browse: When the Browse Submenu is chosen a Dialog will be displayed as shown below.In which the User has the choice to select the Species or Category or Cuartion tags or Ontology (we have three different ontologies -pathway ontology, disease ontology and cell type ontology). According to the options selected the list of pathways will be displayed in the Pathways panel. User can select the required pathway and the pathway will be loaded into PathVisio.

 

4.Upload: The user can upload a new pathway or update the existing pathway. Upload of pathway requires the authentication. when the user initially tries to upload the pathway, he has to provide the Login Credentials (this will be stored in the session).

Figure(1)

 

  • Upload of new pathway can be done once he has been authenticated. He has to just click the “New pathway‘ in the upload submenu of wikipathways.

    Figure(2)

 

  • Upload of existing pathway would require some more details like Pathway Identifier(which pathway to be update) and the modification summary in the Description field. On click of ‘update’ button the pathway which is existing in WikiPathways, will be updated.

Figure(3)

 

 TimeLine:

Week

Tasks

Jun 17 – Jun 24

GUI implementation: create GUI for PathVisio, such as adding menus

Jun 24 – July 1

Implement the GUI part  for Search Functionality to provide search by Name, Label, Pathway Identifier

Jul 1 –  Jul 8

Fix the WikiPathways web service  to provide the additional functions needed to complete search for remaining terms.

Jul 8 –  Jul 15

Finish the Search funtionality and see that the selected pathway is loaded into pathvisio

Jul 15 – Jul 22

Fix the WikiPathways web service  to provide the additional functions needed to complete Browse functionality.

Jul 22 – Jul 29

Clean up code for mid-term evaluations

Jul 29 –  Aug 9

Implement the GUI part  for Browse Functionality.

Aug 9 –  Aug 16

Fix the WikiPathways web service  to fetch the WSAuth (Container for authentication data for a logged in WikiPathways session)

Aug 16 –  Aug 23

Implement the GUI part  for Upload of Pathway

Aug 23 –  Aug 30

Create Junit Test cases  for the plugin.

Aug 30 –  Sep 6

Create Junit Test cases  for the plugin.

Sep 6 – Sep 13

Debugging and Documentation

Sep 13 – Sep 20

Debugging and Documentation

Sep 20 – Sep 24

Prepare for submission

 

DISSEMINATION

 

I would like to continue discussion and reporting the project progress with the mentors through a weekly hangout and mails. I propose to write a blog as a lab journal with weekly entries to keep the communities (NRNB, PathVisio, WikiPathways) up-to-date.

Identify possible hurdles and questions that will require more research/planning

 I would require little more research in Identifying the functions to fix the web service required to achieve the goals.

 

What can I bring to the team?

 I am a strong believer of working towards achieving a goal set in front of me. I’m also a quick learner and any new technology interests me as it gives me an opportunity to learn a lot. I would like this opportunity, if given to me, to be an enriching and memorable work experience for the organization, my mentor and myself.

 

Are you committed to working hard this summer?

I am determined to work hard this summer to finish coding in time and publish the plugin.

 

Are you enthusiastic?

I am very  enthusiastic and I hope I will get accepted. I am very looking forward to working on this project.

 

Why my project proposal should be chosen?

The proposal will bring in the advantages of the wikipathways (ie) Search for specific pathway based on any search term (Name, Identifier, Species, Ontology,etc., of pathway) from wikipathways and fetch it directly into PathVisio. Browse across the various pathways according to users criteria (species, category, ontology of pathways,curation tag). Upload of the pathway (either new pathway / update existing) can be achieved directly from the PathVisio tool. I have all the skills and knowledge to turn the objectives of the proposal into reality.