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

From Phyloinformatics
Jump to: navigation, search
(Weeks 12 - 13: August 6 - 20, 2012)
(Blanked the page)
 
(3 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)
 
===Tasks Completed===
 
*Midterm Evaluation Completed
 
 
==Week 9: July 16 - 22, 2012==
 
===Goals===
 
*Test RNAfold in Jalview
 
*Perform additional stress testing (large volumes of data, bad data, etc.)
 
*Add new executable of RNAalifold 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 parameters, limits, and presets xml files for RNAalifold
 
 
==Week 10: July 23 - 29, 2012==
 
===Goals===
 
*Create the Java wrapper class by extending SkeletalExecutable and implementing PipedExecutable. For examples, see compbio.runner.msa.
 
*Create test cases for wrapper
 
*Test wrapper
 
*Create parser to parse output files from RNAalifold into a form understood by JABAWS.
 
*Test parser
 
 
==Week 11: July 30 - August 5, 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 RNAfaliold using the command line version of JABAWS (input: data files and parameters, output: to stdout)
 
*Update JABAWS client in Jalview
 
*Integrate RNAalifold with Jalview - might not be straightforward if a new archetype is necessary (utilize buffer time if necessary)
 
 
==Week 12: August 6 - 12, 2012==
 
===Goals===
 
*Test RNAalifold in Jalview
 
*Perform additional stress testing (large volumes of data, bad data, etc.)
 
*Document code
 
*Finish guide to adding web services
 
 
==Week 13: August 13 - 20, 2012==
 
Buffer!
 
 
==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