The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
An nLTT plot consists out of points that denote a number of
(normalized) lineages in (normalized) time. For nLTT plots with only a
few points, stretch_nltt_matrix inserts timepoints.
For all examples, the following R code must be run:
Create an easy tree:
newick <- "((A:1,B:1):1,C:2);"
phylogeny <- ape::read.tree(text = newick)
plot(phylogeny)
ape::add.scale.bar() #nolintFrom this tree, we can create an nLTT plot:
We can extract the timepoints of the nLTT plot using the
get_phylogeny_nltt_matrix function.
##      time         N
## [1,]  0.0 0.3333333
## [2,]  0.5 0.6666667
## [3,]  1.0 1.0000000The timepoints are plotted in red over the nLTT plot:
The function stretch_nltt_matrix inserts timepoints, as
shown in this table:
nltt <- nLTT::get_phylogeny_nltt_matrix(phylogeny)
stretch_matrix <- nLTT::stretch_nltt_matrix(
  nltt, dt = 0.25, step_type = "upper"
)
print(stretch_matrix)##      [,1]      [,2]
## [1,] 0.00 0.6666667
## [2,] 0.25 0.6666667
## [3,] 0.50 1.0000000
## [4,] 0.75 1.0000000
## [5,] 1.00 1.0000000Plotting these as blue points between the red points:
nltt_plot(phylogeny)
points(nltt, pch = 19, col = "red")
points(stretch_matrix, pch = 19, col = "blue")A good result is when all blue points fall on the line.
Create an easy tree:
newick <- "((A:1,B:1):1,(C:1,D:1):1);"
phylogeny <- ape::read.tree(text = newick)
plot(phylogeny)
ape::add.scale.bar() #nolintFrom this tree, we can create an nLTT plot:
We can extract the timepoints of the nLTT plot using the
get_phylogeny_nltt_matrix function.
##      time    N
## [1,]  0.0 0.25
## [2,]  0.5 0.50
## [3,]  0.5 0.75
## [4,]  1.0 1.00The timepoints are plotted in red over the nLTT plot:
The function stretch_nltt_matrix inserts timepoints, as
shown in this table:
nltt <- nLTT::get_phylogeny_nltt_matrix(phylogeny)
stretch_matrix <- nLTT::stretch_nltt_matrix(
  nltt, dt = 0.25, step_type = "upper"
)
print(stretch_matrix)##      [,1] [,2]
## [1,] 0.00  0.5
## [2,] 0.25  0.5
## [3,] 0.50  1.0
## [4,] 0.75  1.0
## [5,] 1.00  1.0Plotting these as blue points between the red points:
nltt_plot(phylogeny)
points(nltt, pch = 19, col = "red")
points(stretch_matrix, pch = 19, col = "blue")A good result is when all blue points fall on the line.
Create a complex tree:
newick <- paste0("((((XD:1,ZD:1):1,CE:2):1,(FE:2,EE:2):1):4,((AE:1,BE:1):1,",
  "(WD:1,YD:1):1):5);"
)
phylogeny <- ape::read.tree(text = newick)
plot(phylogeny)
ape::add.scale.bar() #nolintFrom this tree, we can create an nLTT plot:
We can extract the timepoints of the nLTT plot using the
get_phylogeny_nltt_matrix function.
##            time         N
##  [1,] 0.0000000 0.1111111
##  [2,] 0.5714286 0.2222222
##  [3,] 0.7142857 0.3333333
##  [4,] 0.7142857 0.4444444
##  [5,] 0.7142857 0.5555556
##  [6,] 0.8571429 0.6666667
##  [7,] 0.8571429 0.7777778
##  [8,] 0.8571429 0.8888889
##  [9,] 1.0000000 1.0000000The timepoints are plotted in red over the nLTT plot:
The function stretch_nltt_matrix inserts blue points
between these red points:
nltt <- nLTT::get_phylogeny_nltt_matrix(phylogeny)
nltt_plot(phylogeny)
stretch_matrix <- nLTT::stretch_nltt_matrix(
  nltt, dt = 0.05, step_type = "upper"
)
points(nltt, pch = 19, col = "red")
points(stretch_matrix, pch = 19, col = "blue")A good result is when all blue points fall on the line.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.