stschiff / msmc-tools

Tools and Utilities for msmc and msmc2
46 stars 17 forks source link

error in msmc2 tutorial #38

Closed sandyplus closed 3 years ago

sandyplus commented 3 years ago

Dear Stephan,

I followed the steps in tutorial. Everything works fine except estimating population separation.

I typed the code below, and got error

$ msmc2 -t 4 -I 0-4,0-5,1-4,1-5 -s -p 1*2+15*1+1*2 -o test.AFR_EUR.msmc2 EUR_AFR.chr1.multihetsep.txt

error in parsing command line: std.conv.ConvException@/home/adminschif/software/dmd2/src/phobos/std/conv.d(1720): Unexpected '-' when converting from type string to type ulong
----------------
??:? pure @safe ulong std.conv.toImpl!(ulong, immutable(char)[]).toImpl(immutable(char)[]) [0x55d03b]
??:? pure @safe ulong std.conv.to!(ulong).to!(immutable(char)[]).to(immutable(char)[]) [0x55ccc7]
??:? pure @safe ulong std.functional.unaryFun!("a.to!size_t()", "a").unaryFun!(immutable(char)[]).unaryFun(ref immutable(char)[]) [0x55f2fa]
??:? pure @property @safe ulong std.algorithm.iteration.__T9MapResultS833std10functional56__T8unaryFunVAyaa13_612e746f2173697a655f742829VAyaa1_61Z8unaryFunTAAyaZ.MapResult.front() [0x55f436]
??:? pure @safe ulong[] std.array.array!(std.algorithm.iteration.__T9MapResultS833std10functional56__T8unaryFunVAyaa13_612e746f2173697a655f742829VAyaa1_61Z8unaryFunTAAyaZ.MapResult).array(std.algorithm.iteration.__T9MapResultS833std10functional56__T8unaryFunVAyaa13_612e746f2173697a655f742829VAyaa1_61Z8unaryFunTAAyaZ.MapResult) [0x55f6fa]
??:? void msmc2.parseCommandLine(immutable(char)[][]).handleIndices(immutable(char)[], immutable(char)[]) [0x57623e]
??:? bool std.getopt.handleOption!(void delegate(immutable(char)[], immutable(char)[])).handleOption(immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), ref immutable(char)[][], ref std.getopt.configuration, bool) [0x579d05]
??:? void std.getopt.getoptImpl!(immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], bool*, immutable(char)[], void delegate(), immutable(char)[], ulong*, immutable(char)[], bool*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], double*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[])).getoptImpl(ref immutable(char)[][], ref std.getopt.configuration, ref std.getopt.GetoptResult, ref std.getopt.GetOptException, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], bool*, immutable(char)[], void delegate(), immutable(char)[], ulong*, immutable(char)[], bool*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], double*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[])) [0x57bccc]
??:? void std.getopt.getoptImpl!(immutable(char)[], immutable(char)[]*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], bool*, immutable(char)[], void delegate(), immutable(char)[], ulong*, immutable(char)[], bool*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], double*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[])).getoptImpl(ref immutable(char)[][], ref std.getopt.configuration, ref std.getopt.GetoptResult, ref std.getopt.GetOptException, immutable(char)[], immutable(char)[]*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], bool*, immutable(char)[], void delegate(), immutable(char)[], ulong*, immutable(char)[], bool*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], double*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[])) [0x57b537]
??:? void std.getopt.getoptImpl!(immutable(char)[], bool*, immutable(char)[], immutable(char)[]*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], bool*, immutable(char)[], void delegate(), immutable(char)[], ulong*, immutable(char)[], bool*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], double*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[])).getoptImpl(ref immutable(char)[][], ref std.getopt.configuration, ref std.getopt.GetoptResult, ref std.getopt.GetOptException, immutable(char)[], bool*, immutable(char)[], immutable(char)[]*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], bool*, immutable(char)[], void delegate(), immutable(char)[], ulong*, immutable(char)[], bool*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], double*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[])) [0x57acb1]
??:? void std.getopt.getoptImpl!(immutable(char)[], uint*, immutable(char)[], bool*, immutable(char)[], immutable(char)[]*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], bool*, immutable(char)[], void delegate(), immutable(char)[], ulong*, immutable(char)[], bool*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], double*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[])).getoptImpl(ref immutable(char)[][], ref std.getopt.configuration, ref std.getopt.GetoptResult, ref std.getopt.GetOptException, immutable(char)[], uint*, immutable(char)[], bool*, immutable(char)[], immutable(char)[]*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], bool*, immutable(char)[], void delegate(), immutable(char)[], ulong*, immutable(char)[], bool*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], double*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[])) [0x57a2cb]
??:? void std.getopt.getoptImpl!(immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], uint*, immutable(char)[], bool*, immutable(char)[], immutable(char)[]*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], bool*, immutable(char)[], void delegate(), immutable(char)[], ulong*, immutable(char)[], bool*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], double*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[])).getoptImpl(ref immutable(char)[][], ref std.getopt.configuration, ref std.getopt.GetoptResult, ref std.getopt.GetOptException, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], uint*, immutable(char)[], bool*, immutable(char)[], immutable(char)[]*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], bool*, immutable(char)[], void delegate(), immutable(char)[], ulong*, immutable(char)[], bool*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], double*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[])) [0x5798c6]
??:? void std.getopt.getoptImpl!(immutable(char)[], double*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], uint*, immutable(char)[], bool*, immutable(char)[], immutable(char)[]*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], bool*, immutable(char)[], void delegate(), immutable(char)[], ulong*, immutable(char)[], bool*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], double*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[])).getoptImpl(ref immutable(char)[][], ref std.getopt.configuration, ref std.getopt.GetoptResult, ref std.getopt.GetOptException, immutable(char)[], double*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], uint*, immutable(char)[], bool*, immutable(char)[], immutable(char)[]*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], bool*, immutable(char)[], void delegate(), immutable(char)[], ulong*, immutable(char)[], bool*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], double*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[])) [0x57943d]
??:? void std.getopt.getoptImpl!(immutable(char)[], double*, immutable(char)[], double*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], uint*, immutable(char)[], bool*, immutable(char)[], immutable(char)[]*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], bool*, immutable(char)[], void delegate(), immutable(char)[], ulong*, immutable(char)[], bool*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], double*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[])).getoptImpl(ref immutable(char)[][], ref std.getopt.configuration, ref std.getopt.GetoptResult, ref std.getopt.GetOptException, immutable(char)[], double*, immutable(char)[], double*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], uint*, immutable(char)[], bool*, immutable(char)[], immutable(char)[]*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], bool*, immutable(char)[], void delegate(), immutable(char)[], ulong*, immutable(char)[], bool*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], double*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[])) [0x5789af]
??:? void std.getopt.getoptImpl!(immutable(char)[], ulong*, immutable(char)[], double*, immutable(char)[], double*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], uint*, immutable(char)[], bool*, immutable(char)[], immutable(char)[]*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], bool*, immutable(char)[], void delegate(), immutable(char)[], ulong*, immutable(char)[], bool*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], double*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[])).getoptImpl(ref immutable(char)[][], ref std.getopt.configuration, ref std.getopt.GetoptResult, ref std.getopt.GetOptException, immutable(char)[], ulong*, immutable(char)[], double*, immutable(char)[], double*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], uint*, immutable(char)[], bool*, immutable(char)[], immutable(char)[]*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], bool*, immutable(char)[], void delegate(), immutable(char)[], ulong*, immutable(char)[], bool*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], double*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[])) [0x577f11]
??:? void std.getopt.getoptImpl!(std.getopt.config, immutable(char)[], ulong*, immutable(char)[], double*, immutable(char)[], double*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], uint*, immutable(char)[], bool*, immutable(char)[], immutable(char)[]*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], bool*, immutable(char)[], void delegate(), immutable(char)[], ulong*, immutable(char)[], bool*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], double*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[])).getoptImpl(ref immutable(char)[][], ref std.getopt.configuration, ref std.getopt.GetoptResult, ref std.getopt.GetOptException, std.getopt.config, immutable(char)[], ulong*, immutable(char)[], double*, immutable(char)[], double*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], uint*, immutable(char)[], bool*, immutable(char)[], immutable(char)[]*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], bool*, immutable(char)[], void delegate(), immutable(char)[], ulong*, immutable(char)[], bool*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], double*, immutable(char)[], void delegate(immutable(char)[], imm??:? %.*s:%d
??:? std.getopt.GetoptResult std.getopt.getopt!(std.getopt.config, immutable(char)[], ulong*, immutable(char)[], double*, immutable(char)[], double*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], uint*, immutable(char)[], bool*, immutable(char)[], immutable(char)[]*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], bool*, immutable(char)[], void delegate(), immutable(char)[], ulong*, immutable(char)[], bool*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], double*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[])).getopt(ref immutable(char)[][], std.getopt.config, immutable(char)[], ulong*, immutable(char)[], double*, immutable(char)[], double*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], uint*, immutable(char)[], bool*, immutable(char)[], immutable(char)[]*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], bool*, immutable(char)[], void delegate(), immutable(char)[], ulong*, immutable(char)[], bool*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], void delegate(immutable(char)[], immutable(char)[]), immutable(char)[], double*, immutable(char)[], void delegate(immutable(char)[], immutable(char)[])) [0x577708]
??:? void msmc2.parseCommandLine(immutable(char)[][]) [0x575778]
??:? _Dmain [0x57544b]
??:? _D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ6runAllMFZ9__lambda1MFZv [0x5ce7f6]
??:? void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).tryExec(scope void delegate()) [0x5ce74c]
??:? void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).runAll() [0x5ce7b2]
??:? void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).tryExec(scope void delegate()) [0x5ce74c]
??:? _d_run_main [0x5ce6a9]
??:? main [0x57e765]
??:? __libc_start_main [0xac264554]

Did I miss anything?

Best regards, Sandy

sandyplus commented 3 years ago

Hi, there,

I was using msmc2 version 2.0.0. I updated msmc2 to version 2.1.2, and everything works like a charm. Please close this issue. (FYI, I guess it should be "-I" rather than "I" in your tutorial section: Estimating population separation.)

#!/usr/bin/env bash

INPUTDIR=/path/to/multihetsep/files
OUTDIR=/path/to/output/dir

msmc2 -t 4 -->I<-- 0-4,0-5,1-4,1-5 -s -p 1*2+15*1+1*2 -o $OUTDIR/AFR_EUR.msmc2 $INPUTDIR/EUR_AFR.chr1.multihetsep.txt

Best regards, Sandy

stschiff commented 3 years ago

Thanks, will fix that.

stschiff commented 3 years ago

Done