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.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
require("ape")
# print tree in hierarchical format
#######################################################
# prt
#######################################################
#' Print tree in table format
#'
#' Learning and using APE's tree structure can be difficult and confusing because much of the information is
#' implicit. This function prints the entire
# Laying out the likelihood equation in ape::birthdeath
# Calculating LnL of a tree under a birth-death process
#######################################################
# Located in:
# /drives/GDrive/z_help/ClaSSE_LnLs/grok_classe_setup/
#######################################################
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)