{ "info": { "author": "Cathal Garvey", "author_email": "cathalgarvey@cathalgarvey.me", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: Science/Research", "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.1", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Topic :: Scientific/Engineering :: Bio-Informatics", "Topic :: Utilities" ], "description": "PySplicer\n=========\nA frequency/bias codon optimisation system with early NGG avoidance and optional\nIUPAC match avoidance.\n\nBy Cathal Garvey, released under the GNU Affero General Public License.\n\nInstallation\n------------\nPySplicer is pure python and requires no compilation or building for basic function.\nFor optimal output, you should also install the ViennaRNA package using the downloads\n[here](http://www.tbi.univie.ac.at/~ronny/RNA/index.html); you can do this before\nor after installing PySplicer, it doesn't matter.\n\nThe easiest way to install pysplicer is using pip-3.2, if you have it installed.\neasy-install may also work to install pysplicer without headaches.\n\nThe next best thing is to download the latest version from the github repository,\nenter the directory through the terminal, and call \"python3 setup.py install\"\nwith administrator/sudo/root privileges.\n\nUsage\n-----\nPySplicer consists of a Python Module and a python script for terminal usage.\nFor usage information on the script, after installing this package with pip-3.2\nor setup.py, try typing \"pysplicer --help\" into the terminal.\n\nYou'll need ViennaRNA installed to make use of the --use-vienna option; if you can,\ndo! This will make PySplicer use RNAfold instead of using its own highly terrible\nalgorithm for structure analysis, which will certainly generate better results.\nDo be aware that, even with ViennaRNA installed, structure prediction is certainly\nthe most computationally intensive part of PySplicer's work, so expect compilations\nof large sequences to take a long time.\n\nWhat is PySplicer?\n------------------\nPySplicer is a Free Software implementation of a codon optimisation method where\ncodons are selected based on a frequency table, usually to match target host\nfrequencies but also (where possible) to match empirically determined\nhigh-expression tables which usually give better expression results.\n\nPySplicer does not (yet) implement all best practices for codon optimisation,\nbut compared to most available Free Software codon optimisation programs, it is\npretty good. While most programs still make use of the somewhat-discredited\n\"best pick\" method, where the most common codon in \"highly expressed\" genes is\npreferentially selected wherever possible, the frequency-matching approach appears\nto deliver better results in general, and a frequency matching approach that\nbiases towards codons whose tRNAs remain charged under starvation conditions\nappears to give even better results.\n\nPySplicer can be directed to avoid DNA/RNA sequences in the final output, which\nit attempts to accomplish firstly be generating large numbers of candidates and\nwalking through them to avoid such sites, and then by attempting to substitute\nsynonymous codons at each such site. Subsequences to avoid can be given in full\nextended IUPAC notation, so that AWGS can refer to AAGG, AAGC, ATGG,\nor ATGC. It *may* be relevant to note that all sequences are converted to DNA\ninternally prior to use for the sake of internal consistency,\n\nStructure avoidance/removal process can have a significant and positive impact on\nsuccessful gene expression, particularly when structures in the 5' UTR or the\nfirst few codons of a CDS are eliminated.\n\nPySplicer can outsource structure prediction to ViennaRNA tools if they are\npresent and the option is selected. This is *highly recommended*. Detected\nstructures are then removed using the same methods as for sequences nominated\nfor avoidance, as above.\nIf ViennaRNA is not installed, PySplicer will attempt to map simple hairpin\nstructures, but this is far slower, less reliable, generally less useful, and\nwill omit searches for other or more complex structures. It's only an option\nwhere ViennaRNA is not present (see above for a ViennaRNA download page).\n\nPySplicer makes a special effort to avoid \"NGG\" codons in the first few codons\nof the output sequence, as these are associated with failed transcription, and\nattempts to bias slightly towards \"A\" nucleotides to somewhat reduce the\nodds of a secondary structure forming in the critical 5' leader region.\n\nFinally, PySplicer aims for a *lower* codon adaptation index in the initial codons\nof the output sequence, in keeping with the \"on-ramp\" hypothesis for avoidance of\nribosomal collision. In some empirical studies a lower CAI in initial codons is\nassociated with higher expression overall, though PySplicer sadly cannot be compared\nempirically against other adaptation solutions due to funding constraints, so for\nnow this is taken on faith.\n\nUsing Your Own Tables\n---------------------\nIf a codon usage table is not available, a JSON-formatted file containing a\ncodon usage table can be specified. The format should be a JSON Object (akin to\na python dict with the same syntax) containing single-letter amino keys, which\npoint to dicts containing Codon keys, which each point to float values representing\nrelative frequencies. Keys are all uppercase DNA, not RNA. For example:\n{\"A\": {\"GCA\": 0.15, \"GCC\": 0.18, \"GCG\": 0.51, \"GCT\": 0.15},\n \"C\": {\"TGC\": 0.65, \"TGT\": 0.35}...}\n\nTo simplify this process, a utility script is included, \"cud-to-pysplicer\", which\nwill accept a filename of a Codon Usage Database (CUD) frequency table and will\ntranslate this table to a pysplicer-format JSON table. It accepts an optional\n\"-t\" switch which specifies with codon table to use; it defaults to the \"standard\"\ntable. Calling cut-to-pysplicer with the \"--help\" switch will print usage\ninformation and also a list of possible translation tables to specify.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitorious.org/pysplicer/pysplicer", "keywords": null, "license": "GNU Affero General Public License v3", "maintainer": null, "maintainer_email": null, "name": "pysplicer", "package_url": "https://pypi.org/project/pysplicer/", "platform": "any", "project_url": "https://pypi.org/project/pysplicer/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://gitorious.org/pysplicer/pysplicer" }, "release_url": "https://pypi.org/project/pysplicer/0.3/", "requires_dist": null, "requires_python": null, "summary": "A frequency-bias codon optimisation script with early NGG avoidance and optional IUPAC match avoidance.", "version": "0.3" }, "last_serial": 933345, "releases": { "0.3": [] }, "urls": [] }