Skip to content

Instantly share code, notes, and snippets.

View nmatzke's full-sized avatar

Nicholas J. Matzke nmatzke

View GitHub Profile
@nmatzke
nmatzke / BDQ_time_results.jl
Last active April 24, 2019 04:52
time results
# Time results posted to:
# https://gist.github.com/nmatzke/34ba6b3f8b548af92724bcb3f41bbf3d
#
# ODE problem setup here:
# https://gist.github.com/nmatzke/b6332845747d7452b6e3b45564f460e8
@benchmark sol_CVODE = solve(prob, CVODE_BDF(linear_solver=:GMRES), dense=false, save_everystep=false, save_end=true, save_start=true)
# memory estimate: 2.72 GiB
# allocs estimate: 5711652
# --------------
@nmatzke
nmatzke / BDQ_v5.jl
Created April 22, 2019 23:06
BDQ v5 w help from Chris
using DifferentialEquations
using BenchmarkTools # for @benchmark
using LSODA # for lsoda()
using Sundials # for CVODE_BDF()
# State-dependent birth-death process:
# Problem setup
n = 500 # Number of states
two = 2.0 # Constant (but missing in some published equations)
@nmatzke
nmatzke / BDQ.jl
Created April 22, 2019 02:32
BDQ
import Pkg
using Pkg # for Pkg.add, Pkg.PackageSpec
using DifferentialEquations
using Plots
using BenchmarkTools # for @benchmark
using LSODA # for lsoda()
#Pkg.resolve()
using Sundials # for CVODE_BDF() e.g.
@nmatzke
nmatzke / _ex_Eulers_WORKS.jl
Created April 18, 2019 02:31
Revising Chris Rackauckas's "exp_euler_test.jl" from Julia 0.6 so it works in Julia 1.1
########################################################
# Revising Chris Rackauckas's "exp_euler_test.jl" from
# Julia 0.6 so it works in Julia 1.1
########################################################
#
# Original 0.6 code from:
#
# ChrisRackauckas/exp_euler_test.jl
# https://gist.github.com/ChrisRackauckas/cf91f4575b0587a45c72620384612b82
install.packages("devtools")
library(devtools)
install_github("nmatzke/rexpokit")
install.packages("phytools")
library(phytools)
install.packages("geomorph")
install.packages("BioGeoBEARS")
install.packages("plot3D")
# Simple setup of a human/chimp/etc. phylogeny
# by Nick Matzke
#######################################################
# Phylogeny versus cladogram
#######################################################
# Tree specification
newick_string = "((((human:6,chimp:6):1,gorilla:7):6,orang:13):5,gibbon:18);"
tr = read.tree(file="",text=string)
@nmatzke
nmatzke / Beast2_GeneralSubstitutionModel_v1.R
Created December 22, 2016 04:58
Figuring out the Beast2 GeneralSubstitutionModel
#######################################################
# Figuring out the Beast2 GeneralSubstitutionModel
#######################################################
# The Beast2 documentation says:
#
# file:///Applications/BEAST_2.4.3/Beast2_XML_as_HTML_help/beast.evolution.substitutionmodel.GeneralSubstitutionModel.html
@nmatzke
nmatzke / data_frame_utilities_v1.R
Created December 22, 2016 04:45
Utilities to manage annoying features of R data frames (list, factor issues)
#######################################################
# These functions are some utilitys for dealing with
# annoying features of R's use of data.frames, e.g.
# the tendency for some functions to have something that
# looks like a data.frame, but is actually a series of lists.
#
# Also, dfnums_to_numeric semi-intelligently converts
# columns with numeric data to numeric (rather than
# factor or character).
#######################################################
@nmatzke
nmatzke / birthdeath_example
Created July 23, 2016 06:38
Converting between birth rate, death rate (speciation and extinction) and r (diversification rate) and epsilon (relative death rate)
# Example converting between
# birth rate, death rate (speciation and extinction)
# and
# r (diversification rate) and epsilon (relative death rate)
library(ape)
library(BioGeoBEARS)
# Load the Psychotria tree
trfn = np(paste(addslash(extdata_dir), "Psychotria_5.2.newick", sep=""))
# Install optimx
install.packages("optimx", dependencies=TRUE, repos="http://cran.rstudio.com")
# Install BioGeoBEARS from CRAN 0-cloud:
#install.packages("BioGeoBEARS", dependencies=TRUE, repos="http://cran.rstudio.com")
# If default install for BioGeoBEARS doesn't work, install dependencies in this order,
# then install BioGeoBEARS from source:
install.packages("Rcpp", dependencies=TRUE)
install.packages("RcppArmadillo", dependencies=TRUE)