Copyright (c) 2009-2012 Brant C. Faircloth. All rights reserved.
- See LICENSE.md for standard computer code.
- Sequence tags available from https://github.com/faircloth-lab/edittag/downloads are licensed under Creative Commons Attribution 3.0 United States License.
edittag is a software collection for designing sets of edit metric sequence tags, checking sequence tags for conformation to the edit metric, and integrating sequence tags to platform-specific sequencing adapters and PCR primers. edittag differs from other approaches:
- edittag generates arbitrary lengths of edit-metric sequence tags in reasonable time frames using multiprocessing
- edittag produces edit metric sequence tag sets conform to the edit distance selected
- edittag used primer3 to integrate sequence tags to PCR primers
We provide several large sets of edit metric sequence tags designed using edittag in the following formats:
- text - this file is in an appropriate format for check_levenshtien_distance.py
- csv
- sqlite database
You can find documentation here:
http://faircloth-lab.github.com/edittag/
Faircloth BC, Glenn TC. 2012. Not all sequence tags are created equal: Designing and validating sequence identification tags robust to indels. PLoS ONE 7(8): e42543. doi: 10.1371/journal.pone.0042543
- Python 2.7.x (should work on 2.6.x)
- numpy (tested with 1.5.1)
- py-levenshtein [optional - strongly recommended]
- mod-primer3 [optional - needed for amplicon tagging]
- nose [optional - for unittests]
- tar.gz
- repository
easy_install edittag
wget package.tar.gz tar -xzf package.tar.gz python setup.py install
git clone git://github.com/faircloth-lab/edittag.git edittag
wget http://pylevenshtein.googlecode.com/files/python-Levenshtein-0.10.1.tar.bz2 tar -xzvf python-Levenshtein-0.10.1.tar.bz2 python setup.py install
If you wish to design primers incorporating edit metric sequence tags, you need to first install a modified version of primer3::
git clone git://github.com/baddna/mod-primer3.git cd mod-primer3/src make
Ensure that you move the binaries from mod-primer3 to a location in your
path (move at least primer3-long
and primer3_config
into identical
directories in your path).
# Testing requires numpy and nose import edittag edittag.test()
# generate some tags % design_edit_metric_tags.py --tag-length=6 --edit-distance=3 \ --no-polybase --gc --comp --min-and-greater --output tmp/tags.txt # validate the 6 nucleotide, edit distance 3 tag set % validate_edit_metric_tags.py --input=tmp/tags.txt --section='6nt ed3' --verbose # add those tags to a primer set % add_tags_to_primers.py --left-primer=GTTATGCATGAACGTAATGCTC --right-primer=CGCGCATGGTGGATTCACAATCC \ --input tmp/tags.txt --section='6nt ed3' --sort=pair_hairpin_either,pair_penalty,cycles \ --remove-common --keep-database \ --output tmp/trnH_tagged_with_10_nt_ed_5_tags.csv