Changeset 1706:fee5567c52af in orange-bioinformatics


Ignore:
Timestamp:
08/10/12 10:55:33 (21 months ago)
Author:
markotoplak
Branch:
default
Message:

Make the datasets with joined class values picklable.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _bioinformatics/obiGsea.py

    r1705 r1706  
    493493        return data 
    494494 
     495class transform_class(object): 
     496     
     497    def __init__(self, cv, mapval, class_values, nclass): 
     498        self.cv = cv 
     499        self.mapval = mapval 
     500        self.class_values = class_values 
     501        self.nclass = nclass 
     502     
     503    def __call__(self, ex, *args, **kwargs): 
     504        """ 
     505        Removes unnecessary class values and joins them according 
     506        to function input. 
     507        """ 
     508        if ex[self.cv] in self.class_values: 
     509            return self.nclass(self.mapval[str(ex[self.cv].value)]) 
     510        else: 
     511            return "?" 
     512 
    495513def takeClasses(datai, classValues=None): 
    496514    """ 
     
    541559        nclass = orange.EnumVariable(cv.name, values=nclassvalues) 
    542560 
    543         def transform_class(ex,cv,mapval,classValues): 
    544             """ 
    545             Removes unnecessary class values and joins them according 
    546             to function input. 
    547             """ 
    548             if ex[cv] in classValues: 
    549                 nex = orange.Example(ndom, ex) 
    550                 return nclass(mapval[str(ex[cv].value)]) 
    551             else: 
    552                 return "?" 
    553  
    554         nclass.get_value_from = lambda ex,_: transform_class(ex,cv=cv,mapval=mapval,classValues=classValues) 
     561        tco = transform_class(cv=cv,mapval=mapval,class_values=classValues, nclass=nclass) 
     562 
     563        nclass.get_value_from = tco 
    555564 
    556565        ndom = orange.Domain(itOrFirst(datai).domain.attributes, nclass) 
Note: See TracChangeset for help on using the changeset viewer.