Skip to content

Instantly share code, notes, and snippets.

Erik Clarke eclarke

  • Janssen Research & Development
  • Philadelphia, PA
Block or report user

Report or block eclarke

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
eclarke / ggheatmap.R
Last active Oct 29, 2019
heatmaps ggplot style, with annotations and dendrograms
View ggheatmap.R
plot_ggheatmap <- function(obj, n=nrow(obj), norm=TRUE, log=TRUE,"NewSampleID",
col.annotation.width=4) {
eclarke /
Created Sep 15, 2018
sends a push with message contents given as arguments
curl --header 'Access-Token: <your_access_token_here>' \
--header 'Content-Type: application/json' \
--data-binary '{"body":":)","title":"$@","type":"note"}' \
--request POST \
eclarke / lab-notebook.el
Created Oct 21, 2014
Minor mode and functions for a lab notebook in emacs
View lab-notebook.el
(defun ensure-in-vc-or-checkin ()
(if (file-exists-p (format "%s" (buffer-file-name)))
(progn (vc-next-action nil) (message "Committed"))
(ding) (message "File not checked in.")))
(defun export-bibtex ()
"Exports Papers library using a custom applescript."
(message "Exporting papers library...")

Keybase proof

I hereby claim:

  • I am eclarke on github.
  • I am erikclarke ( on keybase.
  • I have a public key ASDtTlFKxCJoOWfwfhHy-MJtbmGKnvzo-zxrJETJmi1kNQo

To claim this, I am signing this object:

eclarke / ggheatmaps.R
Created Apr 8, 2014
Some r code relating to heatmaps and OTU counts
View ggheatmaps.R
prop_presence_absence <- function(, groups) {
# Creates a proportional presence-absence melted dataframe suitable for use in
# ggplot heatmaps to show varying within-group proportions of species.
# Args:
# Matrix of presence-absence data. Columns are samples, rows are
# species.
# groups: Grouping data frame. A column named "SampleID" should be unique
# list of sample identifiers that match the column names of
# The other column, named "group", should correspond to the group
View glmm.R
# This is the testing function that builds the models
testMixedEffects <- function(test.col) {
# We return this default in case of error/no fit
default <- list(null.model=NA, model=NA)
counts <- .mat[, colnames(.mat)==test.col]
if (sum(counts > 0)/length(counts) < sparsity) {
message(sprintf("%s: too sparse, skipping", test.col))
eclarke / indicspecies_tutorial.R
Last active Jul 26, 2016
Using indicspecies with a melted data frame
View indicspecies_tutorial.R
# Using indicspecies with a melted data frame
# Their input is actually not hard to work with. First we need to re-create the count matrix.
# This creates a data frame with the sample ID and study group as the first two columns, then each column after that is an OTU name
# (Replace column names as appropriate)
mat <- melted.df %>% reshape2::dcast(SampleID + StudyGroup ~ otu)
# Next, we actually convert things into inputs
# Hadley's stuff hates rownames, so we have to remake them
rownames(mat) = mat$SampleID
eclarke / Makefile
Created Apr 20, 2016
Builds docs, html site, and pushes to github
View Makefile
Rscript -e "devtools::document(roclets=c('rd', 'collate', 'namespace', 'vignette'))"
git checkout gh-pages
git merge master -X theirs -m "merge master"
site:docs gh-pages
Rscript -e "staticdocs::build_site(site_path='.', launch=FALSE)"
git commit -am 'updated docs'
#!/usr/bin/env python
"""Usage: python [FILE]
Converts an ITS taxonomy file to eliminate taxa marked as unidentified,
swaps [kpcofg]__unidentified;s__Fungi to k__Fungi, and eliminates species
taxa that are simply s__[genus]_sp.
Writes to stdout.
# Erik Clarke <>
eclarke / indvals.R
Last active Dec 4, 2015
Indicator species (indicator value) functions
View indvals.R
# Indicator value functions -----------------------------------------------
#' Returns the indicator value (Dufrene, 1997) for a given row of species counts
#' along with a vector of class assignments.
#' @param row: vector of counts (usually a row in a counts matrix)
#' @param class: which level in the grouping variable to test
#' @param classes: factor describing the grouping of the counts vector
.indval <- function(row, class, classes) {
idxs <- classes == class
A.ij <- sum(row[idxs]) / sum(row)
You can’t perform that action at this time.