[Bio-Linux] Biolinux 8, pymol and Tkinter error using the builder function

chiara cocconcelli chiara.cocconcelli1 at gmail.com
Wed May 27 09:47:07 EDT 2015


Hi Tim,
thanks for the quick reply! I have just updated the pymol package and I can
confirm that the bug is no longer there!
Do you think it might be worth to push this bug to upstream? from what I
can understand googling the issue there seems to be almost nobody else
experiencing it...let me know what you think, I can open the bugreport if
you wish.
thanks again a lot,
Cheers,

2015-05-27 15:39 GMT+02:00 Tim Booth <tbooth at ceh.ac.uk>:

> Hi Chiara,
>
> Confirmed this on my machine.  This is a bad bug as it makes a whole
> chunk of Pymol functionality unavailable.  As you say, it seems to be an
> issue with tkinter, but very specific to calling grid_info(), which is
> only used once in the Pymol code.
>
> Therefore, rather than attempt to debug tkinter (which is probably
> beyond me!) I've added a workaround patch.  I've also upgraded the Pymol
> package from 1.7.0 to 1.7.2.1 while I was at it.  The new package should
> appear in the software updater for you now.
>
> If you are interested, here is the patch:
>
> tbooth at balisaur$ cat 32_workaround_grid_info_bug.patch
> --- a/modules/pmg_tk/skins/normal/builder.py
> +++ b/modules/pmg_tk/skins/normal/builder.py
>
>      def toggleChemProtein(self):
> -        if self.chemFrame.grid_info():
> -            self.chemB.configure(relief=RAISED)
> -            self.chemFrame.grid_forget()
> -            self.protB.configure(relief=SUNKEN)
> -            self.protFrame.grid(row=1, column=2, rowspan=4, sticky=W)
> -        else:
> -            self.chemB.configure(relief=SUNKEN)
> -            self.chemFrame.grid(row=1, column=2, rowspan=4, sticky=W)
> -            self.protB.configure(relief=RAISED)
> -            self.protFrame.grid_forget()
> +        #Nasty workaround for grid_info bug in Ubuntu 14.04.
> +        try:
> +            if self.chemFrame.grid_info(): raise TypeError()
> +            #If we get to here it means the chemFrame is not active
> +            self.protFrame.grid_forget()
> +            self.chemFrame.grid(row=1, column=2, rowspan=4, sticky=W)
> +            self.protB.configure(relief=RAISED)
> +            self.chemB.configure(relief=SUNKEN)
> +        except TypeError:
> +            self.chemFrame.grid_forget()
> +            self.protFrame.grid(row=1, column=2, rowspan=4, sticky=W)
> +            self.chemB.configure(relief=RAISED)
> +            self.protB.configure(relief=SUNKEN)
>
>  ############################################################
>
> Hopefully that sorts it.
>
> Cheers,
>
> TIM
>
> On Wed, 2015-05-27 at 10:55 +0200, chiara cocconcelli wrote:
> > Hi all,
> >
> > I'm using Biolinux 8 with pymol from the repositories but I am
> > encountering a tkinter-related bug. Steps to reproduce:
> >
> >
> > 1) open pymol
> >
> > 2) in the list of buttons on the right click the Builder one
> >
> > 3) in the panel that opens click Protein on the left
> >
> >
> > the function is not called and this error is raised:
> >
> > Error: 1
> > <type 'exceptions.TypeError'> Exception in Tk callback
> >   Function: <bound method Builder.toggleChemProtein of
> > <pmg_tk.skins.normal.builder.Builder instance at 0x7ffb82e56ea8>>
> > (type: <type 'instancemethod'>)
> >   Args: ()
> > Traceback (innermost last):
> >   File "/usr/lib/python2.7/dist-packages/Pmw/Pmw_1_3/lib/PmwBase.py",
> > line 1747, in __call__
> >     return apply(self.func, args)
> >   File
> > "/usr/lib/python2.7/dist-packages/pmg_tk/skins/normal/builder.py",
> > line 1458, in toggleChemProtein
> >     if self.chemFrame.grid_info():
> >   File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 2000, in grid_info
> >     self.tk.call('grid', 'info', self._w))
> > <type 'exceptions.TypeError'>: coercing to Unicode: need string or
> > buffer, _tkinter.Tcl_Obj found
> >
> >
> > I can provide debugging on request and I have a bit of python
> > understanding, please let me know how I can best diagnose this problem
> >
> > thanks in advance,
> >
> > regards
> >
> > _______________________________________________
> > Bio-Linux mailing list
> > Bio-Linux at nebclists.nerc.ac.uk
> > http://nebclists.nerc.ac.uk/mailman/listinfo/bio-linux
>
> --
> Tim Booth <tbooth at ceh.ac.uk>
> NERC Environmental Bioinformatics Centre
>
> Centre for Ecology and Hydrology
> Maclean Bldg, Benson Lane
> Crowmarsh Gifford
> Wallingford, England
> OX10 8BB
>
> http://environmentalomics.org/bio-linux
> +44 1491 69 2297
>
> _______________________________________________
> Bio-Linux mailing list
> Bio-Linux at nebclists.nerc.ac.uk
> http://nebclists.nerc.ac.uk/mailman/listinfo/bio-linux
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.bioinformatics.org/pipermail/bio-linux-list/attachments/20150527/70079d46/attachment.html>


More information about the Bio-linux-list mailing list