GeWorkbench Release 1.8
From Informatics
General notes on geWorkbench release 1.8.0
- General notes, feature requests and FAQ page - This page was started with material from the time of release 1.7.0 and will be updated continually.
- The release page for version 1.7.0 can be found here.
- The geWorkbench Roadmap (local version) contains possible directions for future development.
- caBIG has a separate geWorkbench Roadmap page that we must maintain.
Release Schedule
geWorkbench 1.8 is being included as part of the caBIG Life Sciences Distribution (LSD) 1.2 release.
- LSD 1.2 Code freeze: did it ever finally freeze? (original: September 18, 2009)
- LSD 1.2 Release Date: scheduled for November 6, 2009
- geWorkbench code freeze: October 5, 2009
- Testing concluded: October 14, 2009
- Final release target: November 6, 2009
- Actual release date:
Role Assignments
- Release Manager – Kenneth Smith
- Release Engineer – Nikhil, Zhou Ji
- Tech Lead – Kiran Keshav
- Tester – Udo Többen, and the rest of the bunch
- Test Manager – Udo Többen
- Technical Writer – Mary VanGinhoven
Things to remember
- Best practices for defect management - See also Aris's email of 8/20/09 on this topic.
- Use Case documents - We would like to update Use Case documents as the underlying application changes. However, this has seldom been accomplished. At this time, the wiki-based tutorials often have the most up-to-date description of current functionality.
- geWorkbench Roadmap page at NCICB - keep up to date with actual plans and developments - at https://cabig-kc.nci.nih.gov/Molecular/KC/index.php/GeWorkbench_Roadmap
Changes in this release
New components
- Gene Ontology Enrichment - Analysis and visual components. Analysis component is built on Ontologizer 2.0.
Major changes
- caArray - Update caArray component to use caArray 2.3.0 Java API.
- Grid Services - A number of fixes to grid service were made.
- Marker Annotations - Fixed a problem with retrieving marker annotations (Marker Annotations component) when microarray data downloaded from caArray.
- Promoter
- Update JASPAR motifs to release of December 2007. -Note on October 12, 2009 a new release came out which made an incompatible change in the file format. Will have to change.
- Promoter component now displays logos using the "Schneider" method, including his "small-value correction", rather than previous Bussemaker-inspired logos. The previous method unexpectedly showed zero information whenever a base was at 0.25.
- Also, the displayed data now does not include the effects of the pseudo-count normalization process. This should however be an option.
- Added ability to specify pseudocount or select previous hard-coded option of square root of number of sequences.
- Because pseudo-count can be set by user, the normalization is now done before each run rather than once on startup.
- Loaded TFs now are properly added to the list of available TFs.
Minor changes
- CNKB - The network graph generated by CNKB was only showing nodes centered about a focus node. Now all accepted nodes will be displayed.
- Dataset History - Additions for several modules.
- Mark-Us - JMOL dependency added for molecule display.
- Sequence Alignment (BLAST) - PFP filtering option removed
- Usability fixes - operation of cancel buttons, progress bar
Online Help chapters updated
- ANOVA
- ARACNe
- CNKB
- Marker Annotations
- Master Regulator Analysis
- Promoter
- Sequence Alignment / BLAST
Other
- Validated Spearman clustering algorithm correctness.
- Updated Cytoscape Online help to include the referenced images .
List of Included Components
Data Managmenent:
- Arrays/Phenotypes
- Markers
- preferences
- Project Panel
- Session manager - no one knows what this is - probably a SOAP interface. But it is definitely needed!
File input filters:
- Affy File Format
- CEL File Loader
- Exp. Format
- FASTA Format
- Genepix File Format
- PDB Structure Format
- Tab-delimited (RMA Express Format)
Connectivity
- caArray2 - updated to support caArray 2.3.0 (released September 2009). The caArray client jar is NOT backwards-compatible with any previous versions.
Data filters:
- Filtering
- Affy Detection Call Filter
- Deviation Filter
- Expression Threshold Filter
- Genepix Filter (Two channel filter)
- Genepix Flag Filter
- Missing Values Filter
Normalization:
- HouseKeeping Genes Normalizer
- Normalization
- Log2 Tranformation
- Marker Centering Normalizer
- Mean Variance Normalizer
- Missing Values (Normalizer)
- Microarray Centering Normalizer
- Quantile Normalizer
- Threshold Normalizer
Experiment Information:
- Dataset Annotation
- Dataset History
- Experiment Info
- Version Information
Analyis/Visualization
- Alignment Results
- Analysis
- ANOVA
- ARACNe2 - adds Adaptive Partitioning algorithm and Preprocessing mode.
- caBIO Pathways (this has been integrated in the Marker Annotations component)
- Cancer Gene Index integration in the Marker Annotations component.
- CELImageViewer
- Cellular Networks Knowledge Base
- Color Mosaic
- Component Configuration Manager.
- Cytoscape_V2_4 - updated version of Cytoscape.
- Dendrogram
- Expression Profiles
- Expression Value Distribution
- Gene Ontology Enrichment Analysis and Display
- Hierarchical Clustering Analysis
- genSpace collaborative framework - improvements.
- Image Viewer
- Jmol
- Marker Annotations
- MarkUs - Analysis and Viewer
- MRA - Master Regulator Analysis - Analysis and Viewer - include, we need to develop online help and tutorial (Aris).
- MatrixREDUCE
- Microarray Viewer
- Mindy - Analysis and Viewer
- Pattern Discovery
- Position Histogram
- Pudge - Analysis and Viewer (Browser) - if this is working (Kiran?) we should include. We can create a very simple online help file, essentially pointing to the Pudge documentation at the Honig site (Aris).
- Promoter
- Scatter Plot
- Sequence
- Sequence Alignment
- Sequence Retriever
- SOM Analysis
- SOM Clusters
- t Test Analysis
- Tabular Microarray Viewer
- Volcano Plot
- GenePattern components
- PCA (GenePattern) - Analysis and Viewer
- K-nearest neighbors (GenePattern)
- SVM 3.0 (GenePattern) - Analysis and Viewer - include, we need to develop online help and tutorial (Aris).
- WV - Weighted Voting (GenePattern)
- GeneWays (need for Cytoscape viewer for ARACNe)- this component not working; we do
not have end-user documentation materials (Aris). However, Geneways must be included for Cytoscape interaction to function, but Geneways itself cannot be chosen as a component nor used directly.
Excluded and Dropped Components
The release creation script in build.xml now explicitly includes components by name (previously it excluded components by name) The following is a list of modules known to be excluded.
Excluded components
The following components are excluded for a variety of reasons, most often due to lack of formal requirements documentation or/and associated system test scripts. Some of them should be scheduled for inclusion in the next production release. For modules not found in the current all.xml a path to the component is shown.
Still under development:
- Cancer-GEMS (awaiting further development from NCI)
- NetBoost
- EdgeListFileFormat (NetBoost)
- Evidence Integration
- MEDUSA
- Skyline - awaiting documentation to be developed in cooperation with the Murray lab.
- Skybase- awaiting documentation to be developed in cooperation with the Murray lab.
Not actively being developed:
- GCRMA Via R CEL Loader (in \geworkbench\src\org\geworkbench\components\parsers)
- GSEA
- Multi-t-test (OK, but need to understand when it would be used, e.g. after ANOVA, and if it is what we really want).
- SMLR - Sparse Multinomial Logistic Regression - implementation by John Watkinson.
- SVM Format (in \geworkbench\src\org\geworkbench\components\parsers) (left over from a John Watkinson project).
- Synteny (in \geworkbench\components\alignment\src\org\geworkbench\components\alignment\client)
- t-profiler
- caScript
Dropped components
These components are not expected to be used again.
- Column Major Format (in \geworkbench\src\org\geworkbench\components\parsers)
- Frequency Threshold Filter (There is a class called AllelicFrequencyThresholdFilter in \geworkbench\components\filtering\src\org\geworkbench\components\filtering)
- GeneOntology
- Genotypic File Format (in \geworkbench\src\org\geworkbench\components\parsers\genotype)
- Network Browser (was part of Reverse Engineering - would require major rewrite to revive. PathwayDecoder is module name)
- Pattern Discovery Algorithm (association analysis)
- Patterns (Pattern Panel) - Omit from release - Appears to have been superseded by the Sequence component.
- Reverse Engineering (non-ARACNE, unpublished algorithm. PathwayDecoder is module name)
- Simulation (a student project)
Note - the original "interactions" component was dropped and reimplemented as the Cellular Networks Knowledge Base. It took a brief detour as being called component "interactions2".
Externally supplied components
The following components originate external to the geWorkbench source tree:
MatrixReduce
Source
MatrixReduce source code was obtained from the Bussemaker lab and a modified copy saved under: adcvs.cu-genome.org:/cvs/magnet/matrixreduce_distribution. This modified copy contains Java API changes made to integrate with geWorkbench.
Compiling
MatrixReduce is compiled using the following commands:
- FitModel binary is compiled manually as follows
- gcc -c -O2 -mno-cygwin -funroll-loops *.c
- gcc -mno-cygwin -static nrutil.o fncs_cmns.o fncs_seqs.o fncs_tdat.o fncs_seed.o fncs_app1.o fncs_app2.o fncs_nrcs.o fncs_topo.o fncs_mylm.o fncs_bits.o FitModel.o -o FitModel –lm (for windows and linux)
- gcc -mno-cygwin nrutil.o fncs_cmns.o fncs_seqs.o fncs_tdat.o fncs_seed.o fncs_app1.o fncs_app2.o fncs_nrcs.o fncs_topo.o fncs_mylm.o fncs_bits.o FitModel.o -o FitModelMac –lm (for Mac)
- API jar: The Java API jar is created with the makefile, command "make jar".
- FitModel binary is compiled manually with gcc, with extra flags to tell it to not use Cygwin, to optimize and to unroll loops
- FitModel.exe bundles both the NR (Numerical Recipies) and GNU libraries.
- The API jar is created with the makefile under MatrixREDUCE's top directory.
Notes
See comment on white spaces in file names/paths in Mantis : http://mantis.cu-genome.org/view.php?id=1316
Aracne.jar for MINDY
Although ARACNE is a geWorkbench component, the MINDY component uses a version of ARACNE that is externally maintained. The file aracne.jar is copied directly into the geWorkbench CVS tree.
The location of the external ARACNE code is:
The version of the external ARACNE code is:
Cytoscape
Any other components?
TODO Notes
Release 1.7.0 TODO notes carried over
- Note that Marker Annotations data now drawn from Entrez, CGAP and GeneCards. (Need to verify - Entrez and GeneCards not mentioned 1.7.0)
- Verify that "Affy file format" parser corresponds to MAS5. Update spreadsheet. NOTE - this file extension removed for release 2.0. No longer needed.
- Add MatrixReduce data to tutorial dataset. (not done in 1.7.0)
- Remove unneeded data from tutorial download. (not done in 1.7.0)
- Was problem with file save corruption fixed? It affected writing out files that had been read in in EXP (matrix) format. (think so but need to verify)
- Include a list of HG-U95 and HG-U133 transcription factors in tutorial data download or with distribution (see Nature Protocols paper). (not done in 1.7.0?)
- Document status of 64-bit release. Is there a special version? (not done in 1.7.0?)
Release 1.8.0 TODO notes
- ARACNe Grid - need to verify that server-side implementation includes Bcell-100 parameter files.
- ARACNe/MINDy Need to check on migration to new Califano lab page on Wiki.
- caArray - Our local caArray is at afapp1.c2b2.columbia.edu port 38080 (web interface).
- Color Mosaic - All Markers and All Arrays checkboxes appear to be disabled - oh this is only for ANOVA display.
- Hierarchical Clustering - When I do hierarchical clustering, the arrays are shown ordered by the array sets activated, rather than the original order of the arrays in the dataset. Need to confirm that the labels and arrays are really staying together correctly when resorted.
- MatrixREDUCE shown to work on Windows but not clear if it works on Linux.
- MINDy - Need to finalize MINDy use case document to reflect all changes made.
- Normalization Panel - rename to "Normalization" in CCM.
- Release Notes - need better instructions on Java requirements - see also note below.
- User Manual - As changes are made to tutorials, check printed manual and retrieve any information of interest so can retire manual.
- Java 1.6 - what is current dependance on Java 1.5? Has caArray/Java 1.5 dependance been cleared up? Can we compile with 1.5 and run with 1.6, which would remove absolute requirement for people to make sure they have 1.5 installed on their machines for generic version?
- Ontologzier 2.0 - update license to include Ontologizer 2.0 BSD license terms. - done.
For next time
- ANOVA - Need to pin down exact details on algorithms - Adjusted Bonferroni, Westfall-Young, and how to explain the interpretation of the alpha value in FDR - is it the confidence in the FDR as you sometimes see mentioned? Is the reported p-value (e.g. Bonferroni) corrected or uncorrected? Check code for details.
Documentation changes
Changes that only pertain to geworkbench wiki
- Added Bcell-100.exp cell line descriptions to tutorial data page.
Completed changes to Wiki tutorials AND Online-Help
This means that all updates were made and everything is in synch.
- ANOVA
- tutorial developed using some material from existing (release 1.7) Online Help.
- then extensively revised, detail added on algorithms and usage.
- added text from bug report 1779 describing how only one FDR parameter field at most will be saved (only when one is selected).
- Copied tutorial back to fully replace Online Help entry with full TOC structure.
- ARACNE
- tutorial was updated to remove duplicate examples and incorrect references concerning starting from an adjacency matrix.
- tutorial was updated to explain error which occurs on grid node if run in PREPROCESSING mode (Mantis bug 1887).
- Clarify for documentation whether hub must be in selected marker set. (It must).
- In general, All-vs-all should not be the default setting in ARACNe - always use transcription factor lists if available (Manjunath) - add to documentation for 1.8 but no good option on interface.
- Copied tutorial back to fully replace Online Help entry with full TOC structure.
- CNKB
- see Cytoscape entry below: a note was added to CNKB mentioning network removal/creation. The same note was added to ARACNe also.
- The CNKB tutorial was extensively revised to demonstrate many more features and show use of Cytoscape 2.4. Online Help was synched up with the tutorial.
- Marker Annotations - tutorial was ported from the released Online Help section. However, there is a new issue below that must be addressed in both.
- Master Regulator Analysis (MRA) - a section on running MRA and viewing the results was added. Online help was synched with tutorial.
- Promoter - Complete rewrite of tutorial and including material from original version of online help. Specific additions include but not limited to:
- http://wiki.c2b2.columbia.edu/mantis/view.php?id=1990, Add ability to specify pseudocount; separate normalization and display.
- http://wiki.c2b2.columbia.edu/mantis/view.php?id=1989, Equal base counts result in empty Logo.
- Sequence Alignment / BLAST - Complete updating and rewriting of tutorial to reflect various changes (removed PFP filter, System Info tab etc, added significant previously missing information). Online Help synched with tutorial.
Completed changes to Wiki tutorials subsequent to 1.7.0 release
The relevant Online Help pages will need to be updated.
- Color Mosaic tutorial added, starting with material in User Manual.
- Cytoscape
- tutorial was updated to describe network create/destroy right-click menu commands and how clicking on an adjacency matrix in the Project Folders component recreates the network. mantis bug 1770.
- bugs 1728, 1743 and 1752 - a description of set operations and how the may result in unexpected results due to the many-to-many relationships of markers and genes was added.
- Grid Services - Added a "Services" section to each analysis component tutorial for which a grid service exists (except Pudge).
- Hierarchical Clustering - A completely new tutorial on Hierarchical Clustering was written, starting from the ANOVA tutorial result.
- MatrixREDUCE - tutorial was updated after the 1.7 release - may need to update online help.
- SOM - The SOM entry (previously part of the Clustering entry) was completely rewritten, including detailed descriptions of the parameters taken from the online-help. The SOM example also starts with the ANOVA result.
- Analysis - There is a new section in the tutorials for Analysis which has no matching Online Help chapter. It describes e.g. the way saved parameters are highlighted if matched.
Needed changes to Tutorials
Some of these were carried over from the release 1.7.0 Wiki, while others are new.
- Color Mosaic
- Don't know what Sort is supposed to do, and
- Export does not appear to work. Does not work from ANOVA, and
- Image Snapshot does not seem to work from main Color Mosaic but does work if displaying from ANOVA.
- Deviation Filter - What exactly is the deviation filter calculating? ARACNE paper mentions filtering on coefficient of variation. (not done in 1.7.0)
- Expression Profiles - tutorial needed.
- EVD - What is the EVD t-test used for/ how is it used? A histogram of t-test statistics? (not done in 1.7.0)
- Gene Pattern components need tutorials/Online Help??:
- Need to document server settings to use GenePattern modules. Our local GenePattern server is afdev2.c2b2.columbia.edu port 9999.
- PCA (GenePattern) - Analysis and Viewer
- K-nearest neighbors (GenePattern)
- SVM 3.0 (GenePattern) - Analysis and Viewer - include, we need to develop online help and tutorial (Aris). http://wiki.c2b2.columbia.edu/mantis/view.php?id=474
- WV - Weighted Voting (GenePattern)
- Gene Ontology (GO Terms) - new component, both tutorial and help needed.
- GenSpace - there is no Wiki tutorial for genSpace. However, Online Help does exist for it.
- Grid Services
- Add detail to tutorial about how caGrid v1.3 uses caTransfer?
- Verify that each component offering a grid service has documentation.
- Find out and explain how our grid services handle multiple requests e.g. to ARACNe grid service - all run at once, in separate processes?
- Explain exactly what is sent to grid - only selected data, or all data with a map? (not done in 1.7.0)
- Hierarchical Clustering
- Need a more top-level description of the Dendrogram component.
- when "Average" linkage is selected, MEV uses a "weighted" average, which reduces the weights of more distant nodes. Does geWorkbench implement any such refinement?
- MEV can give priority to markers or arrays (?) when drawing the clusters.
- Marker/Array Sets - Fan is now using a new terminology - collections instead of groups of sets. Probably good to revise our descriptions too.
- Marker Annotations
- http://wiki.c2b2.columbia.edu/mantis/view.php?id=1959, Cancel button apparently inoperative during annotation download.
- add more documentation to Tutorial/Online Help about the caBIO PID sources used.
- Marker Selection in some components - The way marker filtering is done has changed to use a built in set selection feature in the MINDy viewer, rather than using activated marker sets. See bug 1673.
- Markus
- The Markus and Skyline grid service URLs are not the same as for other components. You would think this would be handled by the dispatcher but apparently it is not. Make sure any tutorials include the proper URL.
- tutorial is still rough. Structure should be brought more into line with others.
- to actually run Mark-Us, one needs a grid password. What is our policy on this?
- MINDy
- Clarify for documentation whether TF and Modulators must be in target data set. (not done in 1.7.0)
- Changes to GUI in 1.7.0 need to be reflected in Tutorial/online help - e.g. the tutorial still says "Conditional (MINDY)".
- Modulator Inference by Network Dynamics - added to Tutorial post 1.7.0.
- http://wiki.c2b2.columbia.edu/mantis/view.php?id=1673, Mindy repainting. Need to add new method of result filtering to tutorial etc.
- Normalization - two of the components are missing online help - array based centering and mean-variance normalizer - all screenshots are bad. http://wiki.c2b2.columbia.edu/mantis/view.php?id=1948
- Pattern Discovery - http://wiki.c2b2.columbia.edu/mantis/view.php?id=1421 limit on number of patterns that can be displayed.
- Position Histogram - There is no online documentation. How does it align sequences? (not done in 1.7.0)
- Project Folders
- the File Open list of file types is now alphabetical. If any tutorial / help page depicts this, it should be updated.
- Need file format descriptions.
- Pudge - did not add a services section to Pudge tutorial because not sure if it is actually used/available.
- Scatter plotThere seems to be no tutorial. Online Help exists but needs to be updated to mention the enhanced "tooltip" spot identification added in release 1.7.0.
- http://wiki.c2b2.columbia.edu/mantis/view.php?id=1782
- Details: A feature had been added to Scatter Plot to allow overlapping points to each display a tooltip. This did not work if many points were overlapping, or if there were too many points in the dataset being compared. If more than 100 points are being compared in the plot, the enhanced tooltip feature is turned off, and only one point will show a tooltip for a given location.
- Sequence (Viewer)- tutorial needed.
- SOM - The following questions are outstanding on SOM tutorials:
- Where did the statement about data for SOM needing to be normalized come from? Is it true?
- The formal definition of SOM says dimensionality where it may mean something like "dimensionality N".
- The online help mentions neuron and initial coordinates, but now only one set is displayed. Which is it?
- t-test - Existing tutorial is poor. Base a new one on material generated in MRA t-test tutorial. (not done in 1.7.0)
- http://wiki.c2b2.columbia.edu/mantis/view.php?id=1828 lists several components missing online help. Need to check.
Tutorial and Help change status table
component | Tutorial | Online-Help | in synch | further changes needed | assigned to |
---|---|---|---|---|---|
Analysis | yes | no | no | no | Ken |
ANOVA | yes | yes | yes | no | |
ARACNe | yes | yes | yes | no | |
BLAST/Seq. Align | yes | yes | yes | no | |
caArray | "remote data sources (caArray)" | "Project Panel - Remote Data Source" | ? | ||
CEL imager | in Viewing a Microarray | yes | ? | ? | |
Cellular Network KB | yes | yes | yes | no | |
Clustering (SOM and HC) | individual | yes | no | ? | Ken |
Color Mosaic | yes | yes | no | yes | assign |
Component Configuration Manager | yes | yes | ? | ? | |
Cytoscape | yes | yes | yes | no | |
Dataset Annotation | in "Project Details" | "Comments" | need to synch up names | ||
Dataset History | in "Project Details" | "History Panel" | need to synch up names | ||
Expression Profiles | no | yes | no | ? | |
Expression Value Distribution | yes | yes | ? | ? | |
Experiment Information | in "Project Details" | yes | no | ? | |
Filtering | yes | yes | ? | ? | |
Gene Ontology | no | no | - | create | Ken |
Gene Pattern Components | Classification - KNN and WV | ? | no | ? | |
genSpace | no | yes | no | ? | |
Hierarchical Clustering | yes | yes | no | yes | Ken |
JMol | yes | yes | ? | ? | |
Marker Annotations | yes | yes | yes | yes | Ken |
Markers/Phenotypes/Arrays | ? | yes | ? | yes | |
Mark-Us | yes | yes | ? | yes | Ken |
Master Regulator Analysis | yes | yes | yes | no | |
MatrixReduce | yes | yes | no | no | |
Menu | |||||
Microarray Viewer | yes - see Viewing a microarray dataset | yes | ? | ? | |
MINDy | yes | yes | ? | Yes | Ken |
Normalizers | yes | yes | no | yes | Aris |
Online Help | |||||
Pattern Discovery | yes | yes | ? | yes | |
Position Histogram | no | yes | ? | ? | |
Preferences | ? | ? | |||
Principal Component Analysis | no | no | is this gene pattern? | ||
Project Folders | "Projects and Data Files" | "Project Panel" | ? | yes | |
Promoter | yes | yes | yes | no | |
Pudge | yes | yes | looks yes | ? | |
Scatter Plot | no | yes | no | yes | |
Self Organizing Maps | yes | yes | no | no | Ken |
Sequence Panel | no | no | assign | ||
Sequence Retriever | yes | yes | ? | ||
Services (Grid) | yes | no | no | yes | Ken |
t-Test | yes | yes | ? | yes | Ken |
Tabular Microarray Viewer | "Viewing a Microarray Dataset" | yes |
CVS Tag Info
- geworkbench_1_8_0
Building the Application
Check out the new geworkbench_1_8_0 branch to a new directory.
For Testing
The following steps should be followed to set up geWorkbench for testing.
Release Engineer:
- The file conf\all_release.xml needs to be updated to include the components that are part of the release.
- The target createDist within the file build.xml needs to be updated so that only components that are part of the release are copied into the file ..\cleanFolder.
- Each component now contains a *.ccm.xml file which contains information displayed in the top-level CCM manager. For example, the default state of being automatically loaded or not can be set here.
deprecated with new CCM framework
- Verify that the components are listed in the correct order in all_release.xml. Remember that there is a conflict between Genspace and another component whose resolution depends on the correct order. (Include details here....)
Testers
After the release engineer has properly configured the two files all_release.xml and build.xml (above), the testers should do the following:
- Check out the release branch/tag from CVS into a new directory.
- Change to the new directory and run “ant createDist”. This step will create a folder named "cleanFolder" at the same level as the directory where the CVS code was extracted into. It will put into cleanFolder a new (simple) build.xml designed for running the application in test mode (in case of doubt perform "ant clean" before the "ant createDist").
- Change directory to ..\cleanFolder and start the app there by running “ant run”.
Release-specific versions of system tests are stored in Sharepoint: https://sharepoint.c2b2.columbia.edu/c2b2/Testing/
Procedures for running the system tests are found on the Wiki: http://wiki.c2b2.columbia.edu/informatics/index.php/System_tests#Best_practices_for_System_tests
Also, if a script fails and you believe it is a defect in geWorkbench, please check if the defect is already described in Mantis
- if not in Mantis file a new bug in Mantis
- enter the bug number in the status page for the system tests (http://afdev/systemtest/BrowseLogs.php)
If you believe there is a defect in the System Test please send e-mail to the test lead for further investigation.
Some of the System Tests may need to be updated due to changes in the GUI of geWorkbench since the previous release. Please make note of such cases and send an e-mail to the System Test lead.
For Release
- The Release Engineer should update the date in the "version info" to the actual build date, and make sure the version number is correct.
- To create a final distribution folder go to the new directory where the CVS code was extracted and run "ant createCleanDist". This task will clean and rebuild the application into cleanFolder.
System Testing
The instructions and testing assignments were delivered via this file.
Table with assigned system tests. The name of the file (word document), the assigned tester, the relative location on share point and the names of the data files are given.
System test | Assigned tester | location (relative to link | estimated date of completion |
---|---|---|---|
2 Channel Genepix Filter | Oleg | \microarrays\Filtering\2 Channel Threshold Filter | |
Affy Filter | Min | microarrays\Filtering\Affymetrix Detection Call Filter | |
ANOVA | Udo | microarrays\Analysis\ANOVA | |
ARACNe | Zhou | microarrays\Analysis\ARACNe | |
BLAST | Ken | Sequences\Analysis Area\Alignment\BLAST | |
caArray | Kiran | General\Menu\File\ | |
CEL imager | Nikhil | microarrays\CEL imager | |
Cellular Network KB | Michael | microarrays\Cellular Network KB | |
Color Mosaic | Min | microarrays\Color Mosaic | |
Component Configuration Manager | Oleg | General\Menu\File\ | |
Dataset Annotation | Mark | General\Dataset Annotation | |
Deviation Filter | Nikhil | microarrays\Filtering\Deviation Filter | |
Expression Profiles | Thomas | microarrays\Expression Profiles | |
Expression Theshold | Min | microarrays\Filtering\Expression Threshold Filter | |
Expression Value Distribution | Mark | microarrays\Expression Value Distribution | |
Gene Ontology | not assigned | microarrays\Gene Ontology | |
Genepix Flags Filter | Thomas | microarrays\Filtering\Genepix Flags Filter | |
genSpace | Thomas | General\genSpace | |
Hierarchical Clustering | Min | microarrays\Analysis\Hierarchical Clustering | |
House Keeping Normalizer | Kiran | microarrays\Normalization\Housekeeping Gene Normalizer | |
Log2 Transformation | Oleg | microarrays\Normalization\Log2 Transformation | |
Marker Annotations | Kiran | microarrays\Marker Annotations | |
Marker Based Centering | Zhou | microarrays\Normalization\Marker Based Centering | |
MatrixReduce | Oleg | microarrays\Analysis\Matrix Reduce | |
Mean Variance Normalizer | Kiran | microarrays\Normalization\Mean Variance Normalizer | |
Menu | Thomas | General\Menu\File | |
Microarray Centering Normalizer | Mark | microarrays\Normalization\Microarray Based Centering | |
Microarray Viewer | Udo | microarrays\Microarray Viewer | |
MINDy | Ken | microarrays\Analysis\MINDy | |
Missing Value Normalizer | Thomas | microarrays\Normalization\Missing Value Computations | |
Online Help | Nikhil | General\Help | |
Preferences | Min | General\Preferences | |
Principal Component Analysis | Zhou | microarrays\Analysis\Principal Component Analysis | |
Promoter Panel | Udo | Sequences\Visual Area\Promoter | |
Quantile Normalizer | Nikhil | microarrays\Normalization\Quantile Normalization | |
Scatter Plot | Mark | microarrays\Scatter Plot | |
Selection | Zhou | General\Selection | |
Self Organizing Maps | Udo | microarrays\Analysis\Self Organizing Maps | |
Sequence Panel | Mark | sequences\Visual Area/Sequence | |
Sequence Retriever | Oleg | microarrays\Sequence Retriever | |
t-Test | Udo | microarrays\Analysis\t-test | |
Tabular Microarray Viewer | Zhou | microarrays\Tabular Microarray Viewer | |
Pattern Discovery | none | component discontinued |
For results, see http://afdev/systemtest/BrowseLogs.php
Release
Notes on release process
- version date - Make sure teh version information is updated before release - it is now autogenerated I think.
- geWorkbench splash screen - Make sure it has been updated.
- Gene Ontology OBO file - Download and include the latest file in the release BEFORE system testing (they are updated daily). Only distribute tested file.
- Installer - Try out actual installer release build versions well before the final release, to catch anything to do with file location or installer incompatibilities etc.
- Jaspar data files - The Promoter component has two Jaspar data files in the source directory. The Jaspar website needs to be checked for new data file releases.
- caBIG geWorkbench Tools page - After editing caBIG geWorkbench Tools page, notify nusratyj@mail.nih.gov and CABIG_website@bah.gov (at least this is what we used to do). (Yes still do this).
Date
Lessons Learned
InstallAnywhere problems.
- We turned out to be using an outdated version of InstallAnywhere. (It has since been updated, but release 1.8 was with the old one).
Our instructions for Linux installs were slightly incorrect - missing a .sh on the end of a command file name.
- Numerous platform-specific problems were found with the install process.
- For example, on Linux we only tested the remote, X-Windows display using Cygwin. However, geWorkbench installed directly on a Linux laptop with native X-windows did not work.
- There were problems using non-JRE version on Vista.
- For the LSD 1.2 release, preparing the installation manual caused us to better document our testing assumptions and environement. What configurations were actually tested? JRE versions (different on each platform!).
Please review the 1.7 lessons learned while preparing this release.
System Test Scripts
- caArray - There is no current system test for caArray, and no testing of caArray was assigned, due to problems Udo had in trying to update the script. Ken will test caArray.
- There seems to be no system test for the Pattern Discovery (Splash) components:Pattern Discovery, Patterns, and Position Histogram.
- The following components do not have their own system tests but are assumed to be tested as part of other components:
- Cytoscape 2.4 (ARACNe, CNKB?)
- Dendrogram (Hierarchical Clustering?)
- Volcano Plot (t-test?)
System Test Process
Release Build Process
For Windows and Macintosh, only distributions including the JRE 1.5 were distributed. There are observed problems with Java 1.6.
- caArray connectivity via the Java API does not work under JRE 1.6.
- geWorkbench occasionally freezes up at apparently random moments under JRE 1.6.
Grid Server and URLs corresponding to release 1.8.0
The form of the Index and Dispatcher service URLs changed.
Under release 1.7, the URLs looked like this:
(Local test only inside firewall)
- Index Service URL: http://geworkbench17grid.c2b2.columbia.edu:8080/wsrf/services/DefaultIndexService
- Dispatcher URL: http://geworkbench17grid.c2b2.columbia.edu:8080/wsrf/services/cagrid/Dispatcher
- An example grid service URL is http://cagridnode.c2b2.columbia.edu:8080/v1.7.0/wsrf/services/cagrid/Aracne
(outside firewall)
- Index Service URL: http://cagridnode.c2b2.columbia.edu:8080/v1.7.0/wsrf/services/DefaultIndexService
- Dispatcher URL: http://cagridnode.c2b2.columbia.edu:8080/v1.7.0/wsrf/services/cagrid/Dispatcher
- An example grid service URL is http://geworkbench17grid.c2b2.columbia.edu:8080/wsrf/services/cagrid/Aracne
Under release 1.8, the URLs now look like this:
- Index Service URL: http://cagridnode.c2b2.columbia.edu:8080/v1.8.0/wsrf/services/DefaultIndexService
- Dispatcher URL: http://cagridnode.c2b2.columbia.edu:8080/v1.8.0/wsrf/services/cagrid/Dispatcher
- An example grid service URL is http://geworkbench2.c2b2.columbia.edu:8080/wsrf/services/cagrid/Anova
- An example grid service URL is http://geworkbench2.c2b2.columbia.edu:8080/wsrf/services/cagrid/Aracne
- Server: cagridnode.c2b2.columbia.edu - The web server on cagridnode passes all queries for index service and dispatcher on to geworkbench2. geWorkbench2 is a virtual server which actually provides all the grid services, including index, dispatcher, and the analytical services. It is a Linux machine.
- Caldev has been left behind - it is NOT compatible with geWowrkbench 1.8.0.
Post-release notes (for next version)
- We should have tested with more memory allocated to Java. What value should we use?
Last Minute problems we encountered with release
- We don't know if there are any changes in installation directory restrictions from Vista to Windows 7.
- Welcome screen message was not updated with latest changes, only version. (fixed in final)
- GSEA component was added to gpmodules_v3.0 and showed up in CCM as functional even though we did not want to release it. Set flags to not load by default and hidden.
Final Build testing on different platforms and JREs
Multiple problems have turned up intesting geWorkbench installer versions of different platforms. This section summarizes the exact test setup and the results.
Platform | install file | JRE used to run | result | comments |
---|---|---|---|---|
Linux desktop (Ubuntu) | Linux_installer_with_JRE1.5 | 1.5.0_22 | Fail | special build. Failed on startup. |
Linux desktop (Ubuntu) | Linux_installer_with_JRE1.6 | 1.6.00 | Fail | special build. Failed on startup. |
Linux desktop (Ubuntu) | Linux_installer_noJRE | 1.5.0_22 | OK | - |
Linux desktop (Ubuntu) | Linux_installer_noJRE | 1.6.0_15 | OK | - |
Linux desktop (Ubuntu) | Generic | 1.5.0_? | - | - |
Linux desktop (Ubuntu) | Generic | 1.6.0_? | - | - |
Linux server/Cygwin X-windows | Linux_installer_with_JRE1.5 | 1.5.0_6? | OK | Cygwin X-windows on Vista |
Linux server/Cygwin X-windows | Linux_installer_noJRE | 1.5.0_22 | Fail. Terminates session. | Cygwin X-windows on Vista. |
Linux server/Cygwin X-windows | Linux_installer_noJRE | 1.6.0_17 | Fail. Terminates session. | Cygwin X-windows on Vista. |
Linux server/Cygwin X-windows | Generic | 1.5.0_22 | OK | Cygwin X-windows on Vista |
Linux server/Cygwin X-windows | Generic | 1.6.0_17 | caArray OK | Cygwin X-windows on Vista |
Macintosh OSX 10.5 | MacOSX_installer (noJRE) | 1.5.0_20? | OK | |
Macintosh OSX 10.5 | Generic | 1.5.0_20? | OK | |
Macintosh OSX 10.5 | Generic | 1.6.0_? | OK | |
Windows Vista | Windows_installer_with_JRE1.5 | 1.5.0_11 | OK | started from command window as with below test of noJRE vesion. |
Windows Vista | Windows_installer_noJRE | 1.5.0_22 | Fail | started from command window to verify Java version, JAVA_HOME agree. |
Windows Vista | Windows_installer_noJRE | 1.6.0_7 | Fail | Started by double-clicking on UILauncher. Crashes when hit "continue" button in remote caArray. |
Windows Vista | Generic | 1.5.0_22 | ||
Windows Vista | Generic | 1.6.0_7 | Fail | Was able to start with launch_geworkbench.bat but not with .sh files. Crashes when hit "continue" button in remote caArray download |