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

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>&lt;hnf&gt;  </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>"&lt; &gt; " </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>