[Pipet Devel] from Justin

J.W. Bizzaro bizzaro at bc.edu
Wed Jun 9 19:28:05 EDT 1999

Justin Bradford wrote:

> I'm going to work a little late tongiht and start on the first
> implementation of the underlying loci infrastructure. Here's my plan:
> 1. simple command-line digest program. feed it a peptide sequence (1
>    letter abreviations), and a digestion enzyme selected from a few
>    hardcoded in the program.

Great.  I was thinking that I could get Loci to wrap a GUI around "ls", as a
test ;-)

> 2. python wrapper from paos object to 1 and back, merged with paos server

I'm at the point in the WFD (Work Flow Diagram) where I need to communicate with
a server, so I need to get into PAOS.

> 3. merged paos server and client, combined with a mini tool address book.

What do you have in mind for the tool address book?  Right now the WFD uses this
generic block of code to define a locus:

        locus1 = Locus()
        locus1.first = locus0
        locus1.parent = locus0
        locus1.group = locus1.parent.group.add('group')
        locus1.type = 'Widget'
        locus1.label = 'This is locus 1'
        from testwidget1 import *
        locus1.gui = TestWidget1()
        locus1.x = 100
        locus1.y = 10
        locus1.placed_x = locus1.x
        locus1.placed_y = locus1.y

locus.first is the root canvas group, and .parent and .group help define the
placement in the hierarchy.  We do need to have each locus identify its type and

Next, the actual GUI for the locus is "imported", which in the case of the
command-line program is a concatonation of GUI XML's that will help construct
the command-line.  Since a locus is a concatonation, I need to make a generic
XML parser / GUI displayer, which really comes from "pyglade" by James

x and y  placement is not specified by the locus but is determined by the WFD. 
I'm working on it.

> 4. paos client with simple text interface to allow entering a peptide
>    sequence and an enzyme name, as well as outputing a list of digested
>    fragments.

Probably a GtkText widget?

> 2 and 3 will then run on their own ports as daemons.

Good point.  I realized that the Loci server will have to run as a daemon, just
like a Web server.  This is because signals can come from many places at any
time.  How about "locid" for Loci-daemon?  I suppose the daemon can include the
tool address book?  I'm looking for one program that everything can call on for

> a user starts up 4, types in the seq/enzyme.
> 4 makes an object with entered data, and connected to 3
> 3 accepts object from 4, and looks at destination/tool property.
> if dest/tool prop. is a specific network address, have the client aspect
> of 3 contact 2. if a generic tool, consult address book to find
> appropriate address, then contact 2

I'm thinking that the deamon is the same program on the local and remote
machines.  They both have address books of what loci/tools are local to them. 
But when the local daemon contacts the remote daemon, it downloads the remote
daemon's address book.  So the local daemon acts as if EVERYTHING is local.

> 2 accepts the object from 3, formats the data so 1 can use it.
> run 1, and 2 takes output, stores in object.
> 2 then updates 3, and 3 then updates 4.
> 4 outputs the data.
> I already have a number of things I want to change, but I'll just build
> that first. Then, we have to decide how the network layer will work,
> and how to abstract objects (particularly XML) and how they are
> transferred.

Yep.  Good.

> I actually have quite a bit of free-time now with school out, so once I
> have a home network connection again, I hope to get a lot of the lowlevel
> loci done this summer.

Yeah, I have a lot of time to spend on Loci.  Well, that is if I don't want to
get my Master's by August ;-)  BTW, I switched from the Ph.D. to the Master's at
BC because I want to get into a more compuational grad program...on a personal

> I'm on the xml-mol list, which is also rather
> silent. Hopefully we can hash out the DTD's for our various datatypes
> soon.

So I take it you saw my little debate about the uses of XML?  Any thoughts? 
Again, I think most people have one big app in mind when they're talking about
XML: the Web browser.  In all fairness, XML was adopted by the W3C for the Web,
but I think it is suitable as a simpler offspring of SGML.

J.W. Bizzaro                  mailto:bizzaro at bc.edu
Boston College Chemistry      http://www.uml.edu/Dept/Chem/Bizzaro/

More information about the Pipet-Devel mailing list