[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