Skip to content

Instantly share code, notes, and snippets.


James Casbon jamescasbon

View GitHub Profile
jamescasbon /
Created Jun 17, 2011
REST handlers for backbone.js based on cyclone
# hmm no imports ;)
class BaseHandler(cyclone.web.RequestHandler):
def get_current_user(self):
return self.get_secure_cookie("user")
class LoginHandler(BaseHandler):
def get(self):
err = self.get_argument("e", None)
View gist:1231739
# quickly fix mapping qualities in samfiles generated by SSAHA2
# mapq 255 is undefined according to spec, but SSAHA2 is not
# following this convention
import pysam
infile = pysam.Samfile( "-", "rb" )
outfile = pysam.Samfile( "-", "wb", template = infile )
for s in infile:
if s.mapq == 255:
s.mapq = 244
View gist:1232114
$ make
cd ../bamtools && mkdir -p build && cd build && cmake .. && make
-- Configuring done
-- Generating done
-- Build files have been written to: /home/james/src/freebayes/bamtools/build
make[1]: Entering directory `/home/james/src/freebayes/bamtools/build'
make[2]: Entering directory `/home/james/src/freebayes/bamtools/build'
make[3]: Entering directory `/home/james/src/freebayes/bamtools/build'
make[3]: Leaving directory `/home/james/src/freebayes/bamtools/build'
make[3]: Entering directory `/home/james/src/freebayes/bamtools/build'
jamescasbon /
Created Oct 19, 2011
Melt VCF files into a reasonable tab delimited format, one genotype per line
#!/usr/bin/env python
""" Melt a VCF file into a tab delimited set of calls, one per line
VCF files have all the calls from different samples on one line. This
script reads vcf on stdin and writes all calls to stdout in tab delimited
format with one call in one sample per line. This makes it easy to find
a given sample's genotype with, say, grep.
import sys
jamescasbon /
Created Dec 11, 2011
Pure python templates using with statement
A really stupid python template language inspired by coffeekup, markaby.
Do not use this code, it will ruin your day. A byproduct of insomnia.
This module defines a template language that allows us to do:
d = Doc()
jamescasbon / gist:1585116
Created Jan 9, 2012
Python template example
View gist:1585116
d = Doc()
with d.html:
with d.head:
d.title ('example page') (rel='stylesheet', href='/style.css', type='text/css')
with d.body (style='foo'):
d.a ('other stuff on another page', href='/other.html')
jamescasbon / gist:1835699
Created Feb 15, 2012
Example sysadmin feature
View gist:1835699
Feature: Mail
In order to handle mail
Scenario: Mail relay
Given I am a production server
And I am not a mail server
Then I should have postfix installed
And I should have a mail relay to
Scenario: Mail server
jamescasbon / gist:1835715
Created Feb 15, 2012
steps file to go with the feature
View gist:1835715
from lettuce import *
from fabric import api
from fabric.api import env
import socket
servers = {
'xxx.local': {
'ip': ' xxxx',
'roles': ['production']
import redis
import inspect
class RedisPlugin(object):
name = 'redis'
def __init__(self,host='localhost',port=6379,database=0,keyword='rdb'): = host
self.port = port
self.database = database
jamescasbon / file1.txt
Created Apr 3, 2012
the description for this gist
View file1.txt
String file contents