error when using summdata

34 views
Skip to first unread message

francesc...@gmail.com

unread,
Jan 9, 2014, 11:58:23 AM1/9/14
to pop...@googlegroups.com
Dear all,

when I try to use summdata.exe on my .len file (attached) produced from a .pop file (also attached) I get the following error message:

lamanna@debian-FL:~/Campylomormyrus/Camp_phylo/Analyses/popABC/Camp_16loci$ ~/Programs/popabc_UNIX64_13.07.09/summdata.exe 16loci.len 16loci.sst 16loci
*** glibc detected *** /home/lamanna/Programs/popabc_UNIX64_13.07.09/summdata.exe: free(): invalid next size (normal): 0x0000000000c8bda0 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x76d76)[0x7f6e06072d76]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x6c)[0x7f6e06077aac]
/home/lamanna/Programs/popabc_UNIX64_13.07.09/summdata.exe[0x40afc1]
/home/lamanna/Programs/popabc_UNIX64_13.07.09/summdata.exe[0x40799d]
/home/lamanna/Programs/popabc_UNIX64_13.07.09/summdata.exe[0x402b17]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xfd)[0x7f6e0601aead]
/home/lamanna/Programs/popabc_UNIX64_13.07.09/summdata.exe[0x400de9]
======= Memory map: ========
00400000-0040d000 r-xp 00000000 08:06 6554044                            /home/lamanna/Programs/popabc_UNIX64_13.07.09/summdata.exe
0060d000-0060e000 rw-p 0000d000 08:06 6554044                            /home/lamanna/Programs/popabc_UNIX64_13.07.09/summdata.exe
00c82000-00ca3000 rw-p 00000000 00:00 0                                  [heap]
7f6e00000000-7f6e00021000 rw-p 00000000 00:00 0
7f6e00021000-7f6e04000000 ---p 00000000 00:00 0
7f6e05ffc000-7f6e0617c000 r-xp 00000000 08:03 919315                     /lib/x86_64-linux-gnu/libc-2.13.so
7f6e0617c000-7f6e0637c000 ---p 00180000 08:03 919315                     /lib/x86_64-linux-gnu/libc-2.13.so
7f6e0637c000-7f6e06380000 r--p 00180000 08:03 919315                     /lib/x86_64-linux-gnu/libc-2.13.so
7f6e06380000-7f6e06381000 rw-p 00184000 08:03 919315                     /lib/x86_64-linux-gnu/libc-2.13.so
7f6e06381000-7f6e06386000 rw-p 00000000 00:00 0
7f6e06386000-7f6e0639b000 r-xp 00000000 08:03 919300                     /lib/x86_64-linux-gnu/libgcc_s.so.1
7f6e0639b000-7f6e0659b000 ---p 00015000 08:03 919300                     /lib/x86_64-linux-gnu/libgcc_s.so.1
7f6e0659b000-7f6e0659c000 rw-p 00015000 08:03 919300                     /lib/x86_64-linux-gnu/libgcc_s.so.1
7f6e0659c000-7f6e0661d000 r-xp 00000000 08:03 919312                     /lib/x86_64-linux-gnu/libm-2.13.so
7f6e0661d000-7f6e0681c000 ---p 00081000 08:03 919312                     /lib/x86_64-linux-gnu/libm-2.13.so
7f6e0681c000-7f6e0681d000 r--p 00080000 08:03 919312                     /lib/x86_64-linux-gnu/libm-2.13.so
7f6e0681d000-7f6e0681e000 rw-p 00081000 08:03 919312                     /lib/x86_64-linux-gnu/libm-2.13.so
7f6e0681e000-7f6e06906000 r-xp 00000000 08:03 529274                     /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.17
7f6e06906000-7f6e06b06000 ---p 000e8000 08:03 529274                     /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.17
7f6e06b06000-7f6e06b0e000 r--p 000e8000 08:03 529274                     /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.17
7f6e06b0e000-7f6e06b10000 rw-p 000f0000 08:03 529274                     /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.17
7f6e06b10000-7f6e06b25000 rw-p 00000000 00:00 0
7f6e06b25000-7f6e06b45000 r-xp 00000000 08:03 919318                     /lib/x86_64-linux-gnu/ld-2.13.so
7f6e06d29000-7f6e06d2e000 rw-p 00000000 00:00 0
7f6e06d3f000-7f6e06d44000 rw-p 00000000 00:00 0
7f6e06d44000-7f6e06d45000 r--p 0001f000 08:03 919318                     /lib/x86_64-linux-gnu/ld-2.13.so
7f6e06d45000-7f6e06d46000 rw-p 00020000 08:03 919318                     /lib/x86_64-linux-gnu/ld-2.13.so
7f6e06d46000-7f6e06d47000 rw-p 00000000 00:00 0
7ffff65b8000-7ffff65d9000 rw-p 00000000 00:00 0                          [stack]
7ffff65ff000-7ffff6600000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]
Aborted

any suggestion would be greatly appreciated.
best,
francesco
16loci.len
16loci.pop

Joao Sollari Lopes

unread,
Jul 25, 2014, 9:11:26 AM7/25/14
to pop...@googlegroups.com
Hi Francesco,

The problem is that there is a problem when calculating the number of summary statistics to be stored in the .trg file. popABC uses a inefficient way to calculate combinations (necessary to calculate the number of summary statistics from pairs of populations), which result in very large numbers when considering, for example, 12 populations:

combinations(12,2) = 12!/(2!*10!) = 479001600/(2*3628800) = 66

for more than 12 populations the variable (of type int) cannot hold the values, which leads to all sorts of errors.

This will happen with simulate.exe too. I may release a version of popabc that allows for more than 12 populations, but definitely not in a near future. My advice is, if you can, to consider only 12 populations (for example by pooling some populations together).

In any case, note that if you use 12 populations and consider as summary statistics (sstats) H, varL, and k_M, you will get for each sstats 12 values (for each population) + 66 values (for each pair of populations). Or a total of 234 summary statistics. This seems rather excessive, it may be worth using only one value for each population and one for all populations pooled together (i.e. 13 sstats), but this possibility is not available in popabc. What you can do is to consider only the first 12 values of each sstats when performing ABC (for example by using the R package "abc").

Sorry about that.
Best,
Joao
Reply all
Reply to author
Forward
0 new messages