{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# JointView\n", "JointView can be used to visualize trans or cis-remote region by composing frames around a hicmat." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "execution": { "iopub.execute_input": "2025-11-10T03:54:11.922867Z", "iopub.status.busy": "2025-11-10T03:54:11.918544Z", "iopub.status.idle": "2025-11-10T03:54:16.490313Z", "shell.execute_reply": "2025-11-10T03:54:16.489729Z" }, "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "import coolbox\n", "from coolbox.api import *" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "execution": { "iopub.execute_input": "2025-11-10T03:54:16.495008Z", "iopub.status.busy": "2025-11-10T03:54:16.493940Z", "iopub.status.idle": "2025-11-10T03:54:16.508326Z", "shell.execute_reply": "2025-11-10T03:54:16.507726Z" }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ "'0.4.0'" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "coolbox.__version__" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Visualize the cis-remote region:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "execution": { "iopub.execute_input": "2025-11-10T03:54:16.540796Z", "iopub.status.busy": "2025-11-10T03:54:16.540192Z", "iopub.status.idle": "2025-11-10T03:54:19.650381Z", "shell.execute_reply": "2025-11-10T03:54:19.648773Z" }, "tags": [ "nbsphinx-thumbnail" ] }, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " 2025-11-09T19:54:19.488367\n", " image/svg+xml\n", " \n", " \n", " Matplotlib v3.9.1, https://matplotlib.org/\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " 2025-11-09T19:54:17.060977\n", " image/svg+xml\n", " \n", " \n", " Matplotlib v3.9.1, https://matplotlib.org/\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 4,500\n", " \n", " \n", " 4,600\n", " \n", " \n", " 4,700\n", " \n", " \n", " 4,800\n", " \n", " \n", " 4,900 Kb\n", " \n", " \n", " 5,000\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " JAK2\n", " \n", " \n", " SPATA6L\n", " \n", " \n", " SLC1A1\n", " \n", " \n", " RCL1\n", " \n", " \n", " \n", " \n", " \n", " AK3\n", " \n", " \n", " \n", " \n", " \n", " CDC37L1\n", " \n", " \n", " \n", " \n", " \n", " PPAPDC2\n", " \n", " \n", " \n", " \n", " \n", " RP11-6J24.6\n", " \n", " \n", " \n", " \n", " GTF\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 0\n", " \n", " \n", " 3101.70\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " 2025-11-09T19:54:17.535398\n", " image/svg+xml\n", " \n", " \n", " Matplotlib v3.9.1, https://matplotlib.org/\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 5,200\n", " \n", " \n", " 5,300\n", " \n", " \n", " 5,400\n", " \n", " \n", " 5,500\n", " \n", " \n", " 5,600\n", " \n", " \n", " 5,700\n", " \n", " \n", " 5,800 Kb\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " KIAA1432\n", " \n", " \n", " \n", " \n", " \n", " PLGRKT\n", " \n", " \n", " \n", " \n", " \n", " ERMP1\n", " \n", " \n", " \n", " \n", " \n", " PDCD1LG2\n", " \n", " \n", " \n", " \n", " \n", " CD274\n", " \n", " \n", " \n", " \n", " \n", " RLN2\n", " \n", " \n", " \n", " \n", " \n", " RLN1\n", " \n", " \n", " \n", " \n", " \n", " RP11-574F11.3\n", " \n", " \n", " \n", " \n", " \n", " INSL4\n", " \n", " \n", " \n", " \n", " GTF\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 0\n", " \n", " \n", " 547.05\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " 2025-11-09T19:54:17.881079\n", " image/svg+xml\n", " \n", " \n", " Matplotlib v3.9.1, https://matplotlib.org/\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 4,500\n", " \n", " \n", " 4,600\n", " \n", " \n", " 4,700\n", " \n", " \n", " 4,800\n", " \n", " \n", " 4,900 Kb\n", " \n", " \n", " 5,000\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " JAK2\n", " \n", " \n", " SPATA6L\n", " \n", " \n", " SLC1A1\n", " \n", " \n", " RCL1\n", " \n", " \n", " \n", " \n", " \n", " AK3\n", " \n", " \n", " \n", " \n", " \n", " CDC37L1\n", " \n", " \n", " \n", " \n", " \n", " PPAPDC2\n", " \n", " \n", " \n", " \n", " \n", " RP11-6J24.6\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " 2025-11-09T19:54:18.191105\n", " image/svg+xml\n", " \n", " \n", " Matplotlib v3.9.1, https://matplotlib.org/\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 5,200\n", " \n", " \n", " 5,300\n", " \n", " \n", " 5,400\n", " \n", " \n", " 5,500\n", " \n", " \n", " 5,600\n", " \n", " \n", " 5,700\n", " \n", " \n", " 5,800 Kb\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " KIAA1432\n", " \n", " \n", " \n", " \n", " \n", " PLGRKT\n", " \n", " \n", " \n", " \n", " \n", " ERMP1\n", " \n", " \n", " \n", " \n", " \n", " PDCD1LG2\n", " \n", " \n", " \n", " \n", " \n", " CD274\n", " \n", " \n", " \n", " \n", " \n", " RLN2\n", " \n", " \n", " \n", " \n", " \n", " RLN1\n", " \n", " \n", " \n", " \n", " \n", " RP11-574F11.3\n", " \n", " \n", " \n", " \n", " \n", " INSL4\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", "\n" ], "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "DATA_DIR = f\"../../../tests/test_data\"\n", "test_interval = \"chr9:4000000-6000000\"\n", "empty_interval = \"chr10:4000000-6000000\"\n", "test_itv = test_interval.replace(':', '_').replace('-', '_')\n", "\n", "\n", "frame1 = XAxis() + GTF(f\"{DATA_DIR}/gtf_{test_itv}.gtf\") + Title(\"GTF\")\n", "frame1 += BigWig(f\"{DATA_DIR}/bigwig_{test_itv}.bw\") + TrackHeight(2) + MinValue(0)\n", "frame2 = XAxis()\n", "frame2 += GTF(f\"{DATA_DIR}/gtf_{test_itv}.gtf\") + TrackHeight(5)\n", "\n", "cool1 = Cool(f\"{DATA_DIR}/cool_{test_itv}.mcool\", color_bar=False, style='matrix')\n", "\n", "sub_frames = {\n", " \"top\": frame1,\n", " \"right\": frame1,\n", " \"bottom\": frame2,\n", " \"left\": frame2\n", "}\n", "\n", "jv = JointView(cool1, **sub_frames, space=0, padding_left=0)\n", "fig = jv.plot(\"chr9:4500000-5000000\", \"chr9:5200000-5850000\")\n", "fig" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Or you can just use it to compose track in joint style,\n", "pass one genome region to the `plot` method:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "execution": { "iopub.execute_input": "2025-11-10T03:54:19.653501Z", "iopub.status.busy": "2025-11-10T03:54:19.653009Z", "iopub.status.idle": "2025-11-10T03:54:23.034975Z", "shell.execute_reply": "2025-11-10T03:54:23.028292Z" }, "scrolled": false }, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " 2025-11-09T19:54:22.660191\n", " image/svg+xml\n", " \n", " \n", " Matplotlib v3.9.1, https://matplotlib.org/\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " 2025-11-09T19:54:19.908582\n", " image/svg+xml\n", " \n", " \n", " Matplotlib v3.9.1, https://matplotlib.org/\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 4,000\n", " \n", " \n", " 4,250\n", " \n", " \n", " 4,500\n", " \n", " \n", " 4,750\n", " \n", " \n", " 5,000\n", " \n", " \n", " 5,250\n", " \n", " \n", " 5,500\n", " \n", " \n", " 5,750 Kb\n", " \n", " \n", " 6,000\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " GLIS3\n", " \n", " \n", " \n", " \n", " \n", " KIAA1432\n", " \n", " \n", " \n", " \n", " \n", " JAK2\n", " \n", " \n", " \n", " \n", " \n", " KIAA2026\n", " \n", " \n", " \n", " \n", " \n", " SPATA6L\n", " \n", " \n", " \n", " \n", " \n", " SLC1A1\n", " \n", " \n", " \n", " \n", " \n", " RCL1\n", " \n", " \n", " \n", " \n", " \n", " PLGRKT\n", " \n", " \n", " \n", " \n", " \n", " ERMP1\n", " \n", " \n", " \n", " \n", " \n", " PDCD1LG2\n", " \n", " \n", " \n", " \n", " \n", " INSL6\n", " \n", " \n", " \n", " \n", " \n", " AK3\n", " \n", " \n", " \n", " \n", " \n", " CDC37L1\n", " \n", " \n", " \n", " \n", " \n", " CD274\n", " \n", " \n", " \n", " \n", " \n", " MLANA\n", " \n", " \n", " \n", " \n", " GTF\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 0\n", " \n", " \n", " 3101.70\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " 2025-11-09T19:54:20.448619\n", " image/svg+xml\n", " \n", " \n", " Matplotlib v3.9.1, https://matplotlib.org/\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 4,000\n", " \n", " \n", " 4,250\n", " \n", " \n", " 4,500\n", " \n", " \n", " 4,750\n", " \n", " \n", " 5,000\n", " \n", " \n", " 5,250\n", " \n", " \n", " 5,500\n", " \n", " \n", " 5,750 Kb\n", " \n", " \n", " 6,000\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " GLIS3\n", " \n", " \n", " \n", " \n", " \n", " KIAA1432\n", " \n", " \n", " \n", " \n", " \n", " JAK2\n", " \n", " \n", " \n", " \n", " \n", " KIAA2026\n", " \n", " \n", " \n", " \n", " \n", " SPATA6L\n", " \n", " \n", " \n", " \n", " \n", " SLC1A1\n", " \n", " \n", " \n", " \n", " \n", " RCL1\n", " \n", " \n", " \n", " \n", " \n", " PLGRKT\n", " \n", " \n", " \n", " \n", " \n", " ERMP1\n", " \n", " \n", " \n", " \n", " \n", " PDCD1LG2\n", " \n", " \n", " \n", " \n", " \n", " INSL6\n", " \n", " \n", " \n", " \n", " \n", " AK3\n", " \n", " \n", " \n", " \n", " \n", " CDC37L1\n", " \n", " \n", " \n", " \n", " \n", " CD274\n", " \n", " \n", " \n", " \n", " \n", " MLANA\n", " \n", " \n", " \n", " \n", " GTF\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 0\n", " \n", " \n", " 3101.70\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " 2025-11-09T19:54:20.924810\n", " image/svg+xml\n", " \n", " \n", " Matplotlib v3.9.1, https://matplotlib.org/\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 4,000\n", " \n", " \n", " 4,250\n", " \n", " \n", " 4,500\n", " \n", " \n", " 4,750\n", " \n", " \n", " 5,000\n", " \n", " \n", " 5,250\n", " \n", " \n", " 5,500\n", " \n", " \n", " 5,750 Kb\n", " \n", " \n", " 6,000\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " GLIS3\n", " \n", " \n", " \n", " \n", " \n", " KIAA1432\n", " \n", " \n", " \n", " \n", " \n", " JAK2\n", " \n", " \n", " \n", " \n", " \n", " KIAA2026\n", " \n", " \n", " \n", " \n", " \n", " SPATA6L\n", " \n", " \n", " \n", " \n", " \n", " SLC1A1\n", " \n", " \n", " \n", " \n", " \n", " RCL1\n", " \n", " \n", " \n", " \n", " \n", " PLGRKT\n", " \n", " \n", " \n", " \n", " \n", " ERMP1\n", " \n", " \n", " \n", " \n", " \n", " PDCD1LG2\n", " \n", " \n", " \n", " \n", " \n", " INSL6\n", " \n", " \n", " \n", " \n", " \n", " AK3\n", " \n", " \n", " \n", " \n", " \n", " CDC37L1\n", " \n", " \n", " \n", " \n", " \n", " CD274\n", " \n", " \n", " \n", " \n", " \n", " MLANA\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " 2025-11-09T19:54:21.855192\n", " image/svg+xml\n", " \n", " \n", " Matplotlib v3.9.1, https://matplotlib.org/\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 4,000\n", " \n", " \n", " 4,250\n", " \n", " \n", " 4,500\n", " \n", " \n", " 4,750\n", " \n", " \n", " 5,000\n", " \n", " \n", " 5,250\n", " \n", " \n", " 5,500\n", " \n", " \n", " 5,750 Kb\n", " \n", " \n", " 6,000\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " GLIS3\n", " \n", " \n", " \n", " \n", " \n", " KIAA1432\n", " \n", " \n", " \n", " \n", " \n", " JAK2\n", " \n", " \n", " \n", " \n", " \n", " KIAA2026\n", " \n", " \n", " \n", " \n", " \n", " SPATA6L\n", " \n", " \n", " \n", " \n", " \n", " SLC1A1\n", " \n", " \n", " \n", " \n", " \n", " RCL1\n", " \n", " \n", " \n", " \n", " \n", " PLGRKT\n", " \n", " \n", " \n", " \n", " \n", " ERMP1\n", " \n", " \n", " \n", " \n", " \n", " PDCD1LG2\n", " \n", " \n", " \n", " \n", " \n", " INSL6\n", " \n", " \n", " \n", " \n", " \n", " AK3\n", " \n", " \n", " \n", " \n", " \n", " CDC37L1\n", " \n", " \n", " \n", " \n", " \n", " CD274\n", " \n", " \n", " \n", " \n", " \n", " MLANA\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", "\n" ], "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cool1 = Cool(f\"{DATA_DIR}/cool_{test_itv}.mcool\", color_bar=False) + \\\n", " HiCPeaksCoverage(f\"{DATA_DIR}/peak_{test_itv}.bedpe\")\n", "\n", "sub_frames = {\n", " \"top\": frame1,\n", " \"right\": frame1,\n", " \"bottom\": frame2,\n", " \"left\": frame2\n", "}\n", "\n", "jv = JointView(cool1, **sub_frames, space=0, padding_left=0)\n", "fig = jv.plot(\"chr9:4000000-6000000\")\n", "fig" ] }, { "cell_type": "markdown", "metadata": { "pycharm": { "name": "#%% md\n" } }, "source": [ "### CLI code" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "execution": { "iopub.execute_input": "2025-11-10T03:54:23.041813Z", "iopub.status.busy": "2025-11-10T03:54:23.041587Z", "iopub.status.idle": "2025-11-10T03:54:31.560482Z", "shell.execute_reply": "2025-11-10T03:54:31.560025Z" }, "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "%%bash\n", "\n", "DATA_DIR=\"../../../tests/test_data\"\n", "test_itv=\"chr9_4000000_6000000\"\n", "coolbox \\\n", " joint_view top - \\\n", " add XAxis - \\\n", " add GTF ${DATA_DIR}/gtf_${test_itv}.gtf - \\\n", " add Title GTF - \\\n", " joint_view right - \\\n", " add XAxis - \\\n", " add BigWig ${DATA_DIR}/bigwig_${test_itv}.bw - \\\n", " add TrackHeight 2 - \\\n", " add MinValue 0 - \\\n", " joint_view center - \\\n", " add Cool ${DATA_DIR}/cool_${test_itv}.mcool - \\\n", " goto 'chr9:4500000-5000000' 'chr9:5200000-5850000' - \\\n", " plot /tmp/test_coolbox_joint_view.svg" ] } ], "metadata": { "@webio": { "lastCommId": null, "lastKernelId": null }, "celltoolbar": "编辑元数据", "kernelspec": { "display_name": "Python 3", "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.12.3" } }, "nbformat": 4, "nbformat_minor": 1 }