예제 #1
0
class NameMatching(TransformerMixin):

    def __init__(self):
        super().__init__()
        self.naming = NamingService('recon')

    def fit(self, X, y=None):
        return self

    def transform(self, X, y=None):
        return self.naming.to(X)
예제 #2
0
def hmdb_disease_normalization():
    dataset = DataReader().read_hmdb_diseases()
    naming = NamingService('hmdb')
    nor_data = dict()

    for dis, categories in dataset.items():
        for cat, measurements in categories.items():
            named_measurements = naming.to(dict(measurements))
            if len(named_measurements) >= 10:
                nor_data['%s %s' % (dis, cat)] = {
                    k: round(
                        min(v - 1, 100) if v >= 1 else max(1 - v**-1, -100), 3)
                    for k, v in named_measurements.items()
                }
    DataWriter('normalization_hmdb').write_json(nor_data)
class MetabolicSolutionScaler(TransformerMixin):
    """Scaler for converting change level data to pathway level"""
    def __init__(self, vectorizer: DictVectorizer):
        self.vectorizer = vectorizer
        self.solution_service = SolutionService()
        self.naming = NamingService('ecolin')

    def fit(self, X, y):
        return self

    def transform(self, X, y=[]):
        ecolin_X = self.naming.to(X)
        solutions = self.solution_service.get_solutions(ecolin_X)
        return solutions

    def fit_transform(self, X, y):
        return self.fit(X, y).transform(X, y)