# [![icon](https://raw.githubusercontent.com/BjornFJohansson/ypkpathway/master/icon.resized.png)](https://pypi.python.org/pypi/ypkpathway/) 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 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](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](https://raw.githubusercontent.com/BjornFJohansson/ypkpathway/master/screenshot.resized.png)](https://github.com/BjornFJohansson/ypkpathway)
[![pypi](https://img.shields.io/pypi/pyversions/ypkpathway.svg)](https://pypi.python.org/pypi/ypkpathway/) Python wheel and source distributions on Pypi.
[![travis](https://travis-ci.org/BjornFJohansson/ypkpathway.svg)](https://travis-ci.org/BjornFJohansson/ypkpathway) Conda packages for MacOSX built on TravisCI.
[![appveyor](https://ci.appveyor.com/api/projects/status/ol5ru8po7fx5cimj?svg=true)](https://ci.appveyor.com/project/BjornFJohansson/ypkpathway) Conda packages built on Appveyor-CI.
[![Codeship Status for BjornFJohansson/ypkpathway](https://app.codeship.com/projects/04d50e80-6db3-0137-487e-62c5aa384427/status)](https://app.codeship.com/projects/347093)
[![anaconda](https://anaconda.org/bjornfjohansson/ypkpathway/badges/downloads.svg)](https://anaconda.org/bjornfjohansson/ypkpathway) Anaconda download count.
[![GitHub tag](https://img.shields.io/github/tag/BjornFJohansson/ypkpathway.svg)](https://github.com/BjornFJohansson/ypkpathway) 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 <enter>:
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](https://img.shields.io/github/tag/BjornFJohansson/ypkpathway.svg)](https://github.com/BjornFJohansson/ypkpathway).
## 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.
Raw data
{
"_id": null,
"home_page": "https://github.com/BjornFJohansson/ypkpathway",
"name": "ypkpathway",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "bioinformatics",
"author": "Bj\u00f6rn Johansson",
"author_email": "bjorn_johansson@bio.uminho.pt",
"download_url": "",
"platform": "",
"description": "# [![icon](https://raw.githubusercontent.com/BjornFJohansson/ypkpathway/master/icon.resized.png)](https://pypi.python.org/pypi/ypkpathway/) ypkpathway \n\nYpkpathway is a simulator and documentation generator for _in-vivo_ pathway assembly using the Yeast Pathway Kit protocol. \nIt takes as argument a series of sequences in a text file and produces a self contained folder containing assembled sequences \nof intermediary vectors, final assembly and PCR primers. Other useful information such as PCR conditions and PCR product sizes \nfor construction and confirmation are also included. The documantation of the assembly is given in the narrative \nJupyter notebook format which can be executed independently of ypkpathway.\n\nThe assembly process is simulated using [pydna](https://github.com/BjornFJohansson/pydna) \nin [Jupyter notebooks](http://ipython.org/notebook.html) which are automatically generated and executed. \n\nSee an example of a four gene assembly [here](http://nbviewer.ipython.org/github/BjornFJohansson/ypkpathway/blob/master/docs/pth6/pw.ipynb). \nThe notebooks in the example are located in the docs folder in this repository and visualized through [nbviewer](http://nbviewer.ipython.org/).\nThe example above was made with the [pth6](http://nbviewer.ipython.org/github/BjornFJohansson/ypkpathway/blob/master/tests/pth6.txt) indata.\n\nVersion 3.0.1 runs on Python 3.6 or 3.7 and depends on pyqt5 and pydna 3.0.1 or later.\nThe jupyter notebooks generated by ypkpathway 3.0.1 also need pydna 3.0.1 or later to run.\n\nThere are five more example indata files that are a part of the automatic test suit: \n[pth1](http://nbviewer.ipython.org/github/BjornFJohansson/ypkpathway/blob/master/tests/pth1.txt)\n[pth2](http://nbviewer.ipython.org/github/BjornFJohansson/ypkpathway/blob/master/tests/pth2.txt)\n[pth3](http://nbviewer.ipython.org/github/BjornFJohansson/ypkpathway/blob/master/tests/pth3.txt)\n[pth4](http://nbviewer.ipython.org/github/BjornFJohansson/ypkpathway/blob/master/tests/pth4.txt)\n[pth5](http://nbviewer.ipython.org/github/BjornFJohansson/ypkpathway/blob/master/tests/pth5.txt)\n[pth7](http://nbviewer.ipython.org/github/BjornFJohansson/ypkpathway/blob/master/tests/pth7.txt)\n\n[![screenshot](https://raw.githubusercontent.com/BjornFJohansson/ypkpathway/master/screenshot.resized.png)](https://github.com/BjornFJohansson/ypkpathway) \n\n[![pypi](https://img.shields.io/pypi/pyversions/ypkpathway.svg)](https://pypi.python.org/pypi/ypkpathway/) Python wheel and source distributions on Pypi.\n\n[![travis](https://travis-ci.org/BjornFJohansson/ypkpathway.svg)](https://travis-ci.org/BjornFJohansson/ypkpathway) Conda packages for MacOSX built on TravisCI.\n\n[![appveyor](https://ci.appveyor.com/api/projects/status/ol5ru8po7fx5cimj?svg=true)](https://ci.appveyor.com/project/BjornFJohansson/ypkpathway) Conda packages built on Appveyor-CI.\n\n[![Codeship Status for BjornFJohansson/ypkpathway](https://app.codeship.com/projects/04d50e80-6db3-0137-487e-62c5aa384427/status)](https://app.codeship.com/projects/347093)\n\n[![anaconda](https://anaconda.org/bjornfjohansson/ypkpathway/badges/downloads.svg)](https://anaconda.org/bjornfjohansson/ypkpathway) Anaconda download count.\n\n[![GitHub tag](https://img.shields.io/github/tag/BjornFJohansson/ypkpathway.svg)](https://github.com/BjornFJohansson/ypkpathway) Github repository.\n\nThe ypkpatwhay package provides a graphical point and click interface and a command line application for planning DNA assembly projects \nusing the Yeast Pathway Kit protocol.\n\nPlease refer to the [manual](https://github.com/BjornFJohansson/ypkpathway/blob/master/docs/manual.pdf) for details on how to use the software.\n\n## Installation\n\nThe best way of installing ypkpathway is by first installing the free [Anaconda Python distribution](https://store.continuum.io/cshop/anaconda/) which comes with\nmany packages and dependencies out of the box. Using the conda package manages simply type:\n\n bjorn@bjorn-UL30A:/$ conda install ypkpathway\n\nand the app and all dependencies will be installed. The [manual](https://github.com/BjornFJohansson/ypkpathway/blob/master/docs/manual.pdf) contains a detailed \nwalk through of this installation option.\n\nAlternatively, 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.\n\n bjorn@bjorn-UL30A:/$ pip install ypkpathway\n\nPip 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. \nThese 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 \nbe found [here](http://biopython.org/wiki/Download).\n\nYpkpathway can also be installed from source by downloading one of the source distributions. Unpack the zip or .tar.gz archive and type:\n\n bjorn@bjorn-UL30A:/$ python setup.py install\n\nDependencies has to be manually installed in this case. There are also .exe installers for ypkpathway that can be installed by double clicking.\nThese do not install the dependencies either.\n\n## Dependencies\n\nThe ypkpathway dependencies are pure Python modules except for PyQt. \nPydna depends on [biopython](https://pypi.python.org/pypi/biopython) which has \nto be installed using a binary installer or else a C compiler has to be available. \n\n[pydna](https://pypi.python.org/pypi/pydna)\n\n[ipython](https://pypi.python.org/pypi/ipython)\n\n[notedown](https://pypi.python.org/pypi/notedown)\n\n[nbformat](https://pypi.python.org/pypi/nbformat/4.3.0)\n\n[PyQt5](https://pypi.python.org/pypi/PyQt5)\n\n[docopt](https://pypi.python.org/pypi/docopt)\n\nThere are binary Windows installers for IPython, Bioppython, docopt [here](http://www.lfd.uci.edu/~gohlke/pythonlibs/) \n\n## Graphical user interface\n\nThe application is written in PyQt4 and can be started from the command line by typing ypkpathway and pressing <enter>:\n\n bjorn@bjorn-UL30A:/$ ypkpathway\n\nIt can also be started from the Anaconda Launcher if installed using conda on the Anaconda Python distribution.\n\n\n## Command line interface\n\nTypical usage at the command line could look like this:\n\n bjorn@bjorn-UL30A:/$ ypkpathway_cli pth6.txt\n\nWhere 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).\n\nThe ypkpathway_cli command above creates a folder with a series of Jupyter notebooks describing \nthe assembly process simulated with pydna. Help is available by the -h option:\n\n bjorn@bjorn-UL30A:/$ ypkpathway -h\n Usage: ypkpathway <path> [<dir>]\n ypkpathway -h|--help\n ypkpathway -v|--version\n ypkpathway -t|--test\n\n Arguments:\n <path> path to data file containing sequences to be assembled\n\n <dir> Directory to put generated sequence files,defaults to\n <ypk_assembly> in the current working directory.\n\n Options:\n -h, --help Show this screen.\n -v, --version Show version.\n\n\n## Results\n\nThe ypkpathway and ypkpathway_cli both produce the same result, which is a results folder containing a selection of files.\nThe folder will contain:\n\n- The sequence of the final pathway and all intermediate vectors in [Genbank](http://www.ncbi.nlm.nih.gov/Sitemap/samplerecord.html) format\n- Jupyter notebooks files describing the final assembly and intermediate assemblies.\n- All PCR primers needed for the amplification of pathway components.\n- Expected diagnostic PCR product fragment lengths indicating correct and incorrect clonings.\n\nThe Jupyter notebook files in the results folder can be viewed with a web browser with only IPython/Jupyter installed.\nThere are also static html versions of the notebook files that can be viewed on any computer with a web browser.\n\n## Development\n\nYpkpathway is open source software and developed on \nGithub [![GitHub tag](https://img.shields.io/github/tag/BjornFJohansson/ypkpathway.svg)](https://github.com/BjornFJohansson/ypkpathway).\n\n## How it works\n\nYpkpathway generates a series of text documents in [markdown](http://daringfireball.net/projects/markdown/) format \nthat are formatted with the given data. There is one document per vector generated in in the assembly process. \nThese documents contain comments and links as well as Python code. The python code describe the cloning and assembly \nsteps using pydna. \n\nThe markdown documents are turned into JSON format using the [notedown](https://github.com/aaren/notedown) package. \n\nThe notebooks are executed using IPython. All files and\nraw data are saved in a self contained result folder.\n\n\n",
"bugtrack_url": null,
"license": "LICENSE.txt",
"summary": "Simulation and documentation of metabolic pathway assemblies using the Yeast Pathway Kit.",
"version": "3.0.1",
"split_keywords": [
"bioinformatics"
],
"urls": [
{
"comment_text": "",
"digests": {
"md5": "1660bf35c0608a659b01607e0309979c",
"sha256": "6a1340c9353473029be408b9e642a8de73392962df4f718300b553797eb040ab"
},
"downloads": -1,
"filename": "ypkpathway-3.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1660bf35c0608a659b01607e0309979c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 208974,
"upload_time": "2019-06-11T12:27:59",
"upload_time_iso_8601": "2019-06-11T12:27:59.983020Z",
"url": "https://files.pythonhosted.org/packages/fb/8c/472c7c252ebe85bda2480d06b13c7a336d2065d93e2bc8fdc93c321b3f3e/ypkpathway-3.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2019-06-11 12:27:59",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "BjornFJohansson",
"github_project": "ypkpathway",
"travis_ci": true,
"coveralls": false,
"github_actions": false,
"appveyor": true,
"circle": true,
"requirements": [
{
"name": "pydna",
"specs": [
[
"==",
"0.9.9"
]
]
},
{
"name": "docopt",
"specs": [
[
"==",
"0.6.2"
]
]
},
{
"name": "notedown",
"specs": [
[
"==",
"1.5.0"
]
]
},
{
"name": "tornado",
"specs": [
[
"==",
"4.1"
]
]
},
{
"name": "terminado",
"specs": [
[
"==",
"0.5"
]
]
},
{
"name": "pyzmq",
"specs": [
[
"==",
"14.6.0"
]
]
},
{
"name": "ipython",
"specs": [
[
"==",
"7.16.3"
]
]
}
],
"test_requirements": [
{
"name": "pytest",
"specs": []
},
{
"name": "pydna",
"specs": []
},
{
"name": "setuptools",
"specs": []
},
{
"name": "docopt",
"specs": []
},
{
"name": "notedown",
"specs": []
},
{
"name": "ipython",
"specs": []
}
],
"lcname": "ypkpathway"
}