/ypkpathway

Automatic pathway assembly with the YeastPathwayKit

Primary LanguagePythonOtherNOASSERTION

icon ypkpathway

Ypkpathway is a simulator and documentation generator for in-vivo pathway assembly using the Yeast Pathway Kit protocol. It takes as argument a series of sequences in a text file and produces a self contained folder containing assembled sequences of intermediary vectors, final assembly and PCR primers. Other useful information such as PCR conditions and PCR product sizes for construction and confirmation are also included. The documantation of the assembly is given in the narrative Jupyter notebook format which can be executed independently of ypkpathway.

The assembly process is simulated using pydna in Jupyter notebooks which are automatically generated and executed.

See an example of a four gene assembly here. The notebooks in the example are located in the docs folder in this repository and visualized through nbviewer. The example above was made with the pth6 indata.

Version 3.0.1 runs on Python 3.6 or 3.7 and depends on pyqt5 and pydna 3.0.1 or later. The jupyter notebooks generated by ypkpathway 3.0.1 also need pydna 3.0.1 or later to run.

There are five more example indata files that are a part of the automatic test suit: pth1 pth2 pth3 pth4 pth5 pth7

screenshot

pypi Python wheel and source distributions on Pypi.

travis Conda packages for MacOSX built on TravisCI.

appveyor Conda packages built on Appveyor-CI.

Codeship Status for BjornFJohansson/ypkpathway

anaconda Anaconda download count.

GitHub tag Github repository.

The ypkpatwhay package provides a graphical point and click interface and a command line application for planning DNA assembly projects using the Yeast Pathway Kit protocol.

Please refer to the manual for details on how to use the software.

Installation

The best way of installing ypkpathway is by first installing the free Anaconda Python distribution which comes with many packages and dependencies out of the box. Using the conda package manages simply type:

bjorn@bjorn-UL30A:/$ conda install ypkpathway

and the app and all dependencies will be installed. The manual contains a detailed walk through of this installation option.

Alternatively, ypkpathway can be installed using pip which is the PyPA recommended tool for installing Python packages.

bjorn@bjorn-UL30A:/$ pip install ypkpathway

Pip may have trouble to install two dependecies biopython which is a dependency of pydna and PyQt4 which have binary extensions. These can be separately installed. Binary installers of PyQt4 can be found here. Instructions for how to install Biopython can be found here.

Ypkpathway can also be installed from source by downloading one of the source distributions. Unpack the zip or .tar.gz archive and type:

bjorn@bjorn-UL30A:/$ python setup.py install

Dependencies has to be manually installed in this case. There are also .exe installers for ypkpathway that can be installed by double clicking. These do not install the dependencies either.

Dependencies

The ypkpathway dependencies are pure Python modules except for PyQt. Pydna depends on biopython which has to be installed using a binary installer or else a C compiler has to be available.

pydna

ipython

notedown

nbformat

PyQt5

docopt

There are binary Windows installers for IPython, Bioppython, docopt here

Graphical user interface

The application is written in PyQt4 and can be started from the command line by typing ypkpathway and pressing :

bjorn@bjorn-UL30A:/$ ypkpathway

It can also be started from the Anaconda Launcher if installed using conda on the Anaconda Python distribution.

Command line interface

Typical usage at the command line could look like this:

bjorn@bjorn-UL30A:/$ ypkpathway_cli pth6.txt

Where pth6.txt is a text file containing DNA sequences in FASTA or Genbank format to be assembled as described in the manual.

The ypkpathway_cli command above creates a folder with a series of Jupyter notebooks describing the assembly process simulated with pydna. Help is available by the -h option:

bjorn@bjorn-UL30A:/$ ypkpathway -h
Usage: ypkpathway <path> [<dir>]
       ypkpathway -h|--help
       ypkpathway -v|--version
       ypkpathway -t|--test

Arguments:
    <path>  path to data file containing sequences to be assembled

    <dir>   Directory to put generated sequence files,defaults to
            <ypk_assembly> in the current working directory.

Options:
    -h, --help      Show this screen.
    -v, --version   Show version.

Results

The ypkpathway and ypkpathway_cli both produce the same result, which is a results folder containing a selection of files. The folder will contain:

  • The sequence of the final pathway and all intermediate vectors in Genbank format
  • Jupyter notebooks files describing the final assembly and intermediate assemblies.
  • All PCR primers needed for the amplification of pathway components.
  • Expected diagnostic PCR product fragment lengths indicating correct and incorrect clonings.

The Jupyter notebook files in the results folder can be viewed with a web browser with only IPython/Jupyter installed. There are also static html versions of the notebook files that can be viewed on any computer with a web browser.

Development

Ypkpathway is open source software and developed on Github GitHub tag.

How it works

Ypkpathway generates a series of text documents in markdown format that are formatted with the given data. There is one document per vector generated in in the assembly process. These documents contain comments and links as well as Python code. The python code describe the cloning and assembly steps using pydna.

The markdown documents are turned into JSON format using the notedown package.

The notebooks are executed using IPython. All files and raw data are saved in a self contained result folder.