[Chimera-users] Sum of volume data values

Eran Shacham eshacham at burnham.org
Wed Apr 12 16:01:45 PDT 2006


Hey Tom,

Sure, from now on I will send my questions to chimera-users email 
address. Sorry about that.

The Numeric flat() method doesn't work for me. Error is:
ValueError: flattened indexing only available for contiguous array

So, instead I just wrote a loop to 'flatten' the array down:
for i in m:
        for x in i:
            for j in x:
                for u in j:
                        sum = sum + u
Does that seem fine, or is .flat() doing something else?

Cheers,
Eran.
Thomas Goddard wrote:
> Hi Eran,
>
>   Ok, here is code to read an MRC file and print the sum of map values
> without using Chimera.  You need Python, the Numeric Python module which
> handles multidimensional arrays and the VolumeData module from Chimera.
> Numeric is obtained from sourceforge:
>
>     http://sourceforge.net/project/showfiles.php?group_id=1369&package_id=1351
>
> The VolumeData module is in your Chimera distribution.
>
>     chimera/share/VolumeData
>
> Here's an example running the script where I've set PYTHONPATH to have
> access to the VolumeData module:
>
> 	% env PYTHONPATH=/usr/local/chimera/share python2.4 volumesum2.py
> 	Sum of values of groel.mrc  =  21720.8984375
>
> Send future questions to chimera-users at cgl.ucsf.edu so others who
> have similar problems can benefit.  I get that email just as fast.
>
>    Tom
>
> -------
> file volumesum2.py follows:
>
> # Script to print the sum of volume data values.
> # Does not need Chimera, just the VolumeData module and Numeric and Python.
>
> path = 'groel.mrc'
>
> # Read the MRC volume data and get the 3-D Numeric array.
> from VolumeData.mrc.mrc_format import MRC_Data
> data = MRC_Data(path)
> m = data.matrix()
>
> # Compute the sum of the elements of the volume matrix.
> import Numeric
> sum = Numeric.sum(m.flat)
>
> # Print the sum
> print 'Sum of values of', path, ' = ', sum
>
> -------
>
>   
>> Date: Wed, 12 Apr 2006 14:46:14 -0700
>> From: Eran Shacham <eshacham at burnham.org>
>> To: Thomas Goddard <goddard at cgl.ucsf.edu>
>> Subject: Re: Sum of volume data values
>>
>> Hey Tom,
>>
>> Thanks for your reply. However, I would like to do that from within a 
>> script I already wrote. i.e I would like to integrate a read_in method 
>> for an MRC file, access it values and then calculate the sum. I would 
>> like to avoid doing that by opening my file in Chimera at this stage of 
>> the program. Can it be done by importing some of your code?
>>
>> Thanks,
>> Eran.
>>     
>
>
>   

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


More information about the Chimera-users mailing list