Skip to content

Instantly share code, notes, and snippets.

View eclarke's full-sized avatar

Erik Clarke eclarke

View GitHub Profile
@eclarke
eclarke / toggleproxy.sh
Last active August 29, 2015 13:57
A hackety hack function to toggle SSH/SOCKS proxy on OS X Mavericks
function toggleproxy {
# checks to see if SOCKS proxy is enabled
if [[ $(networksetup -getsocksfirewallproxy Wi-Fi | grep '^Enabled') == "Enabled: No" ]]; then
networksetup -setsocksfirewallproxystate Wi-Fi on
echo "SOCKS on!"
# checks to see if there's an existing SSH tunnel and if not, it starts one
if [[ -z $(ps aux | grep '[0-9] ssh -D 8080') ]]; then
echo -ne "Don't see a ssh tunnel on 8080 active, starting one now..."
ssh -D 8080 -f -C -q -N USERNAME@HOSTNAME.EDU # Change this from the defaults!
[[ $? == 0 ]] && echo " success!" || echo " failed :("
# Multiple plot function
#
# ggplot objects can be passed in ..., or to plotlist (as a list of ggplot objects)
# - cols: Number of columns in layout
# - layout: A matrix specifying the layout. If present, 'cols' is ignored.
#
# If the layout is something like matrix(c(1,2,3,3), nrow=2, byrow=TRUE),
# then plot 1 will go in the upper left, 2 will go in the upper right, and
# 3 will go all the way across the bottom.
#
@eclarke
eclarke / papers2bibtex.scpt
Last active August 29, 2015 14:07
Applescript to export Papers library as bibtex file
tell application "Papers"
set outFile to "path_to_notebook_folder/library.bib"
export ((every publication item) as list) to outFile
end tell
@eclarke
eclarke / notebook.org
Created October 22, 2014 00:24
Example notebook.org file

Erik’s Lab Notebook

<2014-09-25 Thu>

Reading this [@Wang:2010fh], in particular Supp. report 4. Has to do with bootstrapping population estimates using the different enzymes used to find

@eclarke
eclarke / rendered-notebook.md
Created October 22, 2014 00:32
Rendered example notebook.org

<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:

@eclarke
eclarke / named.py
Created February 12, 2015 19:28
Easy dot notation with a dictionary using a context manager
# -*- 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 / common_otus.fasta
Created April 23, 2015 14:45
common_otus.fasta
>denovo1793
GGAGTCTGGGCCGTGTCTCAGTCCCAGTGTGGCCGATCACCCTCTCAGGTCGGCTATGTATCGTCGCCTTGGTGAGCCGTTACCCCACCAACTAGCTAATACAACGCAGGTCCATCTGGTAGTGATGCAATTGCACCTTTTAATTGACTATCATGCAATAGTCAATATTATGCGGTATTAGCTATCGTTTCCAATAGTTATCCCCCGCTACCAGGCAGGTTACCTACGCGTTACTCACCCGTTCGCAACTCATCCAGAGAAGCAAGCTCCTCCTTCAGCGTTCTACTTGCATGTATTAGGCACGCCGCCAGCGTTCGTC
>denovo2518
GGAGTTTGGGCCGTGTCTCAGTCCCAATGTGGCCGATCACCCTCTCAGGTCGGCTATGCATCACGGCCTTGGTGAGCCGTTACCTCACCAACTAGCTAATGCACCGCGGGTCCATCCATCAGCAGAAGCTTGCGCCTCTTTTCCTCTTCAAACCATGCGGTTCGAAGACCTATGCGGTTTTAGCATCCGTTTCCGAATGTTATCCCCCTCTGATGGGCAGGTTACCCACGTGTTACTCACCCGTTCGCCACTAGATTGACCAGTGCAAGCACCGGTCGCTCTCGTTCGACTTGCATGTATTAGGCACGCCGCCAGCGTTCGTC
>denovo271
GGAGTCTGGGCCGTGTCTCAGTCCCAGTGTGGCCGATCACCCTCTCAGGTCGGCTATGTATCGTCGCCTTGGTGAGCCGTTACCCCACCAACTAGCTAATACAACGCAGGTCCATCTGGTAGTGATGCAATTGCACCTTTTAAGCAAATGTCATGCAACATTTACTGTTATGCGGTATTAGCTATCGTTTCCAATAGTTATCCCCCGNTACCAGGCAGGTTACCTACGCGTTACTCACCCGTTCGCAACTCGTCCAGAAGAGCAAGCTCTCCCTTCAGCGTTCTACTTGCATGTATTAGGCACGCCGCCAGCGTTCGTC
>denovo3052
GGAGTCTGGTCCG
@eclarke
eclarke / diversity.R
Created August 18, 2015 19:35
Common diversity metrics
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
@eclarke
eclarke / wikilinks.java
Created April 30, 2012 22:01
modifying plain wikilinks in wikitext
@eclarke
eclarke / postparams.java
Created May 1, 2012 21:30
apache http client inanity
postParams.add(new BasicNameValuePair("longestOnly","false"));
postParams.add(new BasicNameValuePair("wholeWordOnly","true"));
postParams.add(new BasicNameValuePair("filterNumber", "true"));
postParams.add(new BasicNameValuePair("stopWords","protein,gene,disease,disorder,cell,syndrome,CAN"));
postParams.add(new BasicNameValuePair("withDefaultStopWords","true"));
postParams.add(new BasicNameValuePair("isTopWordsCaseSensitive","false"));
postParams.add(new BasicNameValuePair("mintermSize","3"));
postParams.add(new BasicNameValuePair("scored", "true"));
postParams.add(new BasicNameValuePair("withSynonyms","true"));
postParams.add(new BasicNameValuePair("ontologiesToExpand", ""));