{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "Distance distribution histograms\n", "================================\n", "\n", "Distance distribution histograms provide a method of determining how well\n", "inter-nucleotide data and filtering schemes isolate close-in-space contacts.\n", "A histogram of the atomic 3D distances of filtered internucleotide data is\n", "compared to a \"background\" 3D distance histogram. The background histogram by\n", "default is the distribution of all pairwise 3D distances in the given 3D\n", "structure. It can also be defined by first creating an inter-nucleotide data\n", "set consisting of all nucleotide pairs using the `allpossible` argument with\n", "`rnav.Sample()`, and filtering these.\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "image/png": "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q9W1a9cAAL179661PiMjA0ZGRvL6oKAgBAYGIjAwEDNmzMCjR4/w3//+F2VlZVi+fHmTx0tEREREpE53797FlClTkJ+fL//OfubMGcTHx+OTTz6Bg4NDk40tWPLx+eefY/369bC3t8fUqVPRq1cvVFVV4ffff0d8fDxCQ0NhYmICLy8voYas1Z9//gkAaN++fa31/v7+GDx4MPbu3QsAeOGFF7Bz505s374dy5cvh0wmw6BBg7Bu3TpYW1s3aaxEREREROq2bds25OfnY+bMmXjllVegpaWF7777DtHR0QgLC8PBgwebbGzBko/du3fDyckJ+/btg46Ojrzc1dUVr776Kvz9/REdHd3kycfcuXMxd+7cOuuvX7+uVObp6QlPT8+mDIuIiIiIqEVITU3Fv//9b4SGhsrLHBwcIBKJsHHjRhQVFcnv/RCaYMlHbm4uVqxYoZB41NDV1cX48eMREREh1HBERETPRBRV1NwhkIpU/VnJgprmyxKRpikoKKh1LTwvLy9s2LABt27darLkQ7DHUHXt2hXZ2dl11v/5558wNTUVajgiIiIiImqEiooK6OnpKZXXrOVRVlbWZGMLlnwsXboUBw8exOHDh5XqvvvuO+zdu5c3cBMRERERtVA1y1TU3ITeFAS77CopKQlmZmZ45513EBUVBRsbG+jo6ODWrVvIysqCrq4uYmNjERsbK99GJBLVmqwQkXAkEgni4uIabGdubo4xY8aoISIiotaB8yeR8ARLPn755ReIRCJ06dIFAPD777/L62rKHjx4INRwRKQCc3NzldpJJJImjoSIqHXh/EmaLisrCz/88INCWXFxMYAnD2iqbaHtQYMGPfO4giUfp06dEqorIhKIqkfiVDmyR0TUlnD+JE0XExODmJiYWuvWrVtXa/nVq1efeVzBko+8vDx079693jbHjx/HqFGjhBqSiIiIiIie0pIlS5ptbMGSj3HjxuG9996r9UjB/fv3ERYWhm+++YbJBxERERFRM2rO5EOwp1117twZoaGhWL58OUpKSuTlp06dwujRo/H111/j5ZdfFmo4IiIiIiJqZQQ783H48GFs2LAB8fHxuHjxIsLCwpCUlIQjR46gW7du+O9//9vkq5sTEREREVHLJdiZD11dXbzzzjvYvXs3ZDIZAgMDcfToUUydOhXHjh1j4kFERERE1MYJlnwAT1ZL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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import rnavigate as rnav\n", "from rnavigate.examples import rnasep_1, rnasep_2\n", "\n", "plot = rnav.plot_disthist(\n", " samples=[rnasep_1, rnasep_2],\n", " interactions=\"ringmap\",\n", " structure=\"pdb\",\n", ")\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Help on function plot_disthist in module rnavigate.plotting_functions:\n", "\n", "plot_disthist(samples, structure, interactions, bg_interactions=None, labels=None, same_axis=False, atom=\"O2'\", rows=None, cols=None, plot_kwargs=None)\n", " Calculates 3D distance of nucleotides in inter-nucleotide data and plots\n", " the distribution of these distances. Compares this to a \"background\"\n", " distribution consisting of either all pairwise distances in structure, or\n", " those defined by bg_interactions and bg_interactions_filter\n", " \n", " Parameters\n", " ----------\n", " samples : list of rnavigate Samples\n", " Samples from which to retreive data\n", " There will be one panel for each sample unless same_axis is True\n", " structure : data keyword string or data object\n", " secondary structure or 3D structure to calculate inter-nucleotide\n", " contact distance or 3D distance, respectively\n", " interactions : one of the formats below, defaults to None\n", " format 1 (data or data keyword)\n", " Interactions used to calculate distance histogram, no filtering\n", " format 2 (dictionary)\n", " e.g. {\"interactions\": format 1}\n", " additional filtering options can be added to the dictionary\n", " format 3 (list of format 2 dictionaries)\n", " This format allows multiple filtering schemes to be applied,\n", " each will be plotted on a seperate axis\n", " bg_interactions : one of the formats below, defaults to None\n", " format 1 (data or data keyword)\n", " Interactions to calculate background distance histogram, no\n", " filtering is performed\n", " format 2 (dictionary)\n", " e.g. {\"interactions\": format 1}\n", " additional filtering options can be added to the dictionary\n", " if not provided, background distance histogram is calculated from\n", " all pairwise distances in structure\n", " labels : list of strings, defaults to sample.sample for each sample\n", " Labels to be used as titles, must be same length as samples list\n", " Defaults to sample.sample for each sample\n", " atom : string or dictionary, defaults to \"O2'\"\n", " from which atoms to calculate distances\n", " for DMS reactive atoms (N1 for A and G, N3 for U and C) use \"DMS\"\n", " use a dictionary to specify a different atom for each nucleotide\n", " e.g. \"DMS\" == {\"A\": \"N1\", \"G\": \"N1\", \"U\": \"N3\", \"C\": \"N3\"}\n", " rows : integer, defaults to None (determined automatically)\n", " number of rows of plots\n", " cols : integer, defaults to None (determined automatically)\n", " number of columns of plots\n", " plot_kwargs : dictionary, defaults to {}\n", " Keyword-arguments passed to matplotlib.pyplot.subplots\n", " \n", " Returns\n", " -------\n", " rnavigate.plots.DistHist\n", " object containing matplotlib figure and axes with additional plotting and\n", " file saving methods\n", "\n" ] } ], "source": [ "help(rnav.plot_disthist)\n" ] } ], "metadata": { "kernelspec": { "display_name": "RNAvigate", "language": "python", "name": "python3" }, "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.2" } }, "nbformat": 4, "nbformat_minor": 2 }