I've been reviewing ApiCommonShared and ApiCommonWebsite as recommended
by Jerric to help me with migrating the BCBC project from WDK1.28 to WDK2.1.
We want to implement the SpanLogic feature in our website. As far as I
can tell there seem to be no major modifications to the model itself in
this aspect, but the main mechanisms underlying SpanLogic seems to be in
the webservice -- as a series of process queries. Is this assessment
correct? If not, what else do I need to consider?
If so, are these process queries dependent on the underlying database
structure? Will I need to make project-specific modifications to this
code or is it something that I can just bring into our project as is?
That being said, what version of the code would be the best for me to
work from, if I need to make project-specific modifications?
Thanks,
Emily
Cristina
Let me first answer your last question. You should choose the latest stable
version of WDK, i.e., version 2.1 at this moment. (The future 2.2 shouldn't be
very different from 2.1, and therefore, should require minium effort to migrate
from 2.1 to 2.2.)
There are 3 big pieces for span logic:
- the dynaSpan record class, which doesn't have static ids in the database, and
the attribute queries and table queries are all written in special ways;
- the queries that return Genomic Segments (dynaSpans), for example, the DNA
motif searches, and searches by locations
- the span logic operation query. This one is implemented with web service, and
be backend requires all the records of different types exists in
ApidbTuning.FeatureLocation table (all except genomic segments whose locations
are computed from its id).
- the frontend support for the spanlogic operation.
You are welcome to reuse the span logic operation code, and if you cannot run
the apidb tuning manager in your environment, we can adjust the service to make
the tuning table name configurable.
The messy part is the front end support. Some of the span logic code resides in
WDK, and it expects the record class names defined by WDK. We never cleanly
refined that part of the code, and in order to make it work on your project, we
need to work together to clear up those code.
Jerric
For future communications: currently I am working with WDK version 2.1.
in the spanQueries.xml file in the ApiCommonShared project I identified
the following associated with process queries:
org.apidb.apicomplexa.wsfplugin.apifed.ApiFedPlugin
org.apidb.apicomplexa.wsfplugin.motifsearch.DnaMotifPlugin
org.apidb.apicomplexa.wsfplugin.spanlogic.SpanCompositionPlugin
Are these all the span logic operation web services? Are any of these
Eupath specific and so can't be used in our project?
Also, because these are all associated with the ApiDB project and not
with the "generic" WDK / WSF I am unsure how to proceed from here.
Would you recommend that for now I add them to the our project-specific
WebService (i.e., GenomicsBCWebService)? What's the timeline for
pulling span logic out of ApiDB?
-Emily
ApiFedPlugin has nothing to do with span logic; it is part of our portal- component communication framework.
DnaMotifPlugin is like WuBlastPlugin, used for one of our queries. It returns the new recordclass Genomic Segments.
Not related with the span logic operation.
I do not think we plan to pull span logic out of ApiDB, I think what Jerric meant is that we need to pull some bits that remain in WDK.
Cristina
cristina
Thank you for clarifying.
-Emily