Skip to content

Instantly share code, notes, and snippets.


Matt Ralston MatthewRalston

Block or report user

Report or block MatthewRalston

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
MatthewRalston /
Created Jun 22, 2019
Fasta + Bam file validation with S3 support
import os
import sys
import gzip
import io
import tempfile
from Bio import SeqIO, bgzf
import pysam
import boto3
# Logger
MatthewRalston /
Last active Jun 22, 2019
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import io
import os
import sys
from shutil import rmtree
from setuptools import find_packages, setup, Command
View webdocs.el
;; Add this to your favorite html/jekyll configuration elisp file
;; Replace $IMG with the relative path to your websites image folder (e.g. img/)
(defun add-popover (link imagepath caption linktext)
"Generate an html popover.
-- Downloads an image file to your website/blog (etc.) image folder.
-- Generate a Bootstrap HTML popover link at the cursor position with caption.
(interactive "MImage link:\nFImagepath:\nMCaption:\nMLink text:\n")
(url-copy-file link imagepath)
MatthewRalston /
Last active Nov 4, 2018
difflib.SequenceMatcher.get_matching_blocks() doesn't return all results
# get_matching_blocks returns non-overlapping matches:
# the incomplete result is considered a feature
def get_matching_blocks(s1, s2, overlap=True):
if type(s1) is not str:
throw TypeError("get_matching_blocks() expects a string as its first positional argument")
if type(s2) is not str:
throw TypeError("get_matching_blocks() expects a string as its second positional argument")
if type(overlap) is not bool:
throw TypeError("get_matching_blocks() expects a bool as the named argument 'overlap'")
MatthewRalston / Makefile
Created Apr 18, 2018
Python project Makefiles
View Makefile
.PHONY: test docs
pip install -r reuqirements.txt;
docs: docs/Makefile
cd docs; $(MAKE) docs
test: test/Makefile
cd test; $(MAKE) test
from awscli.clidriver import create_clidriver
def s3sync(source, destination, *options):
old_env = dict(os.environ)
env = os.environ.copy()
env["LC_CTYPE"] = u"en_US.UTF"
exit_code = create_clidriver().main(["s3", "sync", source, destination] + list(options))
MatthewRalston /
Created Feb 14, 2018 — forked from superusercode/
ROFLcopter ASCII text art


If you hear SOI SOI SOI, you better RUN RUN RUN ’cause the ROFLCOPTER ASCII army is coming for you!


 L    __/   [] \
View reload.js
delete require.cache[require.resolve('./dep')];
View loadLogger.js
const log4js = require('log4js');
// Accessory configurations for log4js
// Works with log4js >= 2.3.3
// Usage:
//var logger = require('./app/loadLogger').logger; // Default is stderr only
// Alternate (app : file + stderr)
// const loadLog = require('./app/loadLogger');
// var logger = loadLog.log4js.getLogger('app'); // For an express app: stderr + file : logs/application.log)
View schrute.txt
.+sso+/:oydyo/:-:+shdys/ `-:. `-/+o+/`
You can’t perform that action at this time.