Disembl and Jronn web services work. Modified to produce raw scores Globplot script...
[jabaws.git] / TODO.txt
1 TODO: \r
2 \r
3 Add registry service to query services status\r
4 \r
5 Refactor web services checker to enable a programmatic access to its methods.\r
6 Rename it to avoid confusion with jabaws client\r
7 \r
8 Finish the client\r
9 \r
10 Add interface for Jalview annotation \r
11 Add the method to return Jalview Annotation to SequenceAnnotation IF  \r
12 \r
13 Develop generic Interface to return Jalview annotation for easy to add new \r
14 services (?) \r
15 \r
16 Replace conservation.Method with server.ws.Method \r
17 and try building WS. If this does not work - get rid of Method\r
18 \r
19 Output file parsing for stat reporting\r
20 cluster engine stat of www-jws2 user\r
21 \r
22 integrate the above to tweak the size of the local job\r
23 \r
24 Add AACon ws\r
25 Add iupred ws http://iupred.enzim.hu/\r
26 Add globprot ws - does not report raw scores, just regions\r
27 Add ronn ws\r
28 \r
29 Philogeny Mrbayes + Philip\r
30  \r
31 USE CASE - TURN ALIGNMENT INTO PROFILE AND SEARCH SEQUENCE DATABASE USECASE\r
32 - Receive user alignment \r
33 - use hmmerbuild to turn it to profile\r
34 - use hmmersearch to search the database \r
35 \r
36 #END OF - TURN ALIGNMENT INTO PROFILE AND SEARCH SEQUENCE DATABASE USECASE \r
37 \r
38 New data model for representing psiblast,blast,phmmer,jackhmmer results\r
39 \r
40 new parsers for the above programmes output (Stockholm MSA format?)\r
41 \r
42 Think hard on what to do with large output files? \r
43 e.g. serve the hits table in full, but retrieve alignments on demand.\r
44 What actually needs to be sent?   \r
45 \r
46 Add facility to distribute other results of the calculations like the trees and \r
47 annotation file for probcons. \r
48 \r
49 # END OF SEARCHING SEQUENCE DATABASE USECASE\r
50 \r
51 Good toString method for Limits (test with command line client -limits)\r
52 \r
53 JABA DOCS\r
54 (later) Define limits for presets - if required\r
55 (later) Add documentation on Presets, Parameters and Limits\r
56 (later) Explain how to define a limit\r
57 \r
58 Add test for repeated result collection from cluster engine\r
59 \r
60 (low) Pack the test cases and build file to run them in one of the distributives \r
61 \r
62 (low) Add logging facility to WSTester so more details of the problem can be reported\r
63 \r
64 (low) Statistics collector for engines (number of operations/timing)\r
65 \r
66 (later) WRAP Amps\r
67 \r
68 (later) Implement utility to rerun died tasks\r
69 \r
70 (later) Add recognition for executables for the different architectures\r
71 \r
72 (later) use Latch to manage engine reservations. Reservations for parallel jobs? \r
73 \r
74 DONE\r
75 WILL NOT DO: Progress bars - needs assessing how long does it take to run a task\r
76 DONE: LocalExecutor service must be shutdown on web application undeploy event not on JVM shutdown. \r
77       This is because JVM is still running even after web application is shut down!\r
78 DONE: Use absolute path for web site download links as archives are not included into distro!\r
79 DONE: Rearrange web site docs - add links to the top of the page to the topics discussed below\r
80 DONE: Put the documentation for various executables online\r
81 DONE: Make left gradient image one-two characters larger + change "For developer ->For Developers"\r
82 DONE: test local/cluster execution - test Load balancer\r
83 DONE: Improve SimpleWS client so it can be scripted against: give user alignment and accept parameters\r
84 DONE: Make a configuration tester class (check that configuration files point to the executables, and they can be executed)\r
85 DONE: PUT CLIENT JAR INTO WEB-INF/LIB - most likely need to get rid of dist prefix in the build file\r
86 DONE: Different packages for download and dundee. generic vs specific settings. \r
87 DONE: JAVADOC\r
88 DONE: Refactor EngineResourcesLeak tester to hide a map implementation!\r
89 DONE: Compile executables for linux in the most generic way\r
90 DONE: Make different log4j configuration files / web services logs.\r
91 DONE: System manual\r
92 DONE: Developer doc\r
93 DONE: How to\r
94 DONE: Prepare different packages\r
95 DONE: extract commonly used names into variable in the build script\r
96 DONE: Test for high load conditions (TestNG?)\r
97 DONE: (low) Fix: Started jobs with unknown completion status reported as FINISHED by  msaws.getJobStatus(taskId) (see SimpleWSClient)\r
98 DONE: fix compile binaries script\r
99 DONE: Make script to change executable flag for linux systems\r
100 DONE: jobsout must be created within war\r
101 DONE: enable relative paths for local engine conf temp dir\r
102 COUND NOT REPRODUCE: fix cluster job status - RUNNING -> UNDEFINED\r
103 DONE: throw JobSubmission exception with appropriate method instead - (low) code discoverer/tester for ws - e.g. after war deployment to find out what actually works\r
104 DONE: fix build scripts after reorganising project\r
105 DONE: package as war file for deployment\r
106 DONE: package for jalview distro for local execution\r
107 DONE: reorganise project into independent chunks\r
108 DONE: test Parameter & Option toCommand method\r
109 DONE: Replace WS methods with new CommandBuilder.toCommand()\r
110 DONE: Setting default values is validated as external method \r
111 DONE: Refactoring to extract data model, and engines is performed\r
112 DONE: Default value is adopted for passing new Option values to server side\r
113 DONE: Converting Options to commands delegated to CommandBuilder  \r
114 DONE: Make Arguments mutable to facilitate default value setting for WS\r
115 DONE: Matrix files for alignment programme\r
116 DONE: Clean up testcases\r
117 DONE: Replace List<String> as command line parameters abstraction to dedicated CommandBuilder class \r
118 DONE: Parallel execution for tcoffee jobs\r
119 DONE: Copyright added\r
120 DONE: WRAP ProbCons\r
121 DONE: think about time limits and cluster parameters for parallel execution - NativeSpecs for cluster is implemented\r
122 DONE: (low) Use for WS: (@WebParam(name = "name") String name) {\r
123 DONE: Implement rough policy for runtimes (e.g. do not run excessively long tasks on the local machine if cluster is available)\r
124 DONE: Write tomcat conf to expose WS\r
125 DONE: access control to web.xml\r
126 DONE: Statistics collector for WS\r
127 DONE: implements limits for web services\r
128 DONE: WS clients must be able to connect to a web service given the service url. \r
129 e.i. ws URL should not be compiled in using wsimport, but determined from \r
130 the configuration file.  \r
131 \r
132 DONE: Could not find configuration files if run from within servlet container\r
133 DONE: Add ways to get engine based on the key for everything but submission of the new tasks \r
134 DONE: Add cache to Cluster JOBID - so that at least jobs for which results have not been collected is cached.\r
135 DONE: FINISHED overrides FINISHED with time stamp!\r
136 DONE: Consider think about JobStatus and StatFileStatus\r
137 DONE: a method to read 3 chars at the beginning of the file to indicate a progress is added\r
138 DONE: ConfiguredExecutable<?> al = sexec.getResults(jobId); || Alignment ?\r
139 DONE: ClustalW - OUTput must be set !\r
140 DONE: Add accessor methods to get a DUMP of the process output \r
141 DONE: FilePuller should be cached to avoid excessive fs exercise\r
142 DONE: Test List of the processes (ensure no memory leaks)\r
143 PART DONE - On the client on shutdown remember the task list - server tasks could be loaded and executed from saved run configurations, client should decide for themselves what they want\r
144 DONE: Persist the task list to enable later result collection on the server side\r
145 DONE Wrap TCoffee\r
146 DONE: improve parameters handling - new schema + update for all parameters\r
147 DONE: Cluster jobs report submitting and result collecting/finishing time (for sync jobs only(!)) and cluster jobid in the corresponding files  \r
148 DONE: Local jobs report starting and finising times in files with corresponding names in the task directory  \r
149 DONE: Generalize getResult method for MSA runners\r
150 DONE: Create test suits\r
151 DONE: Convert junit tests to TestNG\r
152 DONE: Redirect output & error streams to the named files as some processed need this  \r
153 DONE: Extract generilyzed class with most of the method for individual executable to use\r
154 DONE: Refit wrappers to use the generalised class to avoid duplication  \r
155 DONE: Pass environment variable settings to the executable\r
156 DONE: Complete AsyncExecutors implementation\r
157 DONE: Look to unify methods for engines\r
158 DONE: Provide way around of generated directory setup for test cases(?)\r
159 DONE: Fix the test cases for local engine (need to set directory on executable explicitly)\r
160 DONE: Make log files for processes err and out for local execution\r
161 DONE: Trace where AsyncExcel called with null Executable and attempts to create a new directory repeatedly\r
162 DONE: directory generator\r
163 DONE: tests for cancel \r
164 DONE tests for getStatus\r
165 DONE  ws async\r
166 DONE: parametrized clustal operations\r
167 DONE: test large datasets handling \r
168 DONE: write load balancer \r
169 DONE: (low) task persistance\r
170 DONE: Look at CancellableTask if with Sync and AsyncExecutor \r