[Bio] / ModelEditor / HelpPanel.py Repository:
ViewVC logotype

View of /ModelEditor/HelpPanel.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3 - (download) (as text) (annotate)
Fri Mar 11 21:33:13 2005 UTC (13 years, 7 months ago) by efrank
Branch: MAIN
CVS Tags: before-dynamics-persistence, lwc, treatman-lastDay-0, preTreatmanDyn, HEAD
Changes since 1.2: +286 -3 lines
1. introduce Model as king of the hill rather than RecoElem.
2. migrations to follow
3. new modules for by-peg filtering
4. first stab at externalized app fwk
5. moved seed data factory

bunch of timing code still in this ...need to take out

from wxPython.html import *
import sys

class HelpPanel:
#def __init__(self, parent)

    #------------------------------------------------------------------------
    def __init__(self, parent):
    #------------------------------------------------------------------------
        self.parent = parent
        #self.parent.helpHtmlPage.LoadPage("ModelEditor/ModelEditor.html")
        self.parent.helpHtmlPage.SetPage( self.__pageText() )
                
        return


    def __pageText(self):
        return """<HTML>
<HEAD>
   <TITLE> Monera Model Editor Help </TITLE>
</HEAD>
<BODY>

<H1> Monera Model Editor </H1>

v0.0 <br>
19Aug03 <br>
<p>
Ed Frank <br>
Kaitlyn Hwang <br>

<H2> Contents </H2>
<UL>
   <LI> <A HREF="#Introduction"> Introduction </A>
   <LI> <A HREF="#Model Editor Thesis"> Model Editor Thesis </A>
   <LI> <A HREF="#Organization of the Editor"> Organization of the Editor </A>
   <LI> <A HREF="#Data Source"> Data Source </A>
   <LI> <A HREF="#Metabolites Page"> Metabolites Page </A>
   <LI> <A HREF="#Search Results Table vs. Selected Results Table"> Search Results Table vs. Selected Results Table </A>
   <LI> <A HREF="#Reactions Page"> Reactions Page </A>
   <LI> <A HREF="#Catalog Page"> Catalog Page </A>
   <LI> <A HREF="#Navigator Page"> Navigator Page </A>
   <LI> <A HREF="#Writing Out the Editing Results"> Writing Out the Editing Results </A>
</UL>

<A name="Introduction"></A>
<H2> Introduction </H2>

The Monera Model Editor is meant to support the creation,
modification, and versioning of systems biology models. In time, these
models will span many biophysical processes; however, at the moment,
the editor prototype focuses on biochemistry.
<P>

The editor fits into a processing model that distinguishes between
reconstructions and models. [Replay baby-steps paper].  In brief, a
reconstruction catalogs the actual biophysical elements of a
biological system.  A model, on the other hand, while based upon a
reconstruction, has the objective of understanding and predicting the
behavior of the biological system.  It may choose to ignore portions
of the system, may choose to replace portions with analogies that
simplify the system or allow the model to focus its attention
elsewhere, and may choose to insert purely hypothetical elements.
If a reconstructions is "parts," then a model is "purpose."  A
model ultimately attempts to bridge the gap from a set of parts
to a set of dynamical variables that can be computed upon to predict
the behavior of the system.
<P>

Show diagram of high level workflow:
<PRE>
    genomes -> reconstructions -> models -> dynamical data
</PRE>
We're taling about the 2nd arrow.
<P>

The Monera Model Editor focuses on models, not reconstructions.
Reconstruction typically requires extensive capabilities for
compartive studies, e.g, compartive analysis of the genome of the
subject organism with the genomes of others in order to assign
fuction.  This is not the purpose of the editor and, thus, it
does not provide facilities for these operations.  [But it's not so
cut and dried...]
<P>

Instead, the Model editor focuses on information management: selection
of reconstruction elements, hierarchical organization of a model,
association of reconstruction elements within the hierarchy,
versioning [future release], association of application specific data
with a model.

<A name="Model Editor Thesis"></A>
<H2> Model Editor Thesis </H2>

The thesis behind the editor is that, to do this on a large scale,
models can not be completely entered by hand.  They must be
constrained by accumulated information in biological databases.  Thus
the editor presumes a database with reconstructions and general
biochemistry already exists. [ At this early stage, this is not a
great assumption...it's where we want to end up..so don't be too
religious about this yet]
<P>

The Editor thus works by building higher level constructs from lower
level entities.  At each step along the way, the editor enforces a
constraint that the data exist in a backing database or datastore.
The supported hierarchy right now is:
<UL>
   <LI>    Metabolites and Enzymes
   <LI>    Reactions
   <LI>    Trees of sets of reactions (i.e., reconstructions and models)
   <LI>    Catalogs of trees (catalogs of reconstructions and models)
</UL>

<A name="Organization of the Editor"></A>
<H2> Organization of the Editor </H2>

The Editor is organized, visually, into a notebook of pages, each
selected by a tab at the top.  There are 4 notebook pages, labeled
"Metabolite,"  "Reaction," "Navigator," and "Catalog."  You edit
by switching between these to build up your model.  The pages
are now described, lowest level to highest.  First, we must introduce
the concept of Data Source.

<A name="Data Source"></A>
<H2> Data Source </H2>

The Model Editor works in terms of database independentend object
model that represents the hierarchy just described.  Any database or
that can convert its data to this format can be supported.  We refer
to these as "Data Sources" or "Foundries."  Two are supported right
now: WIT and BSS.  WIT is the WIT3 prototype database at ANL.
BSS is the BioSimScratch prototype database used for prototyping
this application.  At present, BSS is much better supported.
<P>

In several pages you will have the option of choosing a data sorce
via a drop-down selector.  Thus the Model Editor allows the formation
of models from data accumulated over numerous databases.  By extending
the architecture slightly, we will later allow the databases be 
remote, network services.

<A name="Metabolites Page"></A>
<H2> Metabolites Page </H2>

On the Metabolites Page you can search Data Sources for Metabolites.
Metabolites have a Short name (used in printing reactions, graphs, etc.)
and Long names (more detailed biochemical names).  You can search by
either, combining the search criteria by OR or AND.  For each
case, you can search for exact match (EQUALS), by substring (CONTAINS)
or by LIKE.  "LIKE" is a backdoor that lets you insert a valid,
unquoted SQL clause to follow a LIKE operator.  This presumes that the
data source is SQL based, which may not always be true. 
<P>

There is an ADD button that allows you to add a metabolite to the
database.  The OK button produces and immediate transaction and
commit!  Added metabolits automatically are added to the Search Results
Table.

<A name="Search Results Table vs. Selected Results Table"></A>
<H2> Search Results Table vs. Selected Results Table </H2>

When you do a metabolite search, the results land in a table at the upper
right.  Each search appends to this table, but there is a clear button
you can hit to reset the table.  You can left-click rows in the table,
or Contrl-left-click to extend the selection, and then hit the SELECT
button.  This copies the sub-selection of the search results down to
the Selected Results Table at the bottom of the page.  This allows
you to give broad searches for metabolites and then accumulate subsets
into the Selected Results Table.  The utility is explained next.

<A name="Reactions Page"></A>
<H2> Reactions Page </H2>

The Reactions Page allows you to find Reactions in the database.  The
search is by input metabolites, output metabolites and by
enzymes. [Enzymes not supported yet].  The drop down box allows you to
choose three searches, INPUT, OUTPUT and FROM METABOLITE PAGE (Described
just below).   After choosing, you hit the SEARCH button.
<P>

Like the Metabolites page, the Reactions Page has both a Search Results
Table and a Selected Reactions Table.  They function just as on the
Metabolites page.
<P>

The meanings of INPUT, OUTPUT and FROM METABOLITE PAGE are as follows:
<UL>
<LI>
   INPUT:  You specify the metabolite Short Name, exactly.  All reactions with
           this metabolite as an input are found.
<LI>
   OUTPUT: You specify the metabolite Short Name, exactly.  All reactions with
           this metabolite as an output are found.

<LI>
   FROM METABOLITE PAGE:  When selected, the text entry box is disabled.  When
           you hit SEARCH, a window pops up that contains all of the
           metabolites listed in the Selected Metabolites Table on the
           Metabolite page.  There is one row for each metabolite.
<p>
           Each row has an INPUT column and OUTPUT column with checkboxes.
           Check whether you want the metabolite to be rquired as an INPUT
           or as an OUTPUT.  You may check both (but see below).  You may
           check neither, in which case the metabolite is ignored.
<p>
           There are three drop-down chooser at the bottom of the table.
	   One says whether to "Or together" or "And together" the Inputs.
           If you choose "Or together" then any reaction with any of the
           metabolites selected as inputs matches.  If you choose "And
           together," then only reactions with ALL of the metabolites checked
           as Input match.
<P>
           There is a similar box for the output metabolites.
<P>
           Finally, there is and And/Or box for combining the inputs and
           outputs.
</UL>

<A name="Catalog Page"></A>
<H2> Catalog Page </H2>
  
The Catalog Page shows a tree rooted with "Data Sources" under which
there is branch for each data source.  If you expand a data source,
you will see all available reconstructions and models available
from that data source.
<P>

You may select a reconstruction or model and then hit the "Load to
Navigator" button at the bottom right.   The mouse indicator will
turn to an hour glass until the data are loaded.  
<P>

The data are loaded to the Navigataor page, so you do not see a change
on the catalog page.  This may be confusing at first.  Just hit the
Navigator tab after hitting the tab.
<P>

Note:  you may load as many reconstructions and models as you wish.
Each show up in the Navigator page as indepentend trees.  You can
copy/paste between the loaded models and reconstructions.

<A name="Navigator Page"></A>
<H2> Navigator Page </H2>

The Navigator page is split into two pieces, left and right.  The left
is the Tree Navigation Panel and the right is the Information Display
Panel. The tree navigation panel shows all of the trees loaded from
the Catalog Page.  You can open/close the branches to explore the
models and reconstructions.
<P>

You can select a node in any of the trees.  Doing so causes the editor
to determine if there are any associated reactions with that node.  If
so, the set of reactions is shown to the right in the Information Display
Panel.
<P>

Within the Information Display panel, you can left-click a reaction to
select it.  A right click pops up a menu that allows you to cut the
reaction, copy the reaction, or paste previously cut or copied reactions
OR paste in all of the reactions from the Selected Reactions Table
on the reactions page.
<P>

When a tree node is selected (highlighted), you can use the right
mouse button to pop-up an edit menu.  That menu allows you to cut,
copy, and paste tree nodes between arbitrary, loaded trees [will
change in the future so that some trees are read only].  You can also
choose "New Root Node" to create a whole new tree for a new model."
You can also choose "Add Sub Element" to add a new branch under the
selected node.  These operations allow you to build up the model
hierarchy.  Note that when you cut/paste branches, you are doing
a deep copy of the branch, including all associated reactions.
<P>

You can also choose Paste Reactions from the popup to paste previously
cut or copied reactions OR paste in all of the reactions from the
Selected Reactions Table on the reactions page.

<A name="Writing Out the Editing Results"></A>
<H2> Writing Out the Editing Results </H2>

Select the top-most RecoElem in the model you want to write, then use
"Write New Version" from the right-click menu in the Navigator.  This
will write a new version out to the database from which the selected
RecoElem was read.  Note that some databases, like Seed, do not support
write-back.

There is a problem in the Catalog right now in that the version
number display is not automatically updated after a write, although it
is correctly updated in the database.  If you select another catalog
entry and then re-select what you just wrote, you will see the
version number list updated to reflect the recent writing.

</BODY>
"""

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3