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
eclarke / beep.sh
Created Sep 15, 2018
sends a push with message contents given as arguments
View beep.sh
#!/bin/bash
curl --header 'Access-Token: <your_access_token_here>' \
--header 'Content-Type: application/json' \
--data-binary '{"body":":)","title":"$@","type":"note"}' \
--request POST \
https://api.pushbullet.com/v2/pushes
View keybase.md

Keybase proof

I hereby claim:

  • I am eclarke on github.
  • I am erikclarke (https://keybase.io/erikclarke) on keybase.
  • I have a public key ASDtTlFKxCJoOWfwfhHy-MJtbmGKnvzo-zxrJETJmi1kNQo

To claim this, I am signing this object:

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))
return(default)
}
@eclarke
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
eclarke / Makefile
Created Apr 20, 2016
Builds docs, html site, and pushes to github
View Makefile
docs:
Rscript -e "devtools::document(roclets=c('rd', 'collate', 'namespace', 'vignette'))"
gh-pages:
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'
@eclarke
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)
@eclarke
eclarke / diversity.R
Created Aug 18, 2015
Common diversity metrics
View diversity.R
alpha_diversity <- function(df, group.col, freq.col) {
# Returns a variety of diversity indices, including the Gini-Simpson index,
# the inverse Simpson index, and the Shannon-Weaver index. The SW index is
# calculated using the natural logarithm.
#
# Arguments:
# df: a data frame where the rows are species, with a column containing the
# grouping variable and another column containing the proportional
# abundances of each species
# group: the name of the column defining the grouping variable
View common_otus.fasta
>denovo1793
GGAGTCTGGGCCGTGTCTCAGTCCCAGTGTGGCCGATCACCCTCTCAGGTCGGCTATGTATCGTCGCCTTGGTGAGCCGTTACCCCACCAACTAGCTAATACAACGCAGGTCCATCTGGTAGTGATGCAATTGCACCTTTTAATTGACTATCATGCAATAGTCAATATTATGCGGTATTAGCTATCGTTTCCAATAGTTATCCCCCGCTACCAGGCAGGTTACCTACGCGTTACTCACCCGTTCGCAACTCATCCAGAGAAGCAAGCTCCTCCTTCAGCGTTCTACTTGCATGTATTAGGCACGCCGCCAGCGTTCGTC
>denovo2518
GGAGTTTGGGCCGTGTCTCAGTCCCAATGTGGCCGATCACCCTCTCAGGTCGGCTATGCATCACGGCCTTGGTGAGCCGTTACCTCACCAACTAGCTAATGCACCGCGGGTCCATCCATCAGCAGAAGCTTGCGCCTCTTTTCCTCTTCAAACCATGCGGTTCGAAGACCTATGCGGTTTTAGCATCCGTTTCCGAATGTTATCCCCCTCTGATGGGCAGGTTACCCACGTGTTACTCACCCGTTCGCCACTAGATTGACCAGTGCAAGCACCGGTCGCTCTCGTTCGACTTGCATGTATTAGGCACGCCGCCAGCGTTCGTC
>denovo271
GGAGTCTGGGCCGTGTCTCAGTCCCAGTGTGGCCGATCACCCTCTCAGGTCGGCTATGTATCGTCGCCTTGGTGAGCCGTTACCCCACCAACTAGCTAATACAACGCAGGTCCATCTGGTAGTGATGCAATTGCACCTTTTAAGCAAATGTCATGCAACATTTACTGTTATGCGGTATTAGCTATCGTTTCCAATAGTTATCCCCCGNTACCAGGCAGGTTACCTACGCGTTACTCACCCGTTCGCAACTCGTCCAGAAGAGCAAGCTCTCCCTTCAGCGTTCTACTTGCATGTATTAGGCACGCCGCCAGCGTTCGTC
>denovo3052
GGAGTCTGGTCCG
@eclarke
eclarke / named.py
Created Feb 12, 2015
Easy dot notation with a dictionary using a context manager
View named.py
# -*- coding: utf-8 -*-
"""
Uses a context manager to provide a dictionary as a 'namespace' of sorts,
allowing you to use dot notation to work with the dictionary. Example:
d = {'a': 5, 'b': 10}
with named(d) as n:
# prints 5
print n.a
# reassignment changes both n and d
@eclarke
eclarke / rendered-notebook.md
Created Oct 22, 2014
Rendered example notebook.org
View rendered-notebook.md

<2014-09-25 Thu>

Reading this (Wang et al. 2010), in particular Supp. report 4. Has to do with bootstrapping population estimates using the different enzymes used to find integration sites.

<2014-09-26 Fri>

Notes on (Wang et al. 2010) :popest:petersen:intsites:

You can’t perform that action at this time.