示例#1
0
文件: seqdb.py 项目: mamanambiya/pygr
    def __init__(self, autoGC=True, dbname=None, **kwargs):
        """Initialize seq db from filepath or ifile."""
        if autoGC:  # automatically garbage collect unused objects
            self._weakValueDict = classutil.RecentValueDictionary(autoGC)
        else:
            self._weakValueDict = {}  # object cache @CTB not tested
        self.autoGC = autoGC

        # override itemClass and itemSliceClass if specified
        self.itemClass = kwargs.get('itemClass', self.itemClass)
        self.itemSliceClass = kwargs.get('itemSliceClass', self.itemSliceClass)

        if self.itemClass is None:
            raise TypeError("must supply itemClass to SequenceDB")

        # get a copy we can modify w/o side effects and bind itemClass.
        kwargs = kwargs.copy()
        kwargs['db'] = self
        classutil.get_bound_subclass(self,
                                     'itemClass',
                                     dbname,
                                     subclassArgs=kwargs)

        # guess the sequence type
        self._set_seqtype()
示例#2
0
文件: seqdb.py 项目: amuralle/pygr
 def __init__(self, autoGC=True, dbname='generic', **kwargs):
     "Initialize seq db from filepath or ifile"
     if autoGC: # automatically garbage collect unused objects
         self._weakValueDict = classutil.RecentValueDictionary(autoGC)
     else:
         self._weakValueDict = {}  # object cache
     self.autoGC = autoGC
     kwargs = kwargs.copy() # get a copy we can modify w/o side effects
     classutil.apply_itemclass(self, kwargs)
     kwargs['db'] = self
     classutil.get_bound_subclass(self, 'itemClass', dbname,
                                  subclassArgs=kwargs)
     self.set_seqtype()
示例#3
0
 def __init__(self, autoGC=True, dbname='generic', **kwargs):
     "Initialize seq db from filepath or ifile"
     if autoGC:  # automatically garbage collect unused objects
         self._weakValueDict = classutil.RecentValueDictionary(autoGC)
     else:
         self._weakValueDict = {}  # object cache
     self.autoGC = autoGC
     kwargs = kwargs.copy()  # get a copy we can modify w/o side effects
     classutil.apply_itemclass(self, kwargs)
     kwargs['db'] = self
     classutil.get_bound_subclass(self,
                                  'itemClass',
                                  dbname,
                                  subclassArgs=kwargs)
     self.set_seqtype()
示例#4
0
文件: seqdb.py 项目: dalloliogm/pygr
    def __init__(self, autoGC=True, dbname="__generic__", **kwargs):
        """Initialize seq db from filepath or ifile."""
        if autoGC:  # automatically garbage collect unused objects
            self._weakValueDict = classutil.RecentValueDictionary(autoGC)
        else:
            self._weakValueDict = {}  # object cache @CTB not tested
        self.autoGC = autoGC

        # override itemClass and itemSliceClass if specified
        self.itemClass = kwargs.get("itemClass", self.itemClass)
        self.itemSliceClass = kwargs.get("itemSliceClass", self.itemSliceClass)

        if self.itemClass is None:
            raise TypeError, "must supply itemClass to SequenceDB"

        # get a copy we can modify w/o side effects and bind itemClass.
        kwargs = kwargs.copy()
        kwargs["db"] = self
        classutil.get_bound_subclass(self, "itemClass", dbname, subclassArgs=kwargs)

        # guess the sequence type
        self._set_seqtype()