about codeml, what does "nan" mean in my outputs?

298 views
Skip to first unread message

mxt0...@gmail.com

unread,
Mar 10, 2014, 9:58:03 PM3/10/14
to pamlso...@googlegroups.com
Hi, I have used Paml codeml site models, I implemented Nssites= 0 3 1 2 7 8 , model =0,  but I am confused about my outputs (model 8), can you point out my mistakes? What does "nan" mean? Thank you !

My outputs:

Model 7: beta (10 categories)

TREE #  1:  ((12, (((((((2, 32), 6), 3), (29, 30)), (4, ((7, 10), 13))), 31), ((9, (11, 28)), ((14, (15, ((19, 33), 25))), (26, ((8, (16, 22)), (5, (1, 23)))))))), (((((17, 24), 21), 20), 18), 27));   MP score: 5640
This is a rooted tree.  Please check!
check convergence..
lnL(ntime: 64  np: 67): -29431.536211      +0.000000

Model 8: beta&w>1 (11 categories)

TREE #  1:  ((12, (((((((2, 32), 6), 3), (29, 30)), (4, ((7, 10), 13))), 31), ((9, (11, 28)), ((14, (15, ((19, 33), 25))), (26, ((8, (16, 22)), (5, (1, 23)))))))), (((((17, 24), 21), 20), 18), 27));   MP score: 5640
This is a rooted tree.  Please check!
check convergence..
lnL(ntime: 64  np: 69):          -nan           +nan
  34..35   35..12   35..36   36..37   37..38   38..39   39..40   40..41   41..42   42..2    42..32   41..6    40..3    39..43   43..29   43..30   38..44   44..4    44..45   45..46   46..7    46..10   45..13   37..31   36..47   47..48   48..9    48..49   49..11   49..28   47..50   50..51   51..14   51..52   52..15   52..53   53..54   54..19   54..33   53..25   50..55   55..26   55..56   56..57   57..8    57..58   58..16   58..22   56..59   59..5    59..60   60..1    60..23   34..61   61..62   62..63   63..64   64..65   65..17   65..24   64..21   63..20   62..18   61..27
      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan      nan

Note: Branch length is defined as number of nucleotide substitutions per codon (not per neucleotide site). 
tree length =      nan

DSL

unread,
Mar 12, 2014, 7:25:38 AM3/12/14
to pamlso...@googlegroups.com
Hi, 
I don't know what "nan" means, but from your outputs I can tell you are no inforcing a molecular clock so you should not be using a rooted tree. unroot your tree and see if you still get the same output.

cheers,

cajawe

unread,
Mar 12, 2014, 5:02:56 PM3/12/14
to pamlso...@googlegroups.com
nan is an acronym that stands for "not a number", and it indicates that the computer programs tried to do something impossible, like dividing a number by zero.  Something clearly went wrong when you ran Model 8, but as for exactly what went wrong, well, that's hard to say.  

To get an idea of what went wrong, you could check the .rub file to see if the nans appeared immediately during the optimization process, or only after several iterations (where you might see one or more parameter estimates had taken on extremely unusual values).  

To try and get past the problem, you could try running the model again from initial branch lengths estimated under Model 7 (which appears to have worked) or even from random initial branch lengths (fix_blength = 1).  You might also try a different optimization algorithm (method = 1).  
Reply all
Reply to author
Forward
0 new messages