Thanks for your message! While it is not easy to troubleshoot what may have happened without seeing the input/output files (please do share them if you have them! :) ), here you have some ideas about what you could check when troubleshooting unexpected results:
- Node age constraints (calibrations): what distributions have you used to constrain node ages and what information have you used to derive such constraints? Have you made sure that the node age constraints you have used are not in conflict? What is your root age constraint? The ideal scenario would have as many node age constraints as possible to better inform the clock, but that is not always the case (e.g., the fossil record may be quite sparse for some species).
- Versioning: what PAML version are you using? Are you using the latest PAML version or an older one? It is always recommended to use the latest PAML version; you can download the latest PAML release from the PAML GitHub and check what has changed when compared to older versions.
- Priors: how have you specified the time prior, the rate prior, and the prior for rate variance? Using default values is not recommended, so you should always set these priors based on your dataset.
- MCMC settings: how long have you been running the chain for and how often did you log a sample in the "mcmc.txt" file? Have you checked whether your chains have reached convergence? E.g., you can use R functions and/or Tracer to run MCMC diagnostics after Bayesian timetree inference.
- Input files: check that the node age constraints are placed where you want them to be in your input tree file (e.g., use software such as TreeViewer or FigTree to visualise that they are indeed constraining the node you want). Make sure that your sequence alignments have undergone all necessary checks and quality control filters -- MCMCtree assumes all these steps have already been taken care of!
- Control file: you can check the MCMCtree section in the PAML Wiki with more details about each of the options that can be included in the control file to make sure that they are based on your data and not default values.
I guess that, once you share the files, I (and other members of the PAML community) can make a better guess at what may be going on :)