Example #1
0
    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,
Example #2
0
    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