Skip to content

Instantly share code, notes, and snippets.

View roryk's full-sized avatar
😷

Rory Kirchner roryk

😷
View GitHub Profile
@roryk
roryk / gist:cb554de6b096592fd2d8
Last active August 29, 2015 14:19
example coverage flagging
import numpy
import scipy.stats as stats
def outlier_resistant(coverage):
median = float(numpy.median(coverage))
deviations = [abs(x - median) for x in coverage]
# median absolute deviation estimator of the standard deviation
mad = 1.4826 * float(numpy.median(deviations))
return int(median), int(mad)
@roryk
roryk / gist:fda5c55fb732ea06a1b5
Created September 21, 2015 04:03
sparsehash-build-issues
[ 51%] Performing build step for 'libsparsehash'
cd /tmp/sailfish20150920-18016-i304l8/sailfish-0.7.4/external/sparsehash-sparsehash-2.0.2 && /Applications/Xcode.app/Contents/Developer/usr/bin/make
[ -d src/sparsehash/internal ] || mkdir -p src/sparsehash/internal
echo "/*" > src/sparsehash/internal/_sparsehash_config
echo " * NOTE: This file is for internal use only." >> src/sparsehash/internal/_sparsehash_config
echo " * Do not use these #defines in your own program!" >> src/sparsehash/internal/_sparsehash_config
echo " */" >> src/sparsehash/internal/_sparsehash_config
awk '{prevline=currline; currline=$0;} \
/^#/ {in_second_file = 1;} \
!in_second_file {if (currline !~ /^ *$/) {inc[currline]=0}}; \
class Foo(object):
def __init__(self):
self.history = {"var1": [], "var2": [], "var3": [], "var4": []}
def update(self, to_update):
for k, v in self.history.iteritems():
if k == to_update:
v.append(1)
else:
import tempfile
import gffutils
import os
from argparse import ArgumentParser
def get_gtf_db(gtf, in_memory=False):
"""
create a gffutils DB
"""
db_file = gtf + ".db"
#!/bin/bash
set -e
# Figure out where this script is located.
SELFSCRIPT="`readlink -f \"$0\"`"
SELFDIR="`dirname \"$SELFSCRIPT\"`"
SELFDIR="`cd \"$SELFDIR\" && pwd`"
# Temporarily set PATH and LD_LIBRARY_PATH
export PATH=$SELFDIR/bin:$PATH
@roryk
roryk / test_pe.py
Last active January 22, 2016 14:29
import os
import subprocess
from argparse import ArgumentParser
def find_parallel_environment(queue):
"""Find an SGE/OGE parallel environment for running multicore jobs in specified queue.
"""
base_queue = os.path.splitext(queue)[0]
queue = base_queue + ".q"
Tom Knight and the Lisp Machine
A novice was trying to fix a broken Lisp machine by turning the power off and on.
Knight, seeing what the student was doing, spoke sternly: “You cannot fix a machine by just power-cycling it with no understanding of what is going wrong.”
Knight turned the machine off and on.
The machine worked.
@roryk
roryk / download-all-twic.sh
Created May 31, 2022 03:27
Download a range of PGN files from The Week In Chess
#!/bin/bash
TMPDIR=download
START=1161
END=1438
mkdir -p ${TMPDIR}
parallel -j 4 wget -P download https://theweekinchess.com/zips/twic{}g.zip ::: $(seq ${START} ${END})
unzip -d ${TMPDIR} ${TMPDIR}/'*.zip'
cat ${TMPDIR}/*.pgn > twic_pgn_${START}_${END}.pgn
zip twic_pgn_${START}_${END}.zip twic_pgn_${START}_${END}.pgn
rm twic_pgn_${START}_${END}.pgn