def handle_msa_change(self, msa, change): if change.has_changed('sequences'): self.clear() self.update() def integrate(self, ancestor, name=None): msa = integrate_ancestor_msa(self, ancestor) self.msaview_name = Component.integrate(self, msa, name) self.msa = msa return self.msaview_name class CScoreSetting(ComponentSetting): component_class = CScore presets.register_component_defaults(CScoreSetting) presets.add_builtin('gradient:cscore_default', Gradient.from_colorstops((0.0, presets.get_value('color:clustalx_red')), (1.0, presets.get_value('color:clustalx_yellow')), (1.0, Color.from_str("#8ae3d4850000")))) class CScoreRenderer(Renderer): __gproperties__ = dict( gradient = ( gobject.TYPE_PYOBJECT, 'gradient', 'the colors for different bar heights in the plot', gobject.PARAM_READWRITE), cscore = ( gobject.TYPE_PYOBJECT,
def integrate(self, ancestor, name=None): self.msaview_name = Labeler.integrate(self, ancestor, name) msa = integrate_ancestor_msa(self, ancestor) self.sequence_information = msa.sequence_information return self.msaview_name class GeneLocationRendererSetting(ComponentSetting): component_class = GeneLocationRenderer setting_types = dict(alpha=FloatSetting, color=ColorSetting, font=FontSetting, transform_labels=BoolSetting, resize_seqview_to_fit=BoolSetting) presets.register_component_defaults(GeneLocationRendererSetting) class FindEnsemblIDsForUniprotSequences(Action): action_name = 'find-ensembl-ids' path = ['Import', 'Sequence information', 'Find Ensembl links'] tooltip = 'Extract Ensembl links from already imported UniProtKB XML data.' @classmethod def applicable(cls, target, coord=None): if target.msaview_classname != 'data.msa': return etree_category = target.sequence_information.categories.get('uniprot-etree', [None]) try: (e for e in etree_category if (e and e.root) is not None).next() except StopIteration: return