Metadata-Version: 2.0
Name: ypkpathway
Version: 1.0.1
Summary: Simulation and documentation of metabolic pathway assemblies using the Yeast Pathway Kit.
Home-page: http://pypi.python.org/pypi/ypkpathway/
Author: Björn Johansson
Author-email: bjorn_johansson@bio.uminho.pt
License: LICENSE.txt
Keywords: bioinformatics
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Education
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Requires-Dist: docopt
Requires-Dist: ipython
Requires-Dist: nbconvert
Requires-Dist: nbformat
Requires-Dist: notedown
Requires-Dist: notedown
Requires-Dist: pydna
Requires-Dist: pydna


|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 <https://github.com/BjornFJohansson/pydna>`__ in `Jupyter
notebooks <http://ipython.org/notebook.html>`__ which are automatically
generated and executed.

See an example of a four gene assembly
`here <http://nbviewer.ipython.org/github/BjornFJohansson/ypkpathway/blob/master/docs/pth6/pw.ipynb>`__.
The notebooks in the example are located in the docs folder in this
repository and visualized through
`nbviewer <http://nbviewer.ipython.org/>`__. The example above was made
with the
`pth6 <http://nbviewer.ipython.org/github/BjornFJohansson/ypkpathway/blob/master/tests/pth6.txt>`__
indata.

Version 1.0.0 runs on Python 3.5 or 3.6 and depends on pyqt5 and pydna
2.0.0 or later. The pydna code generated by ypkpathway 1.0.0 also need
pydna 2.0.0 or later to run.

There are five more example indata files that are a part of the
automatic test suit:
`pth1 <http://nbviewer.ipython.org/github/BjornFJohansson/ypkpathway/blob/master/tests/pth1.txt>`__
`pth2 <http://nbviewer.ipython.org/github/BjornFJohansson/ypkpathway/blob/master/tests/pth2.txt>`__
`pth3 <http://nbviewer.ipython.org/github/BjornFJohansson/ypkpathway/blob/master/tests/pth3.txt>`__
`pth4 <http://nbviewer.ipython.org/github/BjornFJohansson/ypkpathway/blob/master/tests/pth4.txt>`__
`pth5 <http://nbviewer.ipython.org/github/BjornFJohansson/ypkpathway/blob/master/tests/pth5.txt>`__
`pth7 <http://nbviewer.ipython.org/github/BjornFJohansson/ypkpathway/blob/master/tests/pth7.txt>`__

|screenshot|

|pypi| Python wheel and source distributions on Pypi.

|travis| Conda packages for MacOSX built on TravisCI.

|appveyor| Conda packages built on Appveyor-CI.

|CircleCI| Conda packages for Linux built on CircleCI.

|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 <https://github.com/BjornFJohansson/ypkpathway/blob/master/docs/manual.pdf>`__
for details on how to use the software.

Installation
------------

The best way of installing ypkpathway is by first installing the free
`Anaconda Python
distribution <https://store.continuum.io/cshop/anaconda/>`__ 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 <https://github.com/BjornFJohansson/ypkpathway/blob/master/docs/manual.pdf>`__
contains a detailed walk through of this installation option.

Alternatively, ypkpathway can be installed using
`pip <https://pypi.python.org/pypi/pip>`__ which is the `PyPA
recommended <https://python-packaging-user-guide.readthedocs.org/en/latest/current.html>`__
tool for installing Python packages.

::

    bjorn@bjorn-UL30A:/$ pip install ypkpathway

Pip may have trouble to install two dependecies
`biopython <https://pypi.python.org/pypi/biopython>`__ which is a
dependency of pydna and
`PyQt4 <https://pypi.python.org/pypi/PyQt4/4.11.4>`__ which have binary
extensions. These can be separately installed. Binary installers of
PyQt4 can be found
`here <http://www.riverbankcomputing.com/software/pyqt/download>`__.
Instructions for how to install Biopython can be found
`here <http://biopython.org/wiki/Download>`__.

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 <https://pypi.python.org/pypi/biopython>`__
which has to be installed using a binary installer or else a C compiler
has to be available.

`pydna <https://pypi.python.org/pypi/pydna>`__

`ipython <https://pypi.python.org/pypi/ipython>`__

`notedown <https://pypi.python.org/pypi/notedown>`__

`nbformat <https://pypi.python.org/pypi/nbformat/4.3.0>`__

`PyQt5 <https://pypi.python.org/pypi/PyQt5>`__

`docopt <https://pypi.python.org/pypi/docopt>`__

There are binary Windows installers for IPython, Bioppython, docopt
`here <http://www.lfd.uci.edu/~gohlke/pythonlibs/>`__

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 <https://github.com/BjornFJohansson/ypkpathway/blob/master/docs/manual.pdf>`__.

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 <http://www.ncbi.nlm.nih.gov/Sitemap/samplerecord.html>`__
   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 <http://daringfireball.net/projects/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 <https://github.com/aaren/notedown>`__ package.

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

.. |icon| image:: https://raw.githubusercontent.com/BjornFJohansson/ypkpathway/master/icon.resized.png
   :target: https://pypi.python.org/pypi/ypkpathway/
.. |screenshot| image:: https://raw.githubusercontent.com/BjornFJohansson/ypkpathway/master/screenshot.resized.png
   :target: https://github.com/BjornFJohansson/ypkpathway
.. |pypi| image:: https://img.shields.io/pypi/pyversions/ypkpathway.svg
   :target: https://pypi.python.org/pypi/ypkpathway/
.. |travis| image:: https://travis-ci.org/BjornFJohansson/ypkpathway.svg
   :target: https://travis-ci.org/BjornFJohansson/ypkpathway
.. |appveyor| image:: https://ci.appveyor.com/api/projects/status/ol5ru8po7fx5cimj?svg=true
   :target: https://ci.appveyor.com/project/BjornFJohansson/ypkpathway
.. |CircleCI| image:: https://circleci.com/gh/BjornFJohansson/ypkpathway.svg?style=svg
   :target: https://circleci.com/gh/BjornFJohansson/ypkpathway
.. |anaconda| image:: https://anaconda.org/bjornfjohansson/ypkpathway/badges/downloads.svg
   :target: https://anaconda.org/bjornfjohansson/ypkpathway
.. |GitHub tag| image:: https://img.shields.io/github/tag/BjornFJohansson/ypkpathway.svg
   :target: https://github.com/BjornFJohansson/ypkpathway


