Something new lsd2:
- Compute confidence intervals, use option -f, e.g. -f 100 to calculate confidence intervals by generating 100 simulated trees. The Possion distribution is used to generate the branch lengths from the time-scaled tree. In addition, a lognormal relaxed clock is also applied, with mean 1 and standard deviation settable by users (0.2 by default).
- The input dates are more flexible, can be either applied for an internal node or a tip. It can be either a fix value, a lower bound, an upper bound or an interval. Some tip dates could be missing, the program will use the maximal subtree containing all given dated nodes for the estimation; and refer the dates for unknown tips.
- Estimate outliers dates by repeating randomly selecting dated given nodes to have a median rate. This rate is then used to calculate residus of each branch. The residus are normalized and compared to the given Zscore threshold to decide if the related nodes are outliers.
- Estimate several substitution rates, use option -p to specify the input partition file. A partition file defines subtrees where each one is supposed to have a different rate.
- Can be applied on non-binary tree
- Collapse all uninformative branches (default <= 0.5/seqlength but settable by users, or having weak support values in case those values are provided in the input tree) before estimating rates & dates.
- Impose a minimum branch length for the time scaled tree (estimate by default, but settable by users).
- The adjusted paramater for variances is set be the same unit of branch length (instead of count as before), and set by default to the maximum between median branch length and 10/seqlength.
- Use variance in estimating the root position. 
- Can use variances twice where the second time uses the branches lengths of the estimated tree to calculate variances.
- Accept date format year-month-date
- Compute confidence intervals using bootstrap trees

