Skip to content

Assertion error in decoding #69

@trevorcousins

Description

@trevorcousins

Hi Stephan,

Thanks for this brilliant bit of software which you have been maintaining for 10+ years.

I encountered an error in the decoding (version 2.1.3)I suspect it is an underflow / overflow error.

I am trying to decode an orangutan, command line looks like this:
/home/tc557/MSCM2/msmc2-2.1.3/build/decode -m 0.00117312 -r 0.000293281 -l 18.388186752,11.732607744000001,1.9501360319999999,1.4972413247999998,1.1211273216,0.87359196288,1.06168767744,0.95656556736,0.83748919488,0.79523810496,0.7476692620799998,0.65183591616,0.55690469952,0.53003555904,0.49715417856,0.4683153696,0.48458067839999996,0.54814853184,0.64868491584,0.75359234496,0.8151072384,0.81064117056,0.76490591424,0.71553515904,0.69324118656,0.70562346816,0.7457171904,0.80733179904,0.8867707929599999,0.97038257472,1.03194321984,1.05693067584,1.05319663488,1.03961425152,1.037536656,1.06237043328,1.11802089984,1.1949283008,1.2724363392,1.3316906304,1.3702393536,1.4090227007999998,1.4837973695999997,1.6240555968000001,1.8259495488,2.010375744,2.0275854144,1.7775348864,1.4278278143999998,1.3317727488,1.5853074431999998,1.882153728,2.5943783423999998,4.1076796799999995,944.2419417599999,0.00105669253248,0.00113182265664,0.00100000385472,0.00101709269376,0.0010023149011199998,0.00100731825792,0.00099999798912,0.00114093193344,1.3242413184e+81 <infile> | gzip -c > <outfile>

but it gives me this error:
core.exception.AssertError@model/psmc_hmm.d(143):[1, 0.404196, 1.46307e+40, 1.66856e+139, 1.66856e+139, ....
and continues like that for a very long time. The error finishes with

??:? _d_assert_msg [0x58bb50]
??:? void model.psmc_hmm.PSMC_hmm.runForward() [0x54a12e]
??:? void decode.decodeWithHmm(model.psmc_hmm.PSMC_hmm) [0x57a7fb]
??:? void decode.run() [0x57a614]
??:? _Dmain [0x579d72]

You will note the input lambda vector has some very large numbers and some very small numbers (these come straight from the final.txt file - instability perhaps?).
If I replace the lambda vec with (i.e. cap the large and small numbers):
18.388186752,11.732607744000001,1.9501360319999999,1.4972413247999998,1.1211273216,0.87359196288,1.06168767744,0.95656556736,0.83748919488,0.79523810496,0.7476692620799998,0.65183591616,0.55690469952,0.53003555904,0.49715417856,0.4683153696,0.48458067839999996,0.54814853184,0.64868491584,0.75359234496,0.8151072384,0.81064117056,0.76490591424,0.71553515904,0.69324118656,0.70562346816,0.7457171904,0.80733179904,0.8867707929599999,0.97038257472,1.03194321984,1.05693067584,1.05319663488,1.03961425152,1.037536656,1.06237043328,1.11802089984,1.1949283008,1.2724363392,1.3316906304,1.3702393536,1.4090227007999998,1.4837973695999997,1.6240555968000001,1.8259495488,2.010375744,2.0275854144,1.7775348864,1.4278278143999998,1.3317727488,1.5853074431999998,1.882153728,2.5943783423999998,4.1076796799999995,5,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,10
then this solves the problem entirely. This makes me think it is underlow/overflow/numerical stability.

Just thought you should know.

Best,

Trevor

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions