I wrote a quick Perl script to visualize SNPs in a gene from experimental evolution sequencing data.  Useful for making figures when one gene is hit by mutations in multiple lineages.  It outputs an SVG file with the reference sequence and the changes.

For the moment, it only visualizes substitutions, not insertions/deletions or anything more exotic.  More to come.

Example: SNPs found in Pseudomonas aeruginosa gene PA2449 (converted to PNG)


(Thanks to Sofia Robb for teaching Perl as part of Programming for Evolutionary Biology!)

Download SNPsvg here.


Regex to change bracket citations into bibtex keys

Useful for converting in-text citations (from e.g. Word) into a LaTeX document.  Converts bracket notation into first 3 chars of first author’s last name (or 2 chars, if only 2 chars long), plus two-digit year: e.g. (Bobby 2009) becomes \citep{Bob09}.  See also my post on how to insert bibtex references into Word.

Search for:

\(([A-Za-z]{2,3})[A-Za-z -.]* (18|19|20)([0-9a-z]{2,3})\)

Replace with:


Test citations:

(Bobby 2009)
(Bobby and Jonny 1909)
(Bobby et al. 1923)

(Maynard Smith 1989)
(Maynard Smith and Haigh 1974)
(Maynard Smith and Bobby-Jonny 1974)
(Maynard Smith and Maynard Smith 1974)
(Maynard Smith et al. 1993)

(Maisnier-Patin 1900)
(Maisnier-Patin and Bobby-Jonny 1956)
(Maisnier-Patin et al. 2002)

(Aa 1932)
(Aaa 1932)

Re-blog: Convert Accuri .c6 flow cytometry files to .fcs

accuri2fcs: convert proprietary Accuri C6 files to .fcs for batch processing.  Could be useful!

Fluctuation test calculator: FALCOR copy/paste issue

FALCOR (Fluctuation AnaLysis CalculatOR) is a handy Java applet designed to estimate mutation rates from fluctuation test data. A Java update prevents access to the clipboard to unsigned Java applets. If you are having trouble copy/pasting your data into FALCOR, try modifying your java.policy file to include the line: permission java.awt.AWTPermission “accessClipboard” under where it says //”standard” properties that can be read by anyone.

// "standard" properties that can be read by anyone
permission java.awt.AWTPermission "accessClipboard"

Save the file, exit and restart Java (or any programs using it, like Firefox or LibreOffice), and copy/paste should work again. You may wish to consider removing the clipboard access after using FALCOR for security reasons.

Abbreviate journal titles with Jabref

I use KBibTeX to manage my references database, but I used to use Jabref.  Jabref has a handy feature that can automatically abbreviate journal names to their standard (ISO) abbreviation format.  The built-in list of abbreviations is missing a lot of common biology journals, but I have updated it with many biology journals.  You can get the most recent version of my abbreviations list from my Dropbox.

Integrating .docx and BibTeX

I have nearly every paper I’ve ever read stored in a BibTeX database, so I wrote a BASH script to build a list of citations using BibTeX that could be easily copied into LibreOffice Writer.  I would prefer to write all my papers in LaTeX, but there are some disadvantages–poor adoption and inefficient track-changes methods–so I have to use LibreOffice Writer instead.  None of the available bibliography managers that integrate with LibreOffice seem particularly reliable to me, and I plan to convert my manuscripts back to LaTeX anyway when I put my thesis together.

Read more of this post


Get every new post delivered to your Inbox.