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:
| plot_ggheatmap <- function(obj, n=nrow(obj), norm=TRUE, log=TRUE, | |
| colnames.in.pdata="NewSampleID", | |
| col.labels=NULL, | |
| row.labels=NULL, | |
| facet.by=NULL, | |
| annotate.cols=NULL, | |
| dendrogram=FALSE, | |
| col.annotation.offset=1, | |
| col.annotation.width=4) { | |
| ## |
| #!/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 |
| (defun ensure-in-vc-or-checkin () | |
| (interactive) | |
| (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." | |
| (interactive) | |
| (message "Exporting papers library...") |
I hereby claim:
To claim this, I am signing this object:
| prop_presence_absence <- function(otu.pa, groups) { | |
| # Creates a proportional presence-absence melted dataframe suitable for use in | |
| # ggplot heatmaps to show varying within-group proportions of species. | |
| # | |
| # Args: | |
| # otu.pa: 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 otu.pa. | |
| # The other column, named "group", should correspond to the group |
| # 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) | |
| } |
| # 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 |
| 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' |
| #!/usr/bin/env python | |
| """Usage: python taxonomy_fixer.py [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 <ecl@mail.med.upenn.edu> |
| # 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) |