LLNL / MemSurfer

MemSurfer is a software tool to compute bilayer membrane surfaces.
GNU General Public License v3.0
24 stars 9 forks source link

Computing surface yields unexpected error #11

Open allexandre97 opened 3 years ago

allexandre97 commented 3 years ago

Hello,

I'm trying to compute a surface for a CG pure POPC membrane. In pseudocode, the procedure I'm following looks like:

import MDAnalysis
from memsurfer import Membrane

u = MDAnalysis.Universe(pdb_file, xtc_file)

frame = u.trajectory[-1]

atoms = u.select_atoms('name PO4')
bbox = np.zeros((2,3))
bbox[1,:] = frame.dimensions[:3]

membrane = Membrane.compute(atoms.positions, atoms.resnames, bbox = bbox, periodic = True)

Which yields the following error

terminate called after throwing an instance of 'std::length_error'
what():  cannot create std::vector larger than max_size()

It looks like it has something to do with the box dimensions (maybe?) but I have no Idea how to fix it.

I also tried computing a surface from a random distribution of points within the same bounds as my membrane, and get the same error.

Thank you very much in advance for your help!

bhatiaharsh commented 3 years ago

how large is the system? can you provide atoms.positions.shape ?

allexandre97 commented 3 years ago

The array where I have the positions has a (5000, 3) shape