Difference between revisions of "PhyloSoC: Integrating RNA web services in Jalview using JABAWS"

From Phyloinformatics
Jump to: navigation, search
(Week 8: July 9 - 15, 2012)
(Blanked the page)
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
=Abstract=
 
Jalview is an alignment editor, originally developed for protein sequences, that is used in a variety of web pages and is also available as a stand-alone project. Jalview also includes a client that interacts with web services via JABAWS. In previous Google Summers of Code, students have worked to extend the functionality of Jalview to handle non-coding RNA sequences. Many web services already exist that are related to RNA, but they are not yet available to the Jalview client. During this Google Summer of Code, I will integrate the Annotate3D and RNAfold web services with Jalview using the JABAWS system.
 
  
=Student=
 
[mailto:Tori.Arendt@gmail.com Tori Arendt]
 
 
=Mentors=
 
[http://www.lix.polytechnique.fr/~ponty/ Yann Ponty] <br>
 
[[User:Jimprocter| Jim Procter]]
 
 
=Important Links=
 
[http://source.jalview.org/gitweb/ Jalview and JABAWS Source] <br>
 
Jan Engelhardt's 2011 GSoC Project: [[PhyloSoC: Extending Jalview support for handling RNA]]<br>
 
Lauren Liu's 2010 GSoC Project: [[PhyloSoC:Extending Jalview to Support RNA Alignment Annotation and Secondary Structure Visualization]]<br>
 
[http://www.jalview.org/  Jalview]<br>
 
[http://www.compbio.dundee.ac.uk/jabaws/  JABAWS]<br>
 
[http://varna.lri.fr/  VARNA]<br>
 
[http://rna.tbi.univie.ac.at/cgi-bin/RNAfold.cgi  RNAfold]<br>
 
[http://paradise-ibmc.u-strasbg.fr/  Annotate3D]<br>
 
 
=Timeline=
 
==Community Bonding Period: Until May 20, 2012==
 
===Goals===
 
*Obtain and understand the source code for Jalview, JABAWS, Annotate3D, and RNAfold
 
*Look at bug reports for Jalview related to RNA and attempt to fix some of these bugs
 
*Read and understand the code, blogs, and projects of previous Google Summers of Code related to Jalview.
 
*Read about web services and SOAP - Possible beginner’s guide: Java Web Services: Up and Running by Martin Kalin
 
*Read literature realted to Jalview, JABAWS, Annotate3D, and RNAfold
 
*Join all appropriate mailing lists and keep in touch with mentors
 
===Tasks Completed===
 
*Joined all mailing lists
 
*Signed up for Jalview bug tracker
 
*Read primary papers for Jalview and JABAWS
 
*Had weekly meetings with mentors
 
*Read ''Java Web Services: Up and Running''
 
*Watched videos to become acquainted with git flow and web services
 
*Set up eclipse to work with JABAWS and Jalview git repositories
 
 
==Week 1: May 21 - 27, 2012==
 
===Goals===
 
*Add new executable of RNAfold to be wrapped as a JABAWS web service to the binaries folder
 
*Remove any dependencies of the executable - might not be straightforward if the executable has hard links to its dependencies (utilize buffer time if this is the case)
 
*Update compilebin.sh and setexecflag.sh scripts if necessary
 
*Describe the executable and its parameters by creating RNAfoldPresets.xml, RNAfoldParameters.xml, and RNAfoldLimit.xml file in conf.settings folder
 
===Tasks Completed===
 
*Added executable of RNAfold into binaries folder in JABAWS (no known hard dependencies)
 
*Created RNAfoldPresets.xml and RNAfoldParameters.xml
 
 
===Not Completed===
 
*Verify executable in implemented correctly
 
*Update compilebin.sh
 
*Add issues to bug tracker
 
 
==Week 2: May 28 - June 3, 2012==
 
===Goals===
 
*Add issues to bug tracker
 
*Discuss parameters and presets files with mentors
 
*Discuss limits of RNAfold
 
*Create the Java wrapper class by extending SkeletalExecutable and implementing PipedExecutable. For examples, see compbio.runner.msa.
 
*Create test cases for wrapper
 
*Test wrapper
 
===Tasks Completed===
 
*Discussed parameters and presets files with mentors
 
*Discussed limits of RNAfold
 
*Updated XML files to reflect this change
 
*Created wrapper file for RNAfold
 
*Looked at other examples of test cases for wrapper
 
===Not Completed===
 
*Make test cases for wrapper
 
*Test wrapper
 
 
==Week 3: June 4 - 10, 2012==
 
===Goals===
 
*Create parser to parse output files from RNAfold into a form understood by JABAWS, focusing on interpreting the dot-bracket notation, in SequenceUtil.java. A parser for this format was implemented in Jalview by Lauren Liu during the 2010 Google Summer of Codes. I will need to add it to the JABAWS SequenceUtil file and ensure that it is robust enough to deal with the entire RNAfold output.
 
*Test parser
 
===Tasks Completed===
 
*Created Parser for RNAfold's WUSS format
 
*Researched adding new web service type to JABAWS in order to wrap RNAfold properly
 
*Began creating new web service type in JABAWS
 
===Not Completed===
 
*Finish new web service type and wrapper for RNAfold
 
*Test Parser
 
 
==Week 4: June 11 - 17, 2012==
 
===Goals===
 
*Register web service in sun-jaxws.xml and web.xml
 
*Add generated .wsdl file to wsbuild.xml ant script
 
*Run build-server task in wsbuild file
 
*Test the full implementation of RNAfold using the command line version of JABAWS (input: data files and parameters, output: to stdout)
 
===Tasks Completed===
 
*Finished Wrapper for RNAfold
 
*Registered web service in sun-jaxws.xml
 
*Ran build-server task in wsbuild file
 
*Discussed and developed some tests for the wrapper and parser of RNAfold
 
===Not Completed===
 
*Test wrapper and parser
 
*Run full implementation of RNAfold using command line version of JABAWS
 
 
==Week 5: June 18 - 24, 2012==
 
===Goals===
 
*Test wrapper and parser
 
*Run full implementation of RNAfold using command line version of JABAWS
 
===Tasks Completed===
 
*Considerable debugging of scripts and files to try to run RNAfold
 
*More discussion of test types
 
===Not Completed===
 
*Still not fully able to run RNAfold
 
 
==Week 6: June 25 - July 1, 2012==
 
===Goals===
 
*Run RNAfold using command line version of JABAWS
 
*Perform TestNG
 
*Finish tests
 
===Tasks Completed===
 
*Much more debugging, but finally got RNAfold working
 
*More test discussion including tests for implementation, efficiency, and correctness
 
===Not Completed===
 
*Testing - both of TestNG and wrapper/parser
 
 
==Week 7: July 2 - 8, 2012==
 
===Goals===
 
*Test RNAfold in JABAWS (TestNG)
 
*Test parser and wrapper
 
*Begin integration with Jalview
 
===Tasks Completed===
 
*Ran TestNG, but not correct results.
 
*More debugging/testing - found many files that still needed to be updated
 
*Began investigating running RNAfold in Jalview
 
===Not Completed===
 
*Correct test results - both TestNG and wrapper/parser
 
 
==Week 8: July 9 - 15, 2012==
 
===Goals===
 
*Midterm Evaluation due July 13, 2012
 
*Finish testing in parser/wrapper to for implementation, accuracy, and efficiency
 
*TestNG results!
 
*Update JABAWS client in Jalview
 
*Integrate RNAfold with Jalview - might not be straightforward if a new archetype is necessary (utilize buffer time if necessary)
 
*Test RNAfold in Jalview
 
*Perform additional stress testing (large volumes of data, bad data, etc.)
 
===Tasks Completed===
 
*Midterm Evaluation Completed
 
 
==Week 9: July 16 - 22, 2012==
 
===Goals===
 
*Register web service in sun-jaxws.xml and web.xml
 
*Add generated .wsdl file to wsbuild.xml ant script
 
*Run build-server task in wsbuild file
 
*Test the full implementation of Annotate3D using the command line version of JABAWS (input: data files and parameters, output: to stdout)
 
 
==Week 10: July 23 - 29, 2012==
 
===Goals===
 
*Update JABAWS client in Jalview
 
*Integrate Annotate3D with Jalview - might not be straightforward if a new archetype is necessary (utilize buffer time if necessary)
 
*Test Annotate3D in Jalview
 
*Perform additional stress testing (large volumes of data, bad data, etc.)
 
 
==Week 11: July 30 - August 5, 2012==
 
===Goals===
 
*Document code
 
*Produce a guide for adding web services to Jalview via JABAWS to speed up integration of new web services
 
 
 
==Weeks 12 - 13: August 6 - 20, 2012==
 
These two weeks will be used as a buffer. It is never realistic to assume that a plan will be executed without any hitches. For some reason (development of a new archetype, incorrect data forms, debugging, testing, etc.) some of these tasks might take longer than expected. On the other hand, integrating two web services might not take an entire ten weeks, especially after I become familiar with the JABAWS and Jalview environments from implementing one web service. If time allows, I will try to implement another RNA web service like Infer3D.
 
 
==After Coding==
 
*August 24, 2012 - Final Evaluations Due
 
*August 31, 2012 - Submit Code Samples to Google
 
*Continue to work with NESCent on open source projects
 

Latest revision as of 15:22, 13 July 2012