Menu

Tree [r3] /
 History

HTTPS access


File Date Author Commit
 cygwin_binaries 2009-02-24 tobiaspmann [r1] This is the second try at importing pythia. I ...
 doc 2009-02-24 tobiaspmann [r2] imported them so they would be available as the...
 pythia 2009-05-05 tobiaspmann [r3] added option to constrain difference in primer ...
 test 2009-02-24 tobiaspmann [r2] imported them so they would be available as the...
 MANIFEST.in 2009-02-24 tobiaspmann [r1] This is the second try at importing pythia. I ...
 README 2009-02-24 tobiaspmann [r1] This is the second try at importing pythia. I ...
 index_dnafiles 2009-02-24 tobiaspmann [r1] This is the second try at importing pythia. I ...
 make_pythia_tarball.sh 2009-02-24 tobiaspmann [r1] This is the second try at importing pythia. I ...
 pythia_pcr 2009-02-24 tobiaspmann [r1] This is the second try at importing pythia. I ...
 pythia_tile 2009-02-24 tobiaspmann [r1] This is the second try at importing pythia. I ...
 setup.py 2009-02-24 tobiaspmann [r1] This is the second try at importing pythia. I ...

Read Me

Pythia 1.0

-Introduction

Pythia is a python based PCR primer design module, based primarily on 
thermodynamic considerations.  Pythia is distributed under the FreeBSD
license.

-Requirements

WINDOWS: To build this, you need cygwin with python 2.5 and swig. Cygwin should have been
installed with the mingw compiler, and the numpy package (all available from the
cygwin installer).  In addition, you will probably need to build the libpython2.5.a
library for linking, which is somewhat involved.  See, for example, the
instructions in http://sebsauvage.net/python/mingw.html (section "Create libpython22.a").
Although these instructions worked for me, they are a little outdated.  I needed to create
a file with the name "libpython2.5.a" rather than "libpython25.a", and I needed to put it
in $PYTHON/lib/python2.5/config for successful linking.

LINUX: You need to have python installed with the numpy package, swig, and gcc.  Building on
linux is usually much more straightforward, although you'll either have to supply
the --prefix option to setup.py put the modules in a custom directory, or you'll have to run
the install as root (or ask your friendly system administrator to do it for you).

-Build

You should be able to run the standard python module installation procedure.  If running as
root, or under cygwin:

> python setup.py build
> pythin setup.py install 

If running as a local user, be sure to specify the custom directory (you won't have
access to the system python), and update your python path:

> python setup.py build
> pythin setup.py install --prefix=/full/path/to/custom/directory
> export PYTHONPATH=/full/path/to/custom/directory/lib/python2.X/site-packages:$PYTHONPATH

Note that the python path must be set to /full/path/to/custom/directory/lib/python2.X/site-packages
when you specify the prefix option in the install step.

after building and installation, the scripts index_dnafiles,
pythia_pcr, and pythia_tile should work.  To test:

> cd test
> bash design_primers.sh

This script demonstrates the primer design workflow, and how to call the
modules.

-Workflow

In order to design primers, you need to first build indexes on the background
dna, and then provide a fasta file with the sequence with the amplicon
template.

To build indexes, call index_dnafiles.exe <dirname>/*.fasta_extension,
where 'fasta_extension' is usually .fa or .fasta.  This will build
suffix array indexes on all of the fasta files in the directory, and produce
a file called 'index_list.txt' which should be provided as input to the design
modules.

Pythia supports two kinds of primer design.  You can either design one
primer pair to amplify a locus, or you can tile a locus with amplicons.  See
examples for both design in the script test/design_primers.sh.

-Outputs

Pythia writes the primer designs to standard out.  Each line is tab delimited,
with the following fields:

primer1_sequence start stop tm primer2_sequence start stop tm

so save designs to a file, run with standard out redirected to a file,
i.e.
> pythia_pcr.exe locus.fasta > locus_designs.txt

-Examples

The script desgin_primers.sh shows the whole workflow, from indexing the background
DNA against which primer specificity is checked, to designing primers with and without
specificity checks.

To run demo script:
> cd test
> bash design_primers.sh

design_primers.sh shows how to index background DNA files for primer specificity
search, how to design a single primer pair, and how to tile a locus, with and without
specificity search.

To see a list of options for any of the programs, run them with the '-h' option.

-Release notes

This release contains the full module source.

This is the release to get if you use a windows platform and can compile
python extensions, or if you are on a linux platform.  If you are on a
windows/cygwin platform, and don't want to compile anything, but just
want to design primes, get the pythia_1.0_cygwin_binaries_only release.