{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is a short example of how the DNA agarose gel electrophoresis in pydna can be used.\n", "The %matplotlib inline in the line above is there to facilitate viewing matplotlib plots in " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Pydna Gel Electrophoresis Simulation" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "from pydna.gel import gel, interpolator" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "from pydna.ladders import HI_LO_DNA_MARKER" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# st = weight_standard_sample('1kb+_GeneRuler')" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "from pydna.genbank import Genbank" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "gb = Genbank(\"bjornjobb@gmail.com\")" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "gene = gb.nucleotide(\"X06997\")" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "from pydna.parsers import parse_primers" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "primer_f, primer_r = parse_primers(\n", " '''\n", ">760_KlLAC12_rv (20-mer)\n", "ttaaacagattctgcctctg\n", ">759_KlLAC12_fw (19-mer)\n", "aaatggcagatcattcgag\n", "'''\n", ")" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "from pydna.amplify import pcr" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "pcr_prod = pcr(primer_f, primer_r, gene)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "pcr_prod = pcr_prod[:50]" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "pcr_prod.n *= 10" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gel([HI_LO_DNA_MARKER, [pcr_prod]], interpolator=interpolator(HI_LO_DNA_MARKER))" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python [conda env:bjorn311]", "language": "python", "name": "conda-env-bjorn311-py" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.0" } }, "nbformat": 4, "nbformat_minor": 4 }