Skip to content

Instantly share code, notes, and snippets.

@peterjc
peterjc / make_roomba_lirc.py
Created Nov 11, 2013
Python script to generate
View make_roomba_lirc.py
#!/usr/bin/env python
#Copyright 2013, Peter Cock. All rights reserved.
#Released under the MIT License.
"""Python scipt to generate Roomba IR codes for LIRC.
Tested under Python 2.7 and Python 3.3, example usage:
$ python make_roomba_lirc.py > roomba.conf
See also:
@peterjc
peterjc / decode_roomba_ir.py
Last active Dec 26, 2015
Python scipt to decode Roomba IR codes via the Linux mode2 tool. See http://astrobeano.blogspot.co.uk/2013/10/roomba-620-infrared-signals.html
View decode_roomba_ir.py
#!/usr/bin/env python
#Copyright 2013, Peter Cock. All rights reserved.
#Released under the MIT License.
"""Python scipt to decode Roomba IR codes via the Linux mode2 tool.
Tested under Python 2.7 and Python 3.3, example usage:
$ mode2 -d /dev/lirc0 | python decode_roomba_ir.py
10101100 - 172 - 0xAC
10101100 - 172 - 0xAC
@peterjc
peterjc / ace_to_contig_stats.py
Created Feb 19, 2013
Quick Python script to extract contig summary information (lengths and number of reads, as a tabular file) from an ACE assembly file, using the Biopython ACE parser for convenience.
View ace_to_contig_stats.py
#!/usr/bin/env python
#Example usage:
#
# $ python ace_to_contig_stats.py < example.ace > example_stats.tsv
#
import sys
from Bio.Sequencing import Ace
sys.stdout.write("#Contig\tPadded length\tUnpadded length\tReads\n")
for contig in Ace.parse(sys.stdin):
@peterjc
peterjc / SAMv1_padded.fasta
Created May 14, 2012
SAM/BAM examples from the specification
View SAMv1_padded.fasta
>ref
AGCATGTTAGATAA**GATAGCTGTGCTAGTAGGCAGTCAGCGCCAT
@peterjc
peterjc / green_bottles.py
Created Mar 20, 2012
Simple "Green Bottles" Python script to benchmark ZLIB calls under different Python implementations + PyPy target
View green_bottles.py
import zlib
import time
def decompress(comp_data):
d = zlib.decompressobj(-15) #Negative window size means no headers
uncomp_data = d.decompress(comp_data) + d.flush()
del d
return uncomp_data, zlib.crc32(uncomp_data)
def compress(orig_data):
@peterjc
peterjc / select_fastq2.py
Created Sep 7, 2011
Selecting FASTQ sequences by ID (Biopython with strings)
View select_fastq2.py
from Bio.SeqIO.QualityIO import FastqGeneralIterator
import sys
ids = set(x[:-1] for x in open(sys.argv[1]))
for title, seq, quals in FastqGeneralIterator(sys.stdin):
if title.split(None,1)[0] in ids:
print "@%s\n%s\n+\n%s\n" % (title, seq, quals)
@peterjc
peterjc / select_fastq.py
Created Sep 7, 2011
Selecting FASTQ sequences by ID (Biopython with SeqRecord object)
View select_fastq.py
from Bio import SeqIO
import sys
ids = set(x[:-1] for x in open(sys.argv[1]))
wanted = (rec for rec in SeqIO.parse(sys.stdin, "fastq") if rec.id in ids)
SeqIO.write(wanted, sys.stdout, "fastq")
@peterjc
peterjc / brad_gff_import.py
Created Aug 24, 2011
Hack script to import selected folders from one git repository to another
View brad_gff_import.py
#Copyright 2011 Peter Cock, released under GPL v3 licence
#
#Hack script to extract files in selected directories in one git
#repository and apply them to another repository using a potentially
#different directory structure.
#
#This written in Python and needs the git library, I used 0.3.2 RC1
#https://github.com/gitpython-developers/GitPython
#
#I assume when run both repositories are clean (no untracked files,