FATSLiM / fatslim

Main code repository for FATSLiM
GNU General Public License v3.0
21 stars 10 forks source link

IndexError in both APL calculation #12

Open LHRK opened 5 years ago

LHRK commented 5 years ago

Hi, I am trying to calculate apl for different lipids in a coarse grained bilayer with a receptor. However I get the error: Traceback (most recent call last): File "/mnt/software/python2.7/lib/python2.7/site-packages/fatslimlib/init.py", line 132, in main exit_code = _command_registry.run(argv) File "/mnt/software/python2.7/lib/python2.7/site-packages/fatslimlib/command.py", line 211, in run cmd_obj.run_with_args(command_args) File "/mnt/software/python2.7/lib/python2.7/site-packages/fatslimlib/command.py", line 405, in run_with_args self._run() File "/mnt/software/python2.7/lib/python2.7/site-packages/fatslimlib/command.py", line 477, in _run nframes = super(AnalyticalCommand, self)._run() File "/mnt/software/python2.7/lib/python2.7/site-packages/fatslimlib/command.py", line 360, in _run output = self.run() File "/mnt/software/python2.7/lib/python2.7/site-packages/fatslimlib/command.py", line 578, in run frame_output = self.process_frame(frame) File "/mnt/software/python2.7/lib/python2.7/site-packages/fatslimlib/command.py", line 964, in process_frame membrane = membranes[0] IndexError: list index out of range

I tried striding the trajectory, since it seems to run for a couple of frames before this occur. However, that did not help. If I try calculating the thickness i get the same error, however, if I only try detecting the leaflets, it works fine, with the same files.

I can see a similar error have been reported, but as far as I can find, there is no answer / solution ?

Can you possible help?

Best regards LRK

seb-buch commented 5 years ago

Hi,

This happens when, for some reasons, fatslim can't manage to identify a membrane. Because fatslim tries to identify the membrane each frame (by default), it may work well with some frames and fail with others.

Is the system special? For instance, are there some lipids which are flip-floping around the receptor and that could create a "bridge" between the leaflets (in which case fatslim will fail to identify the membrane)?

The good news is that I am currently rewriting everything and I have consolidated the membrane identification algorithm (as well as the thickness calculation one). The less good news is that I still need to write some tests and some part such as the CLI interface so it is still at a pretty early stage.

If you can identify on frame which make fatslim crash, it would be really kind to send it to me so I can test the new algorithm.

Séb

MSonora commented 3 years ago

Dear Sébastien Buchoux,

I am writing in regard to the same issue. I am using the FATSLiM version: 0.2.2 for the calculation of APL and membrane thickness of a coarse-grained lipid vesicle. I got the following error message:

Analysing frame 75/ 521 (time: 1064000 ps)... done in 760 ms (Remaining: 370 s) FATAL ERROR: list index out of range

Well, this was unexpected... Congrats, you probably found a bug in FATSLiM! Please report the following traceback to the devs:

Traceback (most recent call last): File "/home/msonora/.local/lib/python3.6/site-packages/fatslimlib/init.py", line 132, in main exit_code = _command_registry.run(argv) File "/home/msonora/.local/lib/python3.6/site-packages/fatslimlib/command.py", line 211, in run cmd_obj.run_with_args(command_args) File "/home/msonora/.local/lib/python3.6/site-packages/fatslimlib/command.py", line 405, in run_with_args self._run() File "/home/msonora/.local/lib/python3.6/site-packages/fatslimlib/command.py", line 477, in _run nframes = super(AnalyticalCommand, self)._run() File "/home/msonora/.local/lib/python3.6/site-packages/fatslimlib/command.py", line 360, in _run output = self.run() File "/home/msonora/.local/lib/python3.6/site-packages/fatslimlib/command.py", line 578, in run frame_output = self.process_frame(frame) File "/home/msonora/.local/lib/python3.6/site-packages/fatslimlib/command.py", line 963, in process_frame membrane = membranes[0] IndexError: list index out of range

If I understand this well it may be due to the flip-flops. Would you have the new code available?

I would be very grateful for your help.

In fact, I have several molecular dynamics systems with data to test the algorithm and, if you agree, I could collaborate with you to solve these questions at least trying from my computer.

the best

Martin