[pygr-notify] [pygr commit] r90 - wiki

codesite-noreply at google.com codesite-noreply at google.com
Tue Aug 12 10:56:15 PDT 2008


Author: cjlee112
Date: Tue Aug 12 10:55:39 2008
New Revision: 90

Modified:
    wiki/SequenceDBModel.wiki

Log:
Edited wiki page through web user interface.

Modified: wiki/SequenceDBModel.wiki
==============================================================================
--- wiki/SequenceDBModel.wiki	(original)
+++ wiki/SequenceDBModel.wiki	Tue Aug 12 10:55:39 2008
@@ -8,12 +8,12 @@
    * let users define / supply any sequence reading function they want.
    * start using the standard get_bound_subclass() system for handling  
itemClass, the same as in other parts of Pygr.

-
-== Proposed SequenceDB model ==
-
  === What's New ===
  The main change is modularizing the storage access mechanisms into the the  
*seqInfoDict* and `_init_subclass()` classmethod supplied by the  
*itemClass*.

+
+== Proposed SequenceDB model ==
+
    * *itemClass* attribute: class to use for each top-level sequence  
object.  I propose that all functions for storage access (building and  
searching the index) be part of the itemClass, since it represents the  
storage interface.
    * *itemSliceClass* attribute: class to use for sequence sub-slice objects
    * *seqInfoDict* attribute: dictionary interface to sequence information  
from the storage mechanism.  Returns an object with attributes like  
*length*, *title* and possibly others like *offset*.  This is the official  
mechanism for getting some information about what's in the database without  
actually triggering the construction of a sequence object.  This interface  
is needed for things like NLMSA that will need to construct union  
coordinate systems that unify one or more sequence databases.
@@ -29,8 +29,9 @@
  == Sequence model ==
    * *id* attribute: gives the ID of the sequence (primary key within its  
database)
    * *db* attribute: points to the database object containing this sequence
-  * *orientation*: 1 if forward strand, -1 if negative strand
    * *path*: the complete sequence object containing this sequence interval
+  * *start*, *stop*: coordinates for this interval.  See docs for sign  
convention.
+  * *orientation*: 1 if forward strand, -1 if negative strand
    * `__getitem__(slice)`: slice this sequence
    * `__len__()`: get this sequence's length
    * `__str__()`: get this sequence interval's sequence string
@@ -44,5 +45,3 @@
  === Additional implementor methods ===
    * `strslice(start, stop)`: get string corresponding to sequence for  
interval [start,stop].  This is the primary interface to the actual storage.
    * `_init_subclass(seqReader=None)`: classmethod on the itemClass, that  
initializes connection to the storage, constructing the index if necessary,  
and adds a *seqInfoDict* attribute to the sequence database object.  Should  
accept a seqReader method argument that iterates all the sequences in the  
input file and returns all the IDs and sequences.
-
-



More information about the pygr-notify mailing list