-
Tim O'Donnell authoredTim O'Donnell authored
expression.py 1.32 KiB
from .presentation_component_model import PresentationComponentModel
from ...common import assert_no_null
class Expression(PresentationComponentModel):
"""
Model input for transcript expression.
Parameters
------------
experiment_to_expression_group : dict of string -> string
Maps experiment names to expression groups.
expression_values : pandas.DataFrame
Columns should be expression groups. Indices should be peptide.
"""
def __init__(
self, experiment_to_expression_group, expression_values, **kwargs):
PresentationComponentModel.__init__(self, **kwargs)
assert all(
group in expression_values.columns
for group in experiment_to_expression_group.values())
assert_no_null(expression_values)
self.experiment_to_expression_group = experiment_to_expression_group
self.expression_values = expression_values
def column_names(self):
return ["expression"]
def requires_fitting(self):
return False
def predict_for_experiment(self, experiment_name, peptides):
expression_group = self.experiment_to_expression_group[experiment_name]
return {
"expression": (
self.expression_values.ix[peptides, expression_group]
.values)
}