stschiff / msmc2

GNU General Public License v3.0
53 stars 9 forks source link

number of haplotypes #13

Closed laurabuggiotti closed 6 years ago

laurabuggiotti commented 6 years ago

Hi,

Im running msmc2 on a total of 20 samples (40 haplotypes). The issue im facing at the moment is that it runs smoothly with -I 0-19, but when I attempt to run with -I 20-39 i get the following error:

`core.exception.RangeError@msmc2.d(139): Range violation

??:? _d_arrayboundsp [0x5b2da6] ??:? @safe void msmc2.parseCommandLine(immutable(char)[][]).handleIndices(immutable(char)[], immutable(char)[]) [0x5698a8] ??:? @safe bool std.getopt.handleOption!(void delegate(immutable(char)[], immutable(char)[]) @safe).handleOption(immutable(char)[], void delegate(immutable(char)[], immutable(char)[]) @safe, ref immutable(char)[][], ref std.getopt.configuration, bool) [0x56eba6] ??:? void std.getopt.getoptImpl!(immutable(char)[], void delegate(immutable(char)[], immutable(char)[]) @safe, immutable(char)[], bool, immutable(char)[], void delegate(), immutable(char)[], ulong, immutable(char)[], bool, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]) @safe, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]) nothrow @safe, immutable(char)[], double, immutable(char)[], bool).getoptImpl(ref immutable(char)[][], ref std.getopt.configuration, ref std.getopt.GetoptResult, ref std.getopt.GetOptException, void[][immutable(char)[]], void[][immutable(char)[]], immutable(char)[], void delegate(immutable(char)[], immutable(char)[]) @safe, immutable(char)[], bool, immutable(char)[], void delegate(), immutable(char)[], ulong, immutable(char)[], bool, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]) @safe, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]) nothrow @safe, immutable(char)[], double, immutable(char)[], bool) [0x571e8c]`

The command im using is as follows: msmc2 -t 4 -I 20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39 -o MSMC/high.y20_30chr.msmc_output Chr1.YandK.msmcinput.txt Chr2.YandK.msmcinput.txt Chr3.YandK.msmcinput.txt Chr4.YandK.msmcinput.txt Chr5.YandK.msmcinput.txt Chr6.YandK.msmcinput.txt Chr7.YandK.msmcinput.txt Chr8.YandK.msmcinput.txt Chr9.YandK.msmcinput.txt Chr10.YandK.msmcinput.txt Chr11.YandK.msmcinput.txt Chr12.YandK.msmcinput.txt Chr13.YandK.msmcinput.txt Chr14.YandK.msmcinput.txt Chr15.YandK.msmcinput.txt Chr16.YandK.msmcinput.txt Chr17.YandK.msmcinput.txt Chr18.YandK.msmcinput.txt Chr19.YandK.msmcinput.txt Chr20.YandK.msmcinput.txt Chr21.YandK.msmcinput.txt Chr22.YandK.msmcinput.txt Chr23.YandK.msmcinput.txt Chr24.YandK.msmcinput.txt Chr25.YandK.msmcinput.txt Chr26.YandK.msmcinput.txt Chr27.YandK.msmcinput.txt Chr28.YandK.msmcinput.txt Chr29.YandK.msmcinput.txt ChrX.YandK.msmcinput.txt

First few lines of the input file: Chr1 25630 126 AAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAA,AAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAA Chr1 33030 531 GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGAGGGG,GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGAGGGGG

Hope you can help to disentangle the issue. Thanks for your time and support, Laura

marqueda commented 6 years ago

Dear Stephan and Laura, I am getting the same error, I have 8 individuals and cannot run -I 8,9,10,11,12,13,14,15. However, I can run all the pairwise comparisons -I 8-9,8-10,8-11,(...)14-15 instead and I hope this may be a work-around for this bug. The following may be related to this bug. When I run -I 0,1,2,3,4,5,6,7, the logfile indicates that the following pairs have been compared: pairIndices: [[0,0],[0,1],[0,2],(...),[1,1],[1,2],(...),[6,7]]. Could the 0-0, 1-1 etc. comparisons be a bug too? I would think that pair comparisons within a single haplotype do not make much sense or am I not understanding something properly? Also, a work-around here I guess would be to specify -I 0-1,0-2,0-3,(...),6-7? Thank you for your support and best wishes, David

laurabuggiotti commented 6 years ago

Hi,

thanks for your email...We reached the same 'solution' after checking the log file...we have now reduced to 10 ids and we are running as pair for all combinations of haplotypes, it seems to work so far. In our case the -I 0,1,2,3,4,5,6,7,8,9 works fine, it is only when we used it for -I 10,11,12,13,14 and so on that we get the error. I hope that this work-around doesnt affect the final results. Best, Laura

stschiff commented 6 years ago

Hi all, thanks for reporting this...

strange… I have to say I have never run MSMC on such a large number of individuals. Could some of you send some input files, if possible a minimal number of chromosomes and sites that produces this error? The error message suggests that it's some trivial bug in parsing the command line, but I can't spot it. Thanks

marqueda commented 6 years ago

Dear Stephan, Thank you for getting back at us - I e-mailed you an input file for testing! Best, David

stschiff commented 6 years ago

Hi all, just to let you know that I can not reproduce this issue. Maybe you have to update to the latest version? Please reopen this if the problem persists. Thanks!