abacus-gene / paml

PAML is a program package for model fitting and phylogenetic tree reconstruction using DNA and protein sequence data. Please report only **technical issues** on this repository (e.g., compiling, programs abort or do not run at all, etc.). Problems with input data and general questions should be posted at https://groups.google.com/g/pamlsoftware?pli
GNU General Public License v3.0
103 stars 19 forks source link

Abrupt termination #33

Closed bvaldebenitom closed 1 year ago

bvaldebenitom commented 1 year ago

Hi,

I have been using PAML / codeml with success for the most part, but have stumbled into some issues for a small number of analysis (~ 100 out of 5000).

The CTL file looks like this:

      seqfile = OG6203_CDS.paml           
     treefile = TREE.nwk                         
      outfile = OUT

        noisy = 3
      verbose = 1

      seqtype = 1
        ndata = 1
        icode = 0
    cleandata = 0

        model = 2
          NSsites = 0
    CodonFreq = 2
          estFreq = 0
        clock = 0
    fix_omega = 0
        omega = 0.5

and I'm varying the input tree file and the output name.

Case 1 If I run codeml using as input a tree file with 4 trees, it ends up abruptly:

TREE #  4:  (((((((((10, 15), 7), (((8, 3), 9), ((14, 17), 13))), 11), 1), 2), ((((5, 19), 18), 6), 16)), 12), 4);   MP score: -1
This is a rooted tree.  Please check!

In some of the other failed runs, it may end on TREE # 3 (it is not always on the same tree).

Case 2 Running codeml using 2 trees (Tree #4 and another one) finishes successfully.

Case 3 Testing with 3 trees, and putting Tree #4 at the beginning finishes successfully.

Case 4 Testing with 4 trees, and putting Tree #4 at the beginning also finishes successfully.

In the attached file you will find the corresponding inputs used at each case. Re-running the first case always results in the software stopping at the same point.

Currently using paml-4.10.6

Any input regarding this issue will be greatly appreciated!

Thanks.

sabifo4 commented 1 year ago

Hi there,

I cannot see any attached file. Could you please try to upload the file again? I will then try to debug what the issue might be with your input tree file.

Thanks!

bvaldebenitom commented 1 year ago

Hi @sabifo4,

thanks for the quick reply. Can you see the file now?

Best, Braulio. files_paml_issue.tar.gz

sabifo4 commented 1 year ago

Hi Braulio,

I confirm that I can see your attached file now! I will try to get back to you within one week :)

Cheers, Sandra

sabifo4 commented 1 year ago

Hi Braulio,

I have just had time to look into your files. It seems that the problem with that specific tree in Newick format (i.e., the one with which CODEML stops) may be the placement of the flag $1:

(((((((((Mus_musculus,Rattus_norvegicus),Meriones_unguiculatus),(((Mesocricetus_auratus,Cricetulus_griseus_picr),Microtus_ochrogaster),((Phyllotis_up,Sigmodon),Peromyscus_maniculatus_bairdii))),Nannospalax_galili),Castor_canadensis),Cavia_porcellus),((((Ictidomys_tridecemlineatus,Urocitellus_parryii),Spermophilus_dauricus),Marmota_marmota_marmota),Sciurus_vulgaris)),Oryctolagus_cuniculus),Homo_sapiens);$1

Remember that the semicolon, ;, is used to finish the Newick format. In that way, you are not really using flag $1 to label a clade as it is not part of the tree in Newick format. Not sure which clade you wanted to label but, if you wanted to label the root, then you should do the following:

(((((((((Mus_musculus,Rattus_norvegicus),Meriones_unguiculatus),(((Mesocricetus_auratus,Cricetulus_griseus_picr),Microtus_ochrogaster),((Phyllotis_up,Sigmodon),Peromyscus_maniculatus_bairdii))),Nannospalax_galili),Castor_canadensis),Cavia_porcellus),((((Ictidomys_tridecemlineatus,Urocitellus_parryii),Spermophilus_dauricus),Marmota_marmota_marmota),Sciurus_vulgaris)),Oryctolagus_cuniculus),Homo_sapiens) $1;

Also, note that the symbol $ is used to label clades. If you wanted to label branches to run the branch or the branch-site model, please use # instead -- you can check the Data file formats section in the PAML documentation for more details about which special symbol can be used for what :)

Hope this helps and fixes your problem! S.


P.S.: Please make sure that you also have the latest version of PAML as I was getting a different error which, perhaps, may have helped you troubleshoot this issue:

error: we need more than 1 branch type to fit the branch model.