# This DSC can be executed from: https://github.com/gaow/dr-tree/tree/master/analysis
# To run the entire benchmark:
# dsc exec vcv-bm.dsc -j8
# To run part of the benchmark, here are a few highlights
# dsc exec vcv-bm.dsc -j8 -s "(SimTree * SimBM * ApeMST * PlotMST)"
###
# Simulate bifurcated tree structure with data points in between nodes
###
SimTree:
exec: BiTree.R
seed: 31415
params:
n: 8
t: 30
m: 100
unify_branch: 1
return: tree = R(res$data),
nodes = R(res$all_nodes),
X_labels = R(res$labels)
###
# Plot tree structure
###
PlotTree:
exec: TreePlot.R
params:
tree: $tree
treeplot: File(pdf)
return: treeplot
###
# Calculate covariance matrix for the tree structure
###
CalcVcv:
exec: VcvTree.R
seed: 31415
params:
tree: $tree
positions: $nodes
return: CX
###
# Generate samples from covariance
###
Vcv2BM:
exec: VcvBM.R
seed: 31415
params:
CX: $CX
X_labels: $X_labels
mu: 0
sigma: 0.1
k: 100
scalar: 1
return: X
###
# Simulate BM directly from tree structure
###
SimBM:
exec: IntermBM.R
seed: 31415
params:
tree: $tree
all_nodes: $nodes
Nsim: 100
diffusion: 1
precision: 1000
return: X
###
# Apply different manifold learning methods
###
ManifoldDR:
exec: manifold.py $(manifold_methods)
seed: 31415
params:
data: $X
label: (I10, I12, I11, I1, I2, I13, I3, I4, I14, I5, I6, I15, I7, I8)
n_comp: 2
n_neighbors: 50
return: projection, properties
###
# Generate 2D plots for manifold methods
###
PlotDR:
exec: PlotDR.py
params:
data: $projection
properties: $properties
vizplot: File(pdf)
return: vizplot
###
# Apply minimimum spanning tree via Ape package
###
ApeMST:
exec: ApeMST.R
seed: 31415
params:
X: $X
label: (I10, I12, I11, I1, I2, I13, I3, I4, I14, I5, I6, I15, I7, I8)
return: projection, properties
###
# Generate 2D plots for mst
###
PlotMST:
exec: PlotMST.R
seed: 31415
params:
mst: $projection
properties: $properties
vizplot: File(pdf)
return: vizplot
DSC:
run: (SimTree * PlotTree) * (CalcVcv * Vcv2BM, SimBM) *
(ManifoldDR * PlotDR, ApeMST * PlotMST)
R_libs: liamrevell/phytools, ape, adephylo, MASS
exec_path: output/src/simulate, output/src/analyses
lib_path: output/src/simulate, output/src/analyses, output/src
output: output/20160614
parameters:
manifold_methods: LLE_standard, LLE_ltsa, LLE_hessian, LLE_modified,
isomap, mds, spectral_embedding, t_sne, pca