Jonatahn Crabtree's wdk-classic is a Java port of the earlier attempts to standaradize web development at CBIL, namely the CBIL Style Policy (CSP)
.
WdkClassic is no longer under developement, except for sorely needed functionality or bug fixes. It is being replaced by a new GusWdkDevelopment project, using a true MVC architecture, utlizing Struts as the controller and JSP as the view.
Here are some tidbits of information regarding the wdk-classsic
The servlet-config file
Queries and Boolean queries
Flat file queries
The AgrepQueryPage class was developed to allow approximate searching of
flat files from within the wdk-classic
using the agrep command line util.
Essentially, a user provides a set of flat files from the GUS instance, typically including a sequence ID (e.g. na_sequence_id) and a bunch of associated text (e.g. the RNA description or all gene names associated with the transcript) on a single line.
The class provieds the web form necessary to run agrep over a file and returns the result to the user. If you want to get fancy, you can supply a Perl regular expression to reformat the result in the ResultSub parameter. If you want results to go into the history, yu must provide the
- QueryHistory
- DBConnection
- QueryCache
- IdQuery
- IdColumnName
- PageFormatter
- TableFormatter
- SQLTableFormatter
- HistoryIdRegex
Here is an example for your configuration file:
# -------------------------------------------- # Flat file queries # -------------------------------------------- agrepQ.class=SqlQuery agrepQ.DisplayName=AgrepQ agrepQ.Name=AGREP_ID agrepQ.Abbrev=agrep agrepQ.SQL=select * from dual agrepQ.HtmlBrief=<!--ST0--> query "<!--ST1-->" from <!--ST2--> agrepQ.Params=stringP,stringP,stringP,stringP agrepQ.ResultFormatter=dummyF geneName.class=AgrepQueryPage geneName.Title=@SERVLET_NAME@.org | Gene name search geneName.PageName=geneName geneName.Navbar=navbar geneName.TmpDir=@CACHE_DIR@ geneName.UserQueries=userQueries geneName.QueryHistory=history geneName.DBConnection=gusLogin geneName.QueryCache=queryCache geneName.IdQuery=agrepQ geneName.IdColumnName=na_sequence_id geneName.PageFormatter=pageFormatter geneName.TableFormatter=dotsIdListF1T geneName.SQLTableFormatter=dotsIdListF1 geneName.HistoryIdRegex=#DT\.(\d+)# geneName.DialogFactory=dialogFactory geneName.FlatFileNames=Human/Mouse Pancreatic tissue DoTS transcpripts,Mouse PancChip 5.0 DoTS,Human PancChip 1.0 DoTS,testfile geneName.FlatFiles=@HTDOCS_DIR@/dt-Panc-genename.txt,@HTDOCS_DIR@/dt-MPC50-genename.txt,@HTDOCS_DIR@/dt-HPC10-genename.txt,@HTDOCS_DIR@/dt-testfile.txt geneName.HtmlPrefix=<TABLE border=0><TR><TD>This form allows regular expression searching of gene names for DoTS transcripts using the approximate pattern match program <A HREF=http://www.tgries.de/agrep/>agrep</A>. The resulting matches will be the best match possible against our database of official gene symbols or gene synonyms. All searches are case-insensitive</TD></TR> \ <TR><TD> \ <BR> \ <B>Agrep </B> allows regular expressions, as well as boolean combinations using ';' for "AND" and "," for "OR". Some example searches include: \ <BR> \ <TABLE border=0 ><TR><TH bgcolor=lightgrey >Search text</TH><TH bgcolor=lightgrey > Search examples results</TH></TR>\ <TD > <B>hnf-alpha </B></TD><TD> search for closest match to "hnf-alpha"</TD></TR>\ <TD > <B>HNF;alpha </B></TD><TD> search for "hnf" <U>AND</U> "alpha" in gene synonym set</TD></TR>\ <TD > <B>HNF,alpha </B></TD><TD> search for "hnf" <U>OR</U> "alpha" in gene synonym set</TD></TR>\ <TD > <B><hnf> </B></TD><TD> search for gene names with <U>EXACT MATCH</U> to "hnf" </TD></TR> \ </TABLE> \ <BR> Please be specific by using the <B>"< > " </B> sytax if you are finding the results too loose. </TD></TR></TABLE> geneName.OutputPrefix=<TABLE border=0 cellspacing=2><TR><TH bgcolor=lightgrey >DoTS ID</TH><TH bgcolor=lightgrey >Gene Names</TH></TR> geneName.ResultSub=s#DT\.(\d+)(\s.+)$#<TR><TD><A HREF = "@SERVLET_URL@?page=rna&id=DT.$1" target="_top">DT.$1</A></TD><TD>$2</TD></TR># geneName.OutputSuffix=</TABLE>




