Fixes for failed test cases (most was due to the data being used or problems with...
[jabaws.git] / TODO.txt
1 TODO ideally should introduce native Mac support (and maybe abandon native windows support in \r
2 favior of VM)   \r
3 \r
4 TODO write some help on the executable.properties within this file! \r
5 check that after binaries relocation build tasks point to correct locations!\r
6 + GET rid of binaries/help directory!\r
7 + update binaries\r
8  + muscle binary version 3.8.31 for win/lin32/lin64 and sources, docs in website/prog_docs\r
9  - test Muscle on the cluster\r
10  - test Muscle compilation\r
11  + probcons up-to-date\r
12  + clustal up-to-date \r
13  + update tcoffee (8.99 latest) source code updated  docs updated \r
14   + tcoffee compilation for IA32 \r
15  + update Mafft (6.857 latest) for win/lin32/lin64 and sources, no docs updates\r
16 + make sure conf files are optional!\r
17 \r
18 TODO: \r
19 Registry 1 week\r
20 webservices - 1 week\r
21 client - 1 week\r
22 docs - 1 week\r
23 \r
24 Cluster stats: \r
25  +cancelled should not be reported as incomplete!\r
26  -Remove hyperlinks from tasks which workdirs were removed \r
27  -graph generation \r
28  -user documentation (do not forget how to enable follow symlinks!)\r
29  -use the same name for output for different executables\r
30  +ant task to clean up clean stat db task before packing web app\r
31  +pack web apps with stat db (NOT TESTED!)\r
32  +change input size bites\r
33  +add help info for each column in the detailed job list table\r
34  +replace default -1 with ? \r
35  +delete and re-import the database to fix clustal input staff    \r
36 \r
37 add to help text: To disable a web service remove it from WEB-INF/sun-jaxws.xml descriptor\r
38 \r
39 rename jaba.war to jabaws.war and make sure jabaws context path is used throughout. \r
40 \r
41 Current stat collector has to rely on file dates! \r
42 \r
43 Test all WS as names from Executables were removed\r
44 \r
45 Add default names for input and output in every executable and use them consistently\r
46 throughts (e.g. in all WS). Best of all use the same name from SceletalExectuable \r
47 For statistics. \r
48 \r
49 FIXME: \r
50 Conecting to JABAWS version 2 service\r
51 09-Feb-2011 15:27:53 compbio.ws.client.Jws2Client connect\r
52 INFO: Connected successfully!\r
53 Exception in thread "main" java.lang.NullPointerException\r
54         at compbio.ws.client.MetadataHelper.getParametersList(MetadataHelper.java:30)\r
55         at compbio.ws.client.Jws2Client.<init>(Jws2Client.java:179)\r
56         at compbio.ws.client.Jws2Client.main(Jws2Client.java:483)\r
57         \r
58 ScoreManager should output scores properly \r
59 \r
60 Allow empty Parameters and Preset files! \r
61 \r
62 Check the WS input and reject it on submission rather then of access with error message\r
63 \r
64 Globprot need a proper reference to bio python and sav_gol binaries -> they should be \r
65 somehow taken from disembl. \r
66 \r
67 +Add registry service to query services status\r
68 \r
69 +Refactor web services checker to enable a programmatic access to its methods.\r
70 +Finish the client\r
71 \r
72 Add interface for Jalview annotation \r
73 Add the method to return Jalview Annotation to SequenceAnnotation IF  \r
74 \r
75 Develop generic Interface to return Jalview annotation for easy to add new \r
76 services (?) \r
77 \r
78 Replace conservation.Method with server.ws.Method \r
79 and try building WS. If this does not work - get rid of Method\r
80 \r
81 Output file parsing for stat reporting\r
82 cluster engine stat of www-jws2 user\r
83 \r
84 integrate the above to tweak the size of the local job\r
85 \r
86 Add AACon ws\r
87 Add iupred ws http://iupred.enzim.hu/\r
88 Add globprot ws - does not report raw scores, just regions\r
89 Add ronn ws\r
90 \r
91 Philogeny Mrbayes + Philip\r
92  \r
93 USE CASE - TURN ALIGNMENT INTO PROFILE AND SEARCH SEQUENCE DATABASE USECASE\r
94 - Receive user alignment \r
95 - use hmmerbuild to turn it to profile\r
96 - use hmmersearch to search the database \r
97 \r
98 #END OF - TURN ALIGNMENT INTO PROFILE AND SEARCH SEQUENCE DATABASE USECASE \r
99 \r
100 New data model for representing psiblast,blast,phmmer,jackhmmer results\r
101 \r
102 new parsers for the above programmes output (Stockholm MSA format?)\r
103 \r
104 Think hard on what to do with large output files? \r
105 e.g. serve the hits table in full, but retrieve alignments on demand.\r
106 What actually needs to be sent?   \r
107 \r
108 Add facility to distribute other results of the calculations like the trees and \r
109 annotation file for probcons. \r
110 \r
111 # END OF SEARCHING SEQUENCE DATABASE USECASE\r
112 \r
113 Good toString method for Limits (test with command line client -limits)\r
114 \r
115 JABA DOCS\r
116 (later) Define limits for presets - if required\r
117 (later) Add documentation on Presets, Parameters and Limits\r
118 (later) Explain how to define a limit\r
119 \r
120 Add test for repeated result collection from cluster engine\r
121 \r
122 (low) Pack the test cases and build file to run them in one of the distributives \r
123 \r
124 (low) Add logging facility to WSTester so more details of the problem can be reported\r
125 \r
126 (low) Statistics collector for engines (number of operations/timing)\r
127 \r
128 (later) WRAP Amps\r
129 \r
130 (later) Implement utility to rerun died tasks\r
131 \r
132 (later) Add recognition for executables for the different architectures\r
133 \r
134 (later) use Latch to manage engine reservations. Reservations for parallel jobs? \r
135 \r
136 DONE\r
137 WILL NOT DO: Progress bars - needs assessing how long does it take to run a task\r
138 DONE: LocalExecutor service must be shutdown on web application undeploy event not on JVM shutdown. \r
139       This is because JVM is still running even after web application is shut down!\r
140 DONE: Use absolute path for web site download links as archives are not included into distro!\r
141 DONE: Rearrange web site docs - add links to the top of the page to the topics discussed below\r
142 DONE: Put the documentation for various executables online\r
143 DONE: Make left gradient image one-two characters larger + change "For developer ->For Developers"\r
144 DONE: test local/cluster execution - test Load balancer\r
145 DONE: Improve SimpleWS client so it can be scripted against: give user alignment and accept parameters\r
146 DONE: Make a configuration tester class (check that configuration files point to the executables, and they can be executed)\r
147 DONE: PUT CLIENT JAR INTO WEB-INF/LIB - most likely need to get rid of dist prefix in the build file\r
148 DONE: Different packages for download and dundee. generic vs specific settings. \r
149 DONE: JAVADOC\r
150 DONE: Refactor EngineResourcesLeak tester to hide a map implementation!\r
151 DONE: Compile executables for linux in the most generic way\r
152 DONE: Make different log4j configuration files / web services logs.\r
153 DONE: System manual\r
154 DONE: Developer doc\r
155 DONE: How to\r
156 DONE: Prepare different packages\r
157 DONE: extract commonly used names into variable in the build script\r
158 DONE: Test for high load conditions (TestNG?)\r
159 DONE: (low) Fix: Started jobs with unknown completion status reported as FINISHED by  msaws.getJobStatus(taskId) (see SimpleWSClient)\r
160 DONE: fix compile binaries script\r
161 DONE: Make script to change executable flag for linux systems\r
162 DONE: jobsout must be created within war\r
163 DONE: enable relative paths for local engine conf temp dir\r
164 COUND NOT REPRODUCE: fix cluster job status - RUNNING -> UNDEFINED\r
165 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
166 DONE: fix build scripts after reorganising project\r
167 DONE: package as war file for deployment\r
168 DONE: package for jalview distro for local execution\r
169 DONE: reorganise project into independent chunks\r
170 DONE: test Parameter & Option toCommand method\r
171 DONE: Replace WS methods with new CommandBuilder.toCommand()\r
172 DONE: Setting default values is validated as external method \r
173 DONE: Refactoring to extract data model, and engines is performed\r
174 DONE: Default value is adopted for passing new Option values to server side\r
175 DONE: Converting Options to commands delegated to CommandBuilder  \r
176 DONE: Make Arguments mutable to facilitate default value setting for WS\r
177 DONE: Matrix files for alignment programme\r
178 DONE: Clean up testcases\r
179 DONE: Replace List<String> as command line parameters abstraction to dedicated CommandBuilder class \r
180 DONE: Parallel execution for tcoffee jobs\r
181 DONE: Copyright added\r
182 DONE: WRAP ProbCons\r
183 DONE: think about time limits and cluster parameters for parallel execution - NativeSpecs for cluster is implemented\r
184 DONE: (low) Use for WS: (@WebParam(name = "name") String name) {\r
185 DONE: Implement rough policy for runtimes (e.g. do not run excessively long tasks on the local machine if cluster is available)\r
186 DONE: Write tomcat conf to expose WS\r
187 DONE: access control to web.xml\r
188 DONE: Statistics collector for WS\r
189 DONE: implements limits for web services\r
190 DONE: WS clients must be able to connect to a web service given the service url. \r
191 e.i. ws URL should not be compiled in using wsimport, but determined from \r
192 the configuration file.  \r
193 \r
194 DONE: Could not find configuration files if run from within servlet container\r
195 DONE: Add ways to get engine based on the key for everything but submission of the new tasks \r
196 DONE: Add cache to Cluster JOBID - so that at least jobs for which results have not been collected is cached.\r
197 DONE: FINISHED overrides FINISHED with time stamp!\r
198 DONE: Consider think about JobStatus and StatFileStatus\r
199 DONE: a method to read 3 chars at the beginning of the file to indicate a progress is added\r
200 DONE: ConfiguredExecutable<?> al = sexec.getResults(jobId); || Alignment ?\r
201 DONE: ClustalW - OUTput must be set !\r
202 DONE: Add accessor methods to get a DUMP of the process output \r
203 DONE: FilePuller should be cached to avoid excessive fs exercise\r
204 DONE: Test List of the processes (ensure no memory leaks)\r
205 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
206 DONE: Persist the task list to enable later result collection on the server side\r
207 DONE Wrap TCoffee\r
208 DONE: improve parameters handling - new schema + update for all parameters\r
209 DONE: Cluster jobs report submitting and result collecting/finishing time (for sync jobs only(!)) and cluster jobid in the corresponding files  \r
210 DONE: Local jobs report starting and finising times in files with corresponding names in the task directory  \r
211 DONE: Generalize getResult method for MSA runners\r
212 DONE: Create test suits\r
213 DONE: Convert junit tests to TestNG\r
214 DONE: Redirect output & error streams to the named files as some processed need this  \r
215 DONE: Extract generilyzed class with most of the method for individual executable to use\r
216 DONE: Refit wrappers to use the generalised class to avoid duplication  \r
217 DONE: Pass environment variable settings to the executable\r
218 DONE: Complete AsyncExecutors implementation\r
219 DONE: Look to unify methods for engines\r
220 DONE: Provide way around of generated directory setup for test cases(?)\r
221 DONE: Fix the test cases for local engine (need to set directory on executable explicitly)\r
222 DONE: Make log files for processes err and out for local execution\r
223 DONE: Trace where AsyncExcel called with null Executable and attempts to create a new directory repeatedly\r
224 DONE: directory generator\r
225 DONE: tests for cancel \r
226 DONE tests for getStatus\r
227 DONE  ws async\r
228 DONE: parametrized clustal operations\r
229 DONE: test large datasets handling \r
230 DONE: write load balancer \r
231 DONE: (low) task persistance\r
232 DONE: Look at CancellableTask if with Sync and AsyncExecutor \r