{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# File Export\n", "The identified transcrips can be exported in gtf format or as a table with additional information. Both functions accept all filtering functionality from iter_transcripts, allowing for flexible and fine grained filtering of the relevant transcripts. \n", "\n", "This tutorial demonstrates the export functionality with the prepared transcriptome .pkl file from [here](https://oc-molgen.gnz.mpg.de/owncloud/s/gjG9EPiQwpRAyg3)." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "ename": "AttributeError", "evalue": "Can't get attribute '_unpickle_block' on ", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m/scratch/local/ipykernel_49741/2985863408.py\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mpath\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'demonstration_dataset'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 5\u001b[0;31m \u001b[0misoseq\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mTranscriptome\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mload\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34mf'{path}/PacBio_isotools_substantial_isotools.pkl'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m~/.local/lib/python3.9/site-packages/isotools/transcriptome.py\u001b[0m in \u001b[0;36mload\u001b[0;34m(cls, pickle_file)\u001b[0m\n\u001b[1;32m 95\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 96\u001b[0m \u001b[0mlogger\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0minfo\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'loading transcriptome from %s'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpickle_file\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 97\u001b[0;31m \u001b[0mtr\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpickle\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mload\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpickle_file\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'rb'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 98\u001b[0m \u001b[0mpickled_version\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0minfos\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'isotools_version'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'<0.2.6'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 99\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mpickled_version\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0m__version__\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mAttributeError\u001b[0m: Can't get attribute '_unpickle_block' on " ] } ], "source": [ "from isotools import Transcriptome\n", "import matplotlib.pyplot as plt\n", "\n", "path='demonstration_dataset'\n", "isoseq=Transcriptome.load(f'{path}/PacBio_isotools_substantial_isotools.pkl')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# export gtf:\n", "isoseq.write_gtf(f'{path}/demonstration_dataset_substantial_transcripts.gtf.gz', source='isoseq', min_coverage=5, gzip=True, query='SUBSTANTIAL and not (NOVEL_TRANSCRIPT and UNSPLICED)')\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "\n", "# export transcript table with the same filter criteria:\n", "transcript_tab=isoseq.transcript_table( groups=isoseq.groups(),tpm=True,coverage=True, min_coverage=5, progress_bar=True, query='SUBSTANTIAL and not (NOVEL_TRANSCRIPT and UNSPLICED)')\n", "# write to csv file\n", "transcript_tab.to_csv(f'{path}/demonstration_dataset_substantial_transcripts.csv.gz', index=False, sep='\\t')\n", "#show the first lines\n", "transcript_tab.head()\n", "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "python3.9", "language": "python", "name": "python3.9" }, "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.9.7" } }, "nbformat": 4, "nbformat_minor": 4 }