[Chimera-users] Subclass chimera.Molecule

Eric Pettersen pett at cgl.ucsf.edu
Thu Jun 12 15:58:40 PDT 2014


If you had to do something during Compound/Molecule initialization, you might be able to fake it by listening to the Molecule trigger and doing something to Molecules in the 'created' category.  Pretty horrible I know, but desperate times call for desperate measures…

--Eric

On Jun 12, 2014, at 3:49 PM, Greg Couch <gregc at cgl.ucsf.edu> wrote:

> Molecules can not be subclassed (it is a Python wrapper around a C++ class), but they can be extended with custom methods and attributes by adding those methods and attributes to the Python Molecule class.  You can see some examples of that in chimera/__init__.py, Molecule.sequence is from another module, and Molecule.metalComplexGroup is defined within the file.  Unfortunately, it is not possible to extend Molecule's __init__ function.
> 
>     HTH,
> 
>     Greg
> 
> On 06/12/2014 09:33 AM, Jaime Rodríguez-Guerra wrote:
>> Hello,
>> 
>> I am trying to extend the chimera.Molecule class() to add a few methods and attributes, but the followin error arises:
>> 
>> TypeError: Error when calling the metaclass bases
>>     type '_molecule.Molecule' is not an acceptable base type
>> 
>>   File "/home/jr/x/gaudi/gaudi/molecule.py", line 51, in <module>
>>     class Compound(chimera.Molecule):
>> 
>> Is there any workaround? I want my Compound objects to behave like standard chimera Molecules (with all their attributes and stuff), and also be able to call custom methods on that Molecule.
>> 
>> Thanks in advance,
>> Jaime.
>> 
>> 
> 
> _______________________________________________
> Chimera-users mailing list
> Chimera-users at cgl.ucsf.edu
> http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://plato.cgl.ucsf.edu/pipermail/chimera-users/attachments/20140612/bda0b294/attachment.html>


More information about the Chimera-users mailing list