Ejemplo n.º 1
0
    def heatmap(self,
                conditions=None,
                identifiers=None,
                transform=None,
                low="green",
                mid="yellow",
                high="blue",
                width=800,
                height=None,
                id_map=None):

        id_map = {} if id_map is None else id_map
        identifiers = self.identifiers if identifiers is None else identifiers
        conditions = self.conditions if conditions is None else conditions
        data = self.data_frame[conditions]
        data['y'] = [id_map.get(i, i) for i in identifiers]
        data = melt(data, id_vars=['y'], var_name='x')
        if transform:
            data['value'] = data.values.apply(transform)

        heatmap = plotting.heatmap(data,
                                   y='y',
                                   x='x',
                                   values='value',
                                   width=width,
                                   height=height,
                                   max_color=high,
                                   min_color=low,
                                   mid_color=mid,
                                   title='Expression profile heatmap')

        plotting.display(heatmap)
        return heatmap
Ejemplo n.º 2
0
    def histogram(self,
                  conditions=None,
                  transform=None,
                  filter=None,
                  bins=None,
                  width=800,
                  height=None,
                  palette='Spectral'):

        if conditions is None:
            conditions = self.conditions

        data = melt(self.data_frame[conditions], var_name='condition')

        if filter:
            data = data.query(filter)
        if transform:
            data['value'] = data['value'].apply(transform)
        hist = plotting.histogram(data,
                                  values='value',
                                  groups='condition',
                                  bins=bins,
                                  width=width,
                                  height=height,
                                  palette=palette,
                                  title="Histogram of expression values",
                                  legend=True)

        plotting.display(hist)
        return hist
Ejemplo n.º 3
0
    def scatter(self, condition1=None, condition2=None, transform=float, width=800, height=None, color="#AFDCEC"):
        if len(self.conditions) <= 1:
            raise AssertionError("Cannot build a scatter with only one condition")

        if condition1 is None:
            condition1 = self.conditions[0]
        elif isinstance(condition1, int):
            condition1 = self.conditions[condition1]

        if condition2 is None:
            condition2 = self.conditions[1]

        elif isinstance(condition2, int):
            condition2 = self.conditions[condition2]

        if transform:
            data = self.data_frame.applymap(transform)
        else:
            data = self.data_frame

        data = data.reset_index()
        scatter = plotting.scatter(data, x=condition1, y=condition2, width=width, height=height,
                                   color=color, label='index',
                                   title="Expression values %s vs. %s" % (condition1, condition2),
                                   xaxis_label="Expression %s" % condition1,
                                   yaxis_label="Expression %s" % condition2)

        plotting.display(scatter)
        return scatter
Ejemplo n.º 4
0
    def histogram(self, transform=float, bins=100, width=800, height=None, palette='Spectral'):
        data = melt(self.data_frame, var_name='condition')
        data['value'] = data['value'].apply(transform)
        hist = plotting.histogram(data, values='value', groups='condition', bins=bins,
                                  width=width, height=height, palette=palette,
                                  title="Histogram of expression values",  legend=True)

        plotting.display(hist)
        return hist
Ejemplo n.º 5
0
    def boxplot(self, conditions=None, transform=None, width=800, height=None, palette='Spectral'):
        if conditions is None:
            conditions = self.conditions

        data = melt(self.data_frame[conditions], var_name='condition')

        if transform:
            data['value'] = data['value'].apply(transform)
        hist = plotting.boxplot(data, values='value', groups='condition', width=width, height=height, palette=palette,
                                title="Box plot of expression values", legend=True)

        plotting.display(hist)
        return hist
Ejemplo n.º 6
0
    def heatmap(self, conditions=None, identifiers=None, transform=float, low="green", mid="yellow", high="blue",
                width=800, height=None, id_map=None):

        id_map = {} if id_map is None else id_map
        identifiers = self.identifiers if identifiers is None else identifiers
        conditions = self.conditions if conditions is None else conditions
        data = self.data_frame[conditions]
        data['y'] = [id_map.get(i, i) for i in identifiers]
        data = melt(data, id_vars=['y'], var_name='x')

        heatmap = plotting.heatmap(data, y='y', x='x', values='value', width=width, height=height,
                                   max_color=high, min_color=low, mid_color=mid, title='Expression profile heatmap')

        plotting.display(heatmap)
        return heatmap
Ejemplo n.º 7
0
    def histogram(self,  conditions=None, transform=None, filter=None, bins=None,
                  width=800, height=None, palette='Spectral'):

        if conditions is None:
            conditions = self.conditions

        data = melt(self.data_frame[conditions], var_name='condition')

        if filter:
            data = data.query(filter)
        if transform:
            data['value'] = data['value'].apply(transform)
        hist = plotting.histogram(data, values='value', groups='condition', bins=bins,
                                  width=width, height=height, palette=palette,
                                  title="Histogram of expression values",  legend=True)

        plotting.display(hist)
        return hist