Back (for now)

Steve A. Chervitz
Tue, 8 Jul 1997 19:25:37 -0700 (PDT)

> Good thinking; I agree it would be inconvenient to have to go from a
> residue to sequence to secondary structure.  
> However, your suggestion would require having two different ways of
> storing 2D structure -- either with the sequence or with the structure (or
> both).  This could lead to confusion (what if the 2D structures disagree). 
> I think the compromise which probably solves both problems is to build a
> method into the structure object which allows easy retrieval of 2D
> structure info, but does so via the 1D sequence and then via the 2D
> structure.  That is, delegation rather than duplication.

This is an important consideration. Taking a few steps back, I'd 
expect data for building a 2D structure to come from the 3D 
structure. If the 2D structure is so derived, it will automatically be 
congruent with the 2D data in the 3D model. 

However, because 2D structures can also be derived from 1D data, it 
may be worthwhile to distinguish between 1D-derived and 3D-derived 2D   
information. Thus, I imagine that a 2D structure could be linked to a
3D structure or a 1D sequence. This could be useful for comparing 
predicted vs. experimental results. Most of the time, however, you only 
want to deal with one 2D structure. In this case, the 2D structure  
associated with the 3D structure and the 1D sequence would be the same.

>   My thinking was that the 2D structure object would contain a string (as
> in beads on a string) of secondary structure elements (SSEs).  Likewise,
> for Domain.  That is, the domain object is effectively an attribute
> mapped onto the sequence.
>   Your domain object sort of comes from the opposite approach saying "I'm
> a domain and here is where I'm located"  But if you look at residue 36 and
> want to know what domain it is in, it would be necessary to query all of
> hte domain objects to see whether it matches.  Further, it is hard using
> just your Domain object to quickly see where domain boundaries are
> (without querying all of the objects).  In a sense, "your" domain objects
> are the things I see being mapped onto the sequence, but "my" domain
> object (or mybe I should call it "domain order") is the object which
> contains the mapping. 
>   Am I making any sense here?

Yes. Now I see your point. There needs to be something above the level 
of my Domain object describing how it maps onto the structure (or 
sequence).  Having a separate DomainManager or DomainDescriptor seems 

> > > Or, maybe we should add another method like getseq to return a sequence
> > > object of a slice:
> > > 
> > > $mybackgene = $mychromasome->get_seq_obj($end,$beg);
> > >    # ick!  get_seq_obj is a horrible method name!    
> > > $mygene  = $mybackgene->revcom();
> > 
> > I would favor the latter strategy since it is clearer that you are 
> > dealing with a new sequence object.
> Suggestions for a new method name better than "get_seq_obj($end,$beg)"?

How about "newseq()"?