{ "cells": [ { "cell_type": "markdown", "id": "675c668e", "metadata": {}, "source": [ "# Detecting and Clustering Seqlets with Modisco " ] }, { "cell_type": "markdown", "id": "b4df7663", "metadata": {}, "source": [ "In this tutorial, we will explore how to use Modisco within the Decima framework to detect and cluster seqlets—short, high-scoring regions of DNA that are important for model predictions. Modisco (Motif Discovery from Importance Scores) is a powerful tool designed to analyze attribution scores from deep learning models. It identifies recurring patterns, or \"motifs,\" by first locating seqlets—short subsequences with high attribution—and then clustering these seqlets based on similarity. This process helps uncover biologically meaningful sequence motifs that drive the model's predictions, providing insights into regulatory elements and sequence features learned by the model. We will walk through the steps of running Modisco on attribution data, from detecting seqlets to clustering them into motifs, and interpreting the results.\n" ] }, { "cell_type": "markdown", "id": "611615ee", "metadata": {}, "source": [ "## CLI API" ] }, { "cell_type": "markdown", "id": "0706c028", "metadata": {}, "source": [ "In this tutorial, we'll walk through a practical example of using Decima's CLI API to analyze neuronal cells and uncover how they differ from non-neuronal cells based on the major regulators. Let's first list avaliable cell types: " ] }, { "cell_type": "code", "execution_count": 1, "id": "2852f3c3", "metadata": { "execution": { "iopub.execute_input": "2025-11-21T06:07:31.329581Z", "iopub.status.busy": "2025-11-21T06:07:31.329445Z", "iopub.status.idle": "2025-11-21T06:08:16.524350Z", "shell.execute_reply": "2025-11-21T06:08:16.523710Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[34m\u001b[1mwandb\u001b[0m: Currently logged in as: \u001b[33mmhcelik\u001b[0m (\u001b[33mmhcw\u001b[0m) to \u001b[32mhttps://api.wandb.ai\u001b[0m. Use \u001b[1m`wandb login --relogin`\u001b[0m to force relogin\n", "\u001b[34m\u001b[1mwandb\u001b[0m: Downloading large artifact 'metadata:latest', 3122.32MB. 1 files...\n", "\u001b[34m\u001b[1mwandb\u001b[0m: 1 of 1 files downloaded. \n", "Done. 00:00:02.0 (1590.8MB/s)\n", "\tcell_type\ttissue\torgan\tdisease\tstudy\tdataset\tregion\tsubregion\tcelltype_coarse\tn_cells\ttotal_counts\tn_genes\tsize_factor\ttrain_pearson\tval_pearson\ttest_pearson\n", "agg_1112\tCGE interneuron\tAmygdala_Amygdala\tCNS\thealthy\tjhpce#tran2021\tbrain_atlas\tAmygdala\tAmygdala\t\t674\t17421456.0\t16954\t42512.927350555474\t0.9454484906394379\t0.8549755331049285\t0.8667663764982964\n", "agg_1113\tCGE interneuron\tAmygdala_Basolateral nuclear group (BLN) - lateral nucleus - La\tCNS\thealthy\tSCR_016152\tbrain_atlas\tAmygdala\tBasolateral nuclear group (BLN) - lateral nucleus - La\t\t3653\t43170604.0\t17556\t43343.31426365281\t0.9556543498602063\t0.8580799006688026\t0.8653460664237342\n", "agg_1114\tCGE interneuron\tAmygdala_Bed nucleus of stria terminalis and nearby - BNST\tCNS\thealthy\tSCR_016152\tbrain_atlas\tAmygdala\tBed nucleus of stria terminalis and nearby - BNST\t\t618\t6152593.0\t16370\t44713.64203304153\t0.9520635955734341\t0.852188720222159\t0.858968806922992\n", "agg_1115\tCGE interneuron\tAmygdala_Central nuclear group - CEN\tCNS\thealthy\tSCR_016152\tbrain_atlas\tAmygdala\tCentral nuclear group - CEN\t\t4146\t49400198.0\t17671\t44026.860058199665\t0.9563052838304861\t0.8593824369699917\t0.8633745639889623\n", "agg_1116\tCGE interneuron\tAmygdala_Corticomedial nuclear group (CMN) - anterior cortical nucleus - CoA\tCNS\thealthy\tSCR_016152\tbrain_atlas\tAmygdala\tCorticomedial nuclear group (CMN) - anterior cortical nucleus - CoA\t\t929\t26964535.0\t17136\t42858.8950204464\t0.9550498609794265\t0.8605038580533132\t0.8684496521271442\n", "agg_1117\tCGE interneuron\tAmygdala_basolateral nuclear group (BLN) - basolateral nucleus (basal nucleus) - BL\tCNS\thealthy\tSCR_016152\tbrain_atlas\tAmygdala\tbasolateral nuclear group (BLN) - basolateral nucleus (basal nucleus) - BL\t\t4827\t53518064.0\t17716\t44281.06098179032\t0.9559516728570443\t0.8567887668317138\t0.8635709259614972\n", "agg_1118\tCGE interneuron\tAmygdala_basolateral nuclear group (BLN) - basomedial nucleus (accessory basal nucleus) - BM\tCNS\thealthy\tSCR_016152\tbrain_atlas\tAmygdala\tbasolateral nuclear group (BLN) - basomedial nucleus (accessory basal nucleus) - BM\t\t3328\t43659654.0\t17730\t45262.446914261665\t0.9542446453364304\t0.8568247176176679\t0.8600818558559432\n", "agg_1119\tCGE interneuron\tAmygdala_corticomedial nuclear group - CMN\tCNS\thealthy\tSCR_016152\tbrain_atlas\tAmygdala\tcorticomedial nuclear group - CMN\t\t4434\t51772973.0\t17758\t44807.696973438295\t0.9570021114498952\t0.8556658443449039\t0.8641266258892707\n", "agg_1120\tCGE interneuron\tBasal ganglia_Body of the Caudate - CaB\tCNS\thealthy\tSCR_016152\tbrain_atlas\tBasal ganglia\tBody of the Caudate - CaB\t\t187\t3122777.0\t15683\t44838.93941730748\t0.9494639797626426\t0.850804855581977\t0.8553423638918904\n", "agg_1121\tCGE interneuron\tBasal ganglia_Globus pallidus (GP) - External segment of globus pallidus - GPe\tCNS\thealthy\tSCR_016152\tbrain_atlas\tBasal ganglia\tGlobus pallidus (GP) - External segment of globus pallidus - GPe\t\t107\t1401962.0\t14986\t44440.308958941176\t0.9432617394411168\t0.8448997012052522\t0.8476170302061452\n", "agg_1122\tCGE interneuron\tBasal ganglia_Globus pallidus (GP) - Internal segment of globus pallidus - GPi\tCNS\thealthy\tSCR_016152\tbrain_atlas\tBasal ganglia\tGlobus pallidus (GP) - Internal segment of globus pallidus - GPi\t\t16\t121804.0\t10739\t39259.57497605263\t0.858884474221949\t0.7726171135663182\t0.7644669154369795\n", "agg_1123\tCGE interneuron\tBasal ganglia_Nucleus Accumbens - NAC\tCNS\thealthy\tSCR_016152\tbrain_atlas\tBasal ganglia\tNucleus Accumbens - NAC\t\t92\t1157081.0\t14512\t43915.45804097595\t0.9406993659470231\t0.8463012081482822\t0.8484284417222941\n", "agg_1124\tCGE interneuron\tBasal ganglia_Nucleus accumbens\tCNS\thealthy\tjhpce#tran2021\tbrain_atlas\tBasal ganglia\tNucleus accumbens\t\t294\t6261733.0\t16363\t44435.4512744186\t0.939417438111905\t0.8392186623819058\t0.8527706997362122\n", "agg_1125\tCGE interneuron\tBasal ganglia_Putamen - Pu\tCNS\thealthy\tSCR_016152\tbrain_atlas\tBasal ganglia\tPutamen - Pu\t\t425\t4717570.0\t16183\t45001.20451703623\t0.9514341635683559\t0.8539321245006076\t0.855428781988558\n", "agg_1126\tCGE interneuron\tBasal ganglia_septal nuclei - SEP\tCNS\thealthy\tSCR_016152\tbrain_atlas\tBasal ganglia\tseptal nuclei - SEP\t\t1879\t21882302.0\t17497\t46007.24312666675\t0.9527114190907388\t0.8532013539249315\t0.8558978082659188\n", "agg_1127\tCGE interneuron\tBasal ganglia_substantia innominata and nearby nuclei - SI\tCNS\thealthy\tSCR_016152\tbrain_atlas\tBasal ganglia\tsubstantia innominata and nearby nuclei - SI\t\t765\t7857686.0\t16676\t45181.13280453827\t0.9528570987403407\t0.8528510578046272\t0.857340287067751\n", "agg_1128\tCGE interneuron\tCerebral cortex_Anterior Olfactory Nucleus - AON\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tAnterior Olfactory Nucleus - AON\t\t2403\t39067991.0\t17616\t45931.36796447533\t0.9546916552053556\t0.8522756501950615\t0.8582181016005722\n", "agg_1130\tCGE interneuron\tCerebral cortex_Anterior cingulate cortex\tCNS\thealthy\tPRJNA434002\tbrain_atlas\tCerebral cortex\tAnterior cingulate cortex\t\t1644\t7947983.0\t15944\t45552.80934538369\t0.899805511496978\t0.8093617097115822\t0.8000548329236696\n", "agg_1131\tCGE interneuron\tCerebral cortex_Anterior cingulate cortex - ACC\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tAnterior cingulate cortex - ACC\t\t3716\t58054934.0\t17749\t45840.820597657774\t0.9534435475418815\t0.853738798083762\t0.8559544023158703\n", "agg_1132\tCGE interneuron\tCerebral cortex_Anterior parahippocampal gyrus (AG) - Lateral entorhinal cortex - LEC\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tAnterior parahippocampal gyrus (AG) - Lateral entorhinal cortex - LEC\t\t5912\t81002476.0\t17880\t45675.62135987685\t0.9541385127816103\t0.8500039325320953\t0.8568608826029541\n", "agg_1133\tCGE interneuron\tCerebral cortex_Anterior parahippocampal gyrus/posterior part (APH) - Medial entorhinal cortex - MEC\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tAnterior parahippocampal gyrus/posterior part (APH) - Medial entorhinal cortex - MEC\t\t11071\t153176261.0\t18055\t44934.06085029526\t0.9564513772455941\t0.8578279194724209\t0.8613450453709655\n", "agg_1134\tCGE interneuron\tCerebral cortex_Caudal cingulate gyrus (CgGC) - A23\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tCaudal cingulate gyrus (CgGC) - A23\t\t4324\t45019739.0\t17656\t45110.451368021866\t0.9539821503006068\t0.8559550389720095\t0.857177067428263\n", "agg_1135\tCGE interneuron\tCerebral cortex_Cingulate gyrus/retrosplenial (CgGrs) - A29-A30\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tCingulate gyrus/retrosplenial (CgGrs) - A29-A30\t\t6632\t39702720.0\t17615\t46139.58724353013\t0.9494599332961685\t0.8495667411664938\t0.8459029902797677\n", "agg_1136\tCGE interneuron\tCerebral cortex_Cuneus/caudal part - Peristriate Cortex - V2\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tCuneus/caudal part - Peristriate Cortex - V2\t\t3560\t45381187.0\t17654\t45224.39627648392\t0.9537145582307842\t0.8516769565904151\t0.8558226304003664\n", "agg_1137\tCGE interneuron\tCerebral cortex_Cuneus/rostral part - Area Prostriata - Pro\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tCuneus/rostral part - Area Prostriata - Pro\t\t2859\t35796270.0\t17617\t46132.638278870865\t0.953210222113289\t0.8503846763672066\t0.8517721300452203\n", "agg_1138\tCGE interneuron\tCerebral cortex_Dorsalateral prefrontal cortex\tCNS\thealthy\thttp://psychencode.org\tbrain_atlas\tCerebral cortex\tDorsalateral prefrontal cortex\t\t1423\t4616796.0\t15660\t48569.99403936421\t0.9117588212407522\t0.7869315086586617\t0.8134432687774173\n", "agg_1140\tCGE interneuron\tCerebral cortex_Dorsolateral prefrontal cortex\tCNS\thealthy\tGSE129308\tbrain_atlas\tCerebral cortex\tDorsolateral prefrontal cortex\t\t3811\t7049199.0\t15518\t45472.90946388328\t0.9123433698437873\t0.8126679354513144\t0.8000875424359442\n", "agg_1141\tCGE interneuron\tCerebral cortex_Dorsolateral prefrontal cortex\tCNS\thealthy\tSCR_002001\tbrain_atlas\tCerebral cortex\tDorsolateral prefrontal cortex\t\t10725\t68649325.0\t14884\t41705.65745832643\t0.8781713598569268\t0.8191804553888763\t0.799212985469408\n", "agg_1142\tCGE interneuron\tCerebral cortex_Dorsolateral prefrontal cortex\tCNS\thealthy\tjhpce#tran2021\tbrain_atlas\tCerebral cortex\tDorsolateral prefrontal cortex\t\t567\t12085629.0\t16977\t43519.60306913432\t0.9478968648853212\t0.8553751683830699\t0.8666560185155503\n", "agg_1145\tCGE interneuron\tCerebral cortex_Entorhinal cortex\tCNS\thealthy\tGSE160936\tbrain_atlas\tCerebral cortex\tEntorhinal cortex\t\t1047\t4387962.0\t15399\t40719.46283580456\t0.9286596800224921\t0.8366923122084351\t0.8507547006018672\n", "agg_1147\tCGE interneuron\tCerebral cortex_Frontal Cortex\tCNS\thealthy\tGSE163122\tbrain_atlas\tCerebral cortex\tFrontal Cortex\t\t19\t54018.0\t8344\t33326.7485689139\t0.7992434996890754\t0.7329329945323536\t0.7380634826096151\n", "agg_1148\tCGE interneuron\tCerebral cortex_Frontal agranular insular cortex - FI\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tFrontal agranular insular cortex - FI\t\t4681\t86805040.0\t17857\t44416.26306035089\t0.9557815899225688\t0.8595831773838496\t0.8640557588613347\n", "agg_1149\tCGE interneuron\tCerebral cortex_Gyrus rectus (ReG) - Medial orbitofrontal cortex - A14\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tGyrus rectus (ReG) - Medial orbitofrontal cortex - A14\t\t1279\t31692146.0\t17425\t45084.21292275218\t0.9550103469929688\t0.8561271654196\t0.8603893866482042\n", "agg_1150\tCGE interneuron\tCerebral cortex_Inferior frontal gyrus (IFG) - Ventrolateral prefrontal cortex - A44-A45\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tInferior frontal gyrus (IFG) - Ventrolateral prefrontal cortex - A44-A45\t\t5033\t69465714.0\t17848\t45994.239910992255\t0.9554778167568956\t0.8536153597606401\t0.8555734610691637\n", "agg_1151\tCGE interneuron\tCerebral cortex_Inferior temporal gyrus - ITG\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tInferior temporal gyrus - ITG\t\t5284\t72800988.0\t17847\t45716.37075056562\t0.9536311565746031\t0.8544356903796938\t0.8540222039431139\n", "agg_1152\tCGE interneuron\tCerebral cortex_Lingual gyrus (LiG) - Primary Visual Cortex - V1C\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tLingual gyrus (LiG) - Primary Visual Cortex - V1C\t\t2183\t22471869.0\t17322\t45577.36171821733\t0.9524809146890161\t0.8516653474121149\t0.8531071638907382\n", "agg_1153\tCGE interneuron\tCerebral cortex_Long insular gyri (LIG) - Dysgranular insular cortex - Idg\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tLong insular gyri (LIG) - Dysgranular insular cortex - Idg\t\t5126\t82685320.0\t17916\t46218.94033766634\t0.9542202102627187\t0.8510695199936927\t0.8546741809365636\n", "agg_1154\tCGE interneuron\tCerebral cortex_Middle Temporal Gyrus - MTG\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tMiddle Temporal Gyrus - MTG\t\t11311\t151558742.0\t18010\t45732.36858827974\t0.952730565143899\t0.8519098774464178\t0.8534353362507285\n", "agg_1155\tCGE interneuron\tCerebral cortex_Middle frontal gyrus (MFG) - A46\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tMiddle frontal gyrus (MFG) - A46\t\t3951\t46477496.0\t17662\t45688.617980936666\t0.953364062745528\t0.851636584925773\t0.8545891176316116\n", "agg_1157\tCGE interneuron\tCerebral cortex_Occipital Cortex\tCNS\thealthy\tGSE163122\tbrain_atlas\tCerebral cortex\tOccipital Cortex\t\t171\t212716.0\t12145\t40982.11625428927\t0.8832717415790446\t0.7948885354834843\t0.8225702992204573\n", "agg_1158\tCGE interneuron\tCerebral cortex_Occipitotemporal (fusiform) gyrus/temporal part (FuGt) - Temporal area TF\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tOccipitotemporal (fusiform) gyrus/temporal part (FuGt) - Temporal area TF\t\t3975\t43199557.0\t17636\t45507.23819226017\t0.9532879143459528\t0.8533294099175049\t0.8554793688418564\n", "agg_1159\tCGE interneuron\tCerebral cortex_Parietal lobe\tCNS\thealthy\tPRJNA544731\tbrain_atlas\tCerebral cortex\tParietal lobe\t\t325\t1291000.0\t13938\t39998.241565767414\t0.904521582278289\t0.8193605423836186\t0.8176628902062328\n", "agg_1161\tCGE interneuron\tCerebral cortex_Parietal operculum (PaO) - Gustatory cortex - A43\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tParietal operculum (PaO) - Gustatory cortex - A43\t\t5024\t78701516.0\t17892\t46142.555314647965\t0.9539450591818139\t0.8525012196667436\t0.855167790430822\n", "agg_1162\tCGE interneuron\tCerebral cortex_Perirhinal gyrus (PRG) - A35-A36\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tPerirhinal gyrus (PRG) - A35-A36\t\t3012\t51432821.0\t17692\t45131.31805705638\t0.9560632331488161\t0.8555943455175027\t0.8614218812447207\n", "agg_1163\tCGE interneuron\tCerebral cortex_Perirhinal gyrus (PRG) -  A35-A36\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tPerirhinal gyrus (PRG) -  A35-A36\t\t144\t3077583.0\t15860\t45585.48590990845\t0.94770755111472\t0.8524365900027768\t0.8516278734318256\n", "agg_1164\tCGE interneuron\tCerebral cortex_Piriform cortex - Pir\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tPiriform cortex - Pir\t\t5304\t73012905.0\t17813\t44873.944335107975\t0.9556997945549233\t0.8548111905904039\t0.860258266899383\n", "agg_1165\tCGE interneuron\tCerebral cortex_Post-mortem dosolateral BA9\tCNS\thealthy\tGSE144136\tbrain_atlas\tCerebral cortex\tPost-mortem dosolateral BA9\t\t2570\t5965814.0\t16155\t47522.884224494985\t0.9068086039182727\t0.7989989458092506\t0.7934264404955423\n", "agg_1167\tCGE interneuron\tCerebral cortex_Postcentral gyrus (PoCG) - Primary somatosensory cortex - S1C\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tPostcentral gyrus (PoCG) - Primary somatosensory cortex - S1C\t\t4884\t62996504.0\t17825\t46019.31193181314\t0.9532354131992904\t0.8507754809917075\t0.8524770203011584\n", "agg_1168\tCGE interneuron\tCerebral cortex_Posterior intermediate orbital gyrus (POrG) - Caudal division of OFCi - A13\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tPosterior intermediate orbital gyrus (POrG) - Caudal division of OFCi - A13\t\t4262\t52913409.0\t17753\t45998.20253059246\t0.953615905848413\t0.8538107256636154\t0.8558539119476164\n", "agg_1169\tCGE interneuron\tCerebral cortex_Posterior parahippocampal gyrus (PPH) - TH-TL\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tPosterior parahippocampal gyrus (PPH) - TH-TL\t\t4825\t76436336.0\t17892\t46061.05240538032\t0.9535840982569064\t0.8528944265631686\t0.8547035396100106\n", "agg_1170\tCGE interneuron\tCerebral cortex_Precentral gyrus (PrCG) - Primary motor cortex - M1C\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tPrecentral gyrus (PrCG) - Primary motor cortex - M1C\t\t12727\t146884792.0\t17963\t44470.47415111472\t0.9547226046429305\t0.8572875463413503\t0.8600483658810508\n", "agg_1176\tCGE interneuron\tCerebral cortex_Prefrontal cortex\tCNS\thealthy\tGSE157827\tbrain_atlas\tCerebral cortex\tPrefrontal cortex\t\t5008\t19848445.0\t17304\t45159.62227579555\t0.9393600054559287\t0.8396432923534439\t0.8450459166741539\n", "agg_1177\tCGE interneuron\tCerebral cortex_Prefrontal cortex\tCNS\thealthy\tGSE167494\tbrain_atlas\tCerebral cortex\tPrefrontal cortex\t\t1794\t13211024.0\t17409\t45724.65583715663\t0.9469091235910225\t0.8594468461006485\t0.8649022466659783\n", "agg_1178\tCGE interneuron\tCerebral cortex_Prefrontal cortex\tCNS\thealthy\tPRJNA434002\tbrain_atlas\tCerebral cortex\tPrefrontal cortex\t\t1665\t9481795.0\t16016\t45621.72012996503\t0.8979547648941134\t0.8073909907070784\t0.7965111186378239\n", "agg_1179\tCGE interneuron\tCerebral cortex_Prefrontal cortex\tCNS\thealthy\tPRJNA544731\tbrain_atlas\tCerebral cortex\tPrefrontal cortex\t\t826\t3367041.0\t15274\t43661.14958487554\t0.9051999043253188\t0.8133421639122885\t0.8088287084809244\n", "agg_1181\tCGE interneuron\tCerebral cortex_Premotor cortex\tCNS\thealthy\tPRJNA544731\tbrain_atlas\tCerebral cortex\tPremotor cortex\t\t350\t1081458.0\t13948\t41367.59429187521\t0.9021448372916091\t0.8212426090282491\t0.8128519813702438\n", "agg_1183\tCGE interneuron\tCerebral cortex_Rostral gyrus (RoG) - Dorsal division of MFC - A32\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tRostral gyrus (RoG) - Dorsal division of MFC - A32\t\t5300\t48080151.0\t17740\t45940.14992316566\t0.9534549960902643\t0.8524659349518056\t0.853964641983153\n", "agg_1184\tCGE interneuron\tCerebral cortex_Short insular gyri - Granular insular cortex - Ig\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tShort insular gyri - Granular insular cortex - Ig\t\t3872\t54863803.0\t17796\t46214.28719021868\t0.9535166883859459\t0.8496326796851502\t0.85317863812959\n", "agg_1186\tCGE interneuron\tCerebral cortex_Somatosensory cortex\tCNS\thealthy\tGSE160936\tbrain_atlas\tCerebral cortex\tSomatosensory cortex\t\t582\t2485492.0\t15425\t42287.690403027314\t0.9287968390307827\t0.832253735985677\t0.8485581697182518\n", "agg_1187\tCGE interneuron\tCerebral cortex_Subcallosal Gyrus (SCG) - Subgenual (subcallosal) division of MFC - A25\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tSubcallosal Gyrus (SCG) - Subgenual (subcallosal) division of MFC - A25\t\t4614\t63037552.0\t17855\t45818.45271602795\t0.9540811285074197\t0.8550988434064752\t0.8573155675073667\n", "agg_1188\tCGE interneuron\tCerebral cortex_Subgenual anterior cingulate cortex\tCNS\thealthy\tjhpce#tran2021\tbrain_atlas\tCerebral cortex\tSubgenual anterior cingulate cortex\t\t2103\t51030690.0\t17508\t42976.54360402118\t0.9443716615080814\t0.8547308776338655\t0.8686303762745468\n", "agg_1189\tCGE interneuron\tCerebral cortex_Superior Temporal Gyrus - STG\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tSuperior Temporal Gyrus - STG\t\t3973\t39680274.0\t17664\t46796.560637020826\t0.9516814599996662\t0.846081904137383\t0.8486666567787549\n", "agg_1191\tCGE interneuron\tCerebral cortex_Superior occipital gyrus (SOG) - Areas 19 and MT - A19\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tSuperior occipital gyrus (SOG) - Areas 19 and MT - A19\t\t3558\t49128087.0\t17635\t44582.24762740059\t0.9546774331036844\t0.8554153722545857\t0.8592675654958597\n", "agg_1192\tCGE interneuron\tCerebral cortex_Supramarginal gyrus (SMG) - A40\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tSupramarginal gyrus (SMG) - A40\t\t5683\t70588900.0\t17849\t45684.68704753316\t0.9525630511152248\t0.8524892474699114\t0.856410536999382\n", "agg_1193\tCGE interneuron\tCerebral cortex_Supraparietal lobule (SPL) - Posterosuperior (dorsal) parietal cortex - A5-A7\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tSupraparietal lobule (SPL) - Posterosuperior (dorsal) parietal cortex - A5-A7\t\t4244\t59929163.0\t17802\t45565.49384897568\t0.9535026029597516\t0.8517910261710867\t0.855050582794054\n", "agg_1195\tCGE interneuron\tCerebral cortex_Temporal Cortex\tCNS\thealthy\tGSE163122\tbrain_atlas\tCerebral cortex\tTemporal Cortex\t\t15\t64527.0\t8940\t35023.97356147146\t0.8093981501317319\t0.7433994035544298\t0.7365259401750139\n", "agg_1197\tCGE interneuron\tCerebral cortex_Temporal pole (TP) - Temporopolar area - A38\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tTemporal pole (TP) - Temporopolar area - A38\t\t5613\t90000762.0\t17933\t45760.61062590786\t0.955041605196879\t0.8539103329628183\t0.8586211004297455\n", "agg_1198\tCGE interneuron\tCerebral cortex_Transverse temporal gyrus (TTG) - Primary auditory cortex - A1C\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tTransverse temporal gyrus (TTG) - Primary auditory cortex - A1C\t\t3730\t48356883.0\t17721\t45865.96252709382\t0.952933906327049\t0.850614355382243\t0.8530717089075621\n", "agg_1199\tCGE interneuron\tCerebral cortex_Unclassified\tCNS\thealthy\tGSE140231\tbrain_atlas\tCerebral cortex\tUnclassified\t\t1284\t5120738.0\t15935\t46875.188661093554\t0.8985067250057941\t0.7975575635821707\t0.787124459767903\n", "agg_1201\tCGE interneuron\tCerebral cortex_nan\tCNS\thealthy\tGSE160936\tbrain_atlas\tCerebral cortex\tnan\t\t323\t1134778.0\t14542\t42514.804335946086\t0.9226715988771624\t0.8225061115769186\t0.8428913356673597\n", "agg_1203\tCGE interneuron\tCerebral cortex_occipital cortex\tCNS\thealthy\tGSE148822\tbrain_atlas\tCerebral cortex\toccipital cortex\t\t1450\t2365826.0\t15947\t44174.234808531546\t0.9329289198690828\t0.842346530000887\t0.8588884951633767\n", "agg_1205\tCGE interneuron\tCerebral cortex_occipitotemporal cortex\tCNS\thealthy\tGSE148822\tbrain_atlas\tCerebral cortex\toccipitotemporal cortex\t\t221\t534585.0\t13874\t42991.07634366376\t0.9140926425122817\t0.8296886259606971\t0.8383202288704407\n", "agg_1206\tCGE interneuron\tEpithalamus_ETH\tCNS\thealthy\tSCR_016152\tbrain_atlas\tEpithalamus\tETH\t\t57\t462804.0\t13029\t42272.40776782958\t0.9162630591666623\t0.8259699566888652\t0.8256469609995585\n", "agg_1207\tCGE interneuron\tGrey matter_Cla\tCNS\thealthy\tSCR_016152\tbrain_atlas\tGrey matter\tCla\t\t4536\t60807216.0\t17792\t45427.60235087236\t0.9543023070218183\t0.8555569763795798\t0.8561216537911441\n", "agg_1210\tCGE interneuron\tGrey matter_Motor cortex\tCNS\thealthy\tGSE174332\tbrain_atlas\tGrey matter\tMotor cortex\t\t2248\t20697132.0\t17490\t45333.17698450644\t0.9493084819108504\t0.8622889159965869\t0.8654712716809753\n", "agg_1216\tCGE interneuron\tHippocampus_CA1\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHippocampus\tCA1\t\t1056\t24257946.0\t17319\t44618.662958680216\t0.9555082946462914\t0.8576587816177856\t0.8652458087825374\n", "agg_1217\tCGE interneuron\tHippocampus_CA1-3\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHippocampus\tCA1-3\t\t1399\t30321942.0\t17654\t45952.11000641589\t0.9567527824344031\t0.8585671841053573\t0.8649575860777023\n", "agg_1218\tCGE interneuron\tHippocampus_CA2-3\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHippocampus\tCA2-3\t\t715\t12822333.0\t17047\t45206.041748648764\t0.9548881672748422\t0.8555328863891355\t0.8598074855657095\n", "agg_1219\tCGE interneuron\tHippocampus_Caudal Hippocampus - CA1-CA3\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHippocampus\tCaudal Hippocampus - CA1-CA3\t\t4778\t67753760.0\t17845\t45882.31531766433\t0.955659926282955\t0.8570173925421611\t0.8592597569055781\n", "agg_1220\tCGE interneuron\tHippocampus_Caudal Hippocampus - CA4-DGC\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHippocampus\tCaudal Hippocampus - CA4-DGC\t\t3850\t43983979.0\t17665\t44794.33524642079\t0.9556424956632221\t0.8578986973545148\t0.862918582121493\n", "agg_1221\tCGE interneuron\tHippocampus_DG-CA4\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHippocampus\tDG-CA4\t\t402\t8642108.0\t16547\t43857.65063083102\t0.9546136843144307\t0.8563669085138821\t0.8665502487018528\n", "agg_1222\tCGE interneuron\tHippocampus_Hippocampus\tCNS\thealthy\tjhpce#tran2021\tbrain_atlas\tHippocampus\tHippocampus\t\t198\t5257259.0\t16302\t43694.06764200175\t0.9439521677670791\t0.8483678523458008\t0.8615763326636526\n", "agg_1228\tCGE interneuron\tHippocampus_Rostral CA1-2\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHippocampus\tRostral CA1-2\t\t1446\t42457430.0\t17602\t44976.25496962376\t0.956097749881942\t0.8592218643503801\t0.8613344630958334\n", "agg_1229\tCGE interneuron\tHippocampus_Rostral CA1-CA3\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHippocampus\tRostral CA1-CA3\t\t2477\t34783394.0\t17644\t45816.66612130956\t0.9537393499883875\t0.8529414960671245\t0.8563138700079675\n", "agg_1230\tCGE interneuron\tHippocampus_Rostral CA3\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHippocampus\tRostral CA3\t\t1115\t31640031.0\t17496\t43581.95994388098\t0.9576084197006921\t0.8638239733498098\t0.8756803089236452\n", "agg_1231\tCGE interneuron\tHippocampus_Rostral DG-CA4\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHippocampus\tRostral DG-CA4\t\t1250\t19699269.0\t17238\t44342.12441936283\t0.9550084099177176\t0.8575808754008807\t0.8668830226576822\n", "agg_1232\tCGE interneuron\tHippocampus_Subicular cortex - Sub\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHippocampus\tSubicular cortex - Sub\t\t3585\t27126836.0\t17514\t45615.54245224047\t0.9544276922096665\t0.8541096440988695\t0.8547769440559505\n", "agg_1233\tCGE interneuron\tHippocampus_Uncal CA1-CA3\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHippocampus\tUncal CA1-CA3\t\t4243\t24611820.0\t17555\t46345.80013735496\t0.947789066922996\t0.8475197737330911\t0.8457748240749084\n", "agg_1234\tCGE interneuron\tHippocampus_Uncal DG-CA4\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHippocampus\tUncal DG-CA4\t\t1003\t7418678.0\t16817\t46113.96045898331\t0.9466531252449502\t0.8489206492374427\t0.848386075106613\n", "agg_1235\tCGE interneuron\tHypothalamus_mammillary region of HTH (HTHma)\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHypothalamus\tmammillary region of HTH (HTHma)\t\t19\t169012.0\t11320\t40121.797006176486\t0.8856662995090161\t0.8037367990593358\t0.802838778687612\n", "agg_1236\tCGE interneuron\tHypothalamus_mammillary region of HTH (HTHma) - mammillary nucleus - MN\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHypothalamus\tmammillary region of HTH (HTHma) - mammillary nucleus - MN\t\t25\t779705.0\t13829\t40785.11147595983\t0.9232268717942013\t0.8409818874565197\t0.8450233312927798\n", "agg_1237\tCGE interneuron\tHypothalamus_mammillary region of HTH (HTHma) - tuberal region of HTH - HTHtub\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHypothalamus\tmammillary region of HTH (HTHma) - tuberal region of HTH - HTHtub\t\t48\t380963.0\t13326\t43897.297697504284\t0.9182130253389306\t0.82540737747863\t0.8295891460044542\n", "agg_1238\tCGE interneuron\tHypothalamus_preoptic region of HTH - HTHpo\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHypothalamus\tpreoptic region of HTH - HTHpo\t\t161\t2149160.0\t14796\t42700.563378464205\t0.9453035875743634\t0.8536411059732548\t0.8555891746642673\n", "agg_1239\tCGE interneuron\tHypothalamus_preoptic region of HTH - HTHpo (medial preoptic nucleus/MPN) - supraoptic region of HTH - HTHso (paraventricular nucleus/PV)\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHypothalamus\tpreoptic region of HTH - HTHpo (medial preoptic nucleus/MPN) - supraoptic region of HTH - HTHso (paraventricular nucleus/PV)\t\t174\t1690731.0\t14915\t44460.50946676239\t0.9435625577642032\t0.840635467118368\t0.8449369718665004\n", "agg_1240\tCGE interneuron\tHypothalamus_supraoptic region of HTH - HTHso\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHypothalamus\tsupraoptic region of HTH - HTHso\t\t1423\t31295463.0\t17220\t42601.00029777002\t0.9509127659692103\t0.8596009580473339\t0.8682058813568818\n", "agg_1241\tCGE interneuron\tHypothalamus_supraoptic region of HTH - HTHso (anterior hypothalamic nucleus/AHN) - tuberal region of HTH - HTHtub (ventromedial and dorsomedial hypothalamic nucleic nuclei/VMH/DMH)\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHypothalamus\tsupraoptic region of HTH - HTHso (anterior hypothalamic nucleus/AHN) - tuberal region of HTH - HTHtub (ventromedial and dorsomedial hypothalamic nucleic nuclei/VMH/DMH)\t\t35\t78228.0\t10009\t38635.09504756012\t0.8334301185707277\t0.7367611888109045\t0.7452785744752756\n", "agg_1242\tCGE interneuron\tHypothalamus_supraoptic region of HTH - HTHso (anterior hypothalamic nucleus/AHN) - tuberal region of HTH - HTHtub (ventromedial hypothalamic nucleus/VMH)\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHypothalamus\tsupraoptic region of HTH - HTHso (anterior hypothalamic nucleus/AHN) - tuberal region of HTH - HTHtub (ventromedial hypothalamic nucleus/VMH)\t\t70\t1101865.0\t14717\t45919.72980885698\t0.9365659112653159\t0.8300524413766043\t0.8401280236667859\n", "agg_1243\tCGE interneuron\tHypothalamus_tuberal region of hypothalamus - HTHtub\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHypothalamus\ttuberal region of hypothalamus - HTHtub\t\t256\t4585880.0\t15703\t42174.16231383817\t0.9483005087846198\t0.8557045973739881\t0.8668683077339957\n", "agg_1244\tCGE interneuron\tMidbrain_Inferior colliculus and nearby nuclei - IC\tCNS\thealthy\tSCR_016152\tbrain_atlas\tMidbrain\tInferior colliculus and nearby nuclei - IC\t\t13\t164176.0\t11372\t40071.06497873283\t0.8783321251348539\t0.7942595405346409\t0.804390317549318\n", "agg_1245\tCGE interneuron\tMidbrain_Periaqueductal gray and Dorsal raphe nucleus - PAG-DR\tCNS\thealthy\tSCR_016152\tbrain_atlas\tMidbrain\tPeriaqueductal gray and Dorsal raphe nucleus - PAG-DR\t\t78\t428240.0\t13448\t43645.67688472008\t0.9206388104215625\t0.8297756019894639\t0.8304806953604367\n", "agg_1246\tCGE interneuron\tMidbrain_Pretectal region - PTR\tCNS\thealthy\tSCR_016152\tbrain_atlas\tMidbrain\tPretectal region - PTR\t\t48\t586996.0\t13256\t41778.929031273845\t0.9246356299843965\t0.8400121394611224\t0.8391326953328622\n", "agg_1247\tCGE interneuron\tMidbrain_Substantia Nigra - SN\tCNS\thealthy\tSCR_016152\tbrain_atlas\tMidbrain\tSubstantia Nigra - SN\t\t186\t1644370.0\t15226\t44739.80581505666\t0.9422287767005032\t0.8413773929990623\t0.850756673157757\n", "agg_1248\tCGE interneuron\tMidbrain_Superior colliculus and nearby nuclei - SC\tCNS\thealthy\tSCR_016152\tbrain_atlas\tMidbrain\tSuperior colliculus and nearby nuclei - SC\t\t350\t2935116.0\t15645\t44486.84828813827\t0.948365632376795\t0.8491916359469455\t0.8522610942498586\n", "agg_1249\tCGE interneuron\tThalamus_Anterior nuclear complex - ANC\tCNS\thealthy\tSCR_016152\tbrain_atlas\tThalamus\tAnterior nuclear complex - ANC\t\t415\t4628862.0\t15887\t43221.11709124231\t0.9515883777834919\t0.8559015219484319\t0.8618820915379024\n", "agg_1250\tCGE interneuron\tThalamus_Lateral nuclear complex (LNC) - ventral anterior nucleus of thalamus - VA\tCNS\thealthy\tSCR_016152\tbrain_atlas\tThalamus\tLateral nuclear complex (LNC) - ventral anterior nucleus of thalamus - VA\t\t148\t2591291.0\t15227\t43776.5705289588\t0.9479673500619797\t0.8515409693913362\t0.8579637148668879\n", "agg_1251\tCGE interneuron\tThalamus_Lateral nuclear complex of thalamus (LNC) - ventral group of lateral nucleus - VLN\tCNS\thealthy\tSCR_016152\tbrain_atlas\tThalamus\tLateral nuclear complex of thalamus (LNC) - ventral group of lateral nucleus - VLN\t\t20\t465529.0\t12608\t40458.640982486155\t0.9204919458250058\t0.833472525331988\t0.8363484000790021\n", "agg_1252\tCGE interneuron\tThalamus_Subthalamic nucleus and nearby - STH\tCNS\thealthy\tSCR_016152\tbrain_atlas\tThalamus\tSubthalamic nucleus and nearby - STH\t\t12\t48930.0\t8273\t33601.57506628955\t0.7916353056350358\t0.717005097973611\t0.7161454527217833\n", "agg_1253\tCGE interneuron\tThalamus_Ventral group of lateral nucleus (VLN) - ventral anterior nucleus of thalamus - VA - ventral lateral nucleus of thalamus - VL\tCNS\thealthy\tSCR_016152\tbrain_atlas\tThalamus\tVentral group of lateral nucleus (VLN) - ventral anterior nucleus of thalamus - VA - ventral lateral nucleus of thalamus - VL\t\t80\t405359.0\t13163\t42754.84355247164\t0.9134407943724896\t0.816077952619879\t0.8215123320289275\n", "agg_1254\tCGE interneuron\tThalamus_intralaminar nuclear complex (ILN) - posterior group of intralaminar nuclei (PILN) - centromedian and parafasicular nuclei - CM and Pf\tCNS\thealthy\tSCR_016152\tbrain_atlas\tThalamus\tintralaminar nuclear complex (ILN) - posterior group of intralaminar nuclei (PILN) - centromedian and parafasicular nuclei - CM and Pf\t\t33\t533473.0\t13189\t40753.83942051242\t0.9240632401164864\t0.8358777478158795\t0.8407518009319821\n", "agg_1255\tCGE interneuron\tThalamus_lateral nuclear complex of thalamus (LNC) - Pulvinar of thalamus - Pul\tCNS\thealthy\tSCR_016152\tbrain_atlas\tThalamus\tlateral nuclear complex of thalamus (LNC) - Pulvinar of thalamus - Pul\t\t684\t3973754.0\t15983\t43590.08238875969\t0.9445663086463763\t0.8503303286245829\t0.8516656964747131\n", "agg_1256\tCGE interneuron\tThalamus_lateral nuclear complex of thalamus (LNC) - lateral posterior nucleus of thalamus - LP\tCNS\thealthy\tSCR_016152\tbrain_atlas\tThalamus\tlateral nuclear complex of thalamus (LNC) - lateral posterior nucleus of thalamus - LP\t\t226\t1410013.0\t14621\t42843.472174328854\t0.9371470188185859\t0.8481872653519125\t0.8463956972968795\n", "agg_1257\tCGE interneuron\tThalamus_lateral nuclear complex of thalamus (LNC) - ventral posterior lateral nucleus - VPL\tCNS\thealthy\tSCR_016152\tbrain_atlas\tThalamus\tlateral nuclear complex of thalamus (LNC) - ventral posterior lateral nucleus - VPL\t\t61\t553114.0\t13801\t43686.118597136345\t0.916540300502315\t0.8204999882838292\t0.8167449767586076\n", "agg_1258\tCGE interneuron\tThalamus_medial nuclear complex of thalamus (MNC) - mediodorsal nucleus of thalamus + reuniens nucleus (medioventral nucleus) of thalamus - MD + Re\tCNS\thealthy\tSCR_016152\tbrain_atlas\tThalamus\tmedial nuclear complex of thalamus (MNC) - mediodorsal nucleus of thalamus + reuniens nucleus (medioventral nucleus) of thalamus - MD + Re\t\t14\t254289.0\t11620\t39589.30912901781\t0.893805244087664\t0.7964987890849986\t0.7999827705781003\n", "agg_1259\tCGE interneuron\tThalamus_medial nuclear complex of thalamus (MNC) - mediodorsal nucleus of thalamus - MD\tCNS\thealthy\tSCR_016152\tbrain_atlas\tThalamus\tmedial nuclear complex of thalamus (MNC) - mediodorsal nucleus of thalamus - MD\t\t68\t891523.0\t14285\t44531.72968036648\t0.9341282492048123\t0.8347986333134049\t0.8409491999172779\n", "agg_1260\tCGE interneuron\tThalamus_posterior nuclear complex of thalamus (PoN) - lateral geniculate nucleus (LG)\tCNS\thealthy\tSCR_016152\tbrain_atlas\tThalamus\tposterior nuclear complex of thalamus (PoN) - lateral geniculate nucleus (LG)\t\t1116\t8879856.0\t16606\t43993.94471049856\t0.9451924316131305\t0.8514029501274426\t0.8461715340569704\n", "agg_1261\tCGE interneuron\tThalamus_posterior nuclear complex of thalamus (PoN) - medial geniculate nuclei (MG)\tCNS\thealthy\tSCR_016152\tbrain_atlas\tThalamus\tposterior nuclear complex of thalamus (PoN) - medial geniculate nuclei (MG)\t\t355\t2234733.0\t15185\t43529.744792294245\t0.9363821168798473\t0.8477657453423078\t0.8410011875784053\n", "agg_1262\tCGE interneuron\tWhite matter_Unclassifed\tCNS\thealthy\tGSE118257\tbrain_atlas\tWhite matter\tUnclassifed\t\t48\t102149.0\t9997\t38110.36556036987\t0.8459352980352427\t0.7713240018194049\t0.7659342353072323\n", "agg_1836\tEccentric medium spiny neuron\tAmygdala_Amygdala\tCNS\thealthy\tjhpce#tran2021\tbrain_atlas\tAmygdala\tAmygdala\t\t253\t3498891.0\t15519\t40448.34183203413\t0.9349916890507771\t0.8498156882148697\t0.8717524868530316\n", "agg_1837\tEccentric medium spiny neuron\tAmygdala_Basolateral nuclear group (BLN) - lateral nucleus - La\tCNS\thealthy\tSCR_016152\tbrain_atlas\tAmygdala\tBasolateral nuclear group (BLN) - lateral nucleus - La\t\t2614\t37373934.0\t17392\t41638.12221921355\t0.946974437450923\t0.847991661796929\t0.8728311397041211\n", "agg_1838\tEccentric medium spiny neuron\tAmygdala_Bed nucleus of stria terminalis and nearby - BNST\tCNS\thealthy\tSCR_016152\tbrain_atlas\tAmygdala\tBed nucleus of stria terminalis and nearby - BNST\t\t4070\t61034153.0\t17725\t43366.55866013142\t0.9449832628069204\t0.8477951141899623\t0.8647579750069853\n", "agg_1839\tEccentric medium spiny neuron\tAmygdala_Central nuclear group - CEN\tCNS\thealthy\tSCR_016152\tbrain_atlas\tAmygdala\tCentral nuclear group - CEN\t\t3691\t76250911.0\t17745\t42044.66933888139\t0.9514448017876914\t0.8543214296020579\t0.876937120815823\n", "agg_1840\tEccentric medium spiny neuron\tAmygdala_Corticomedial nuclear group (CMN) - anterior cortical nucleus - CoA\tCNS\thealthy\tSCR_016152\tbrain_atlas\tAmygdala\tCorticomedial nuclear group (CMN) - anterior cortical nucleus - CoA\t\t312\t9332001.0\t16304\t41613.063910534125\t0.9461576605204305\t0.8537505332441399\t0.8718902967128986\n", "agg_1841\tEccentric medium spiny neuron\tAmygdala_basolateral nuclear group (BLN) - basolateral nucleus (basal nucleus) - BL\tCNS\thealthy\tSCR_016152\tbrain_atlas\tAmygdala\tbasolateral nuclear group (BLN) - basolateral nucleus (basal nucleus) - BL\t\t991\t14693462.0\t17096\t43349.253663206655\t0.9466071511985032\t0.8409559911723744\t0.8654262663177494\n", "agg_1842\tEccentric medium spiny neuron\tAmygdala_basolateral nuclear group (BLN) - basomedial nucleus (accessory basal nucleus) - BM\tCNS\thealthy\tSCR_016152\tbrain_atlas\tAmygdala\tbasolateral nuclear group (BLN) - basomedial nucleus (accessory basal nucleus) - BM\t\t2136\t34214943.0\t17486\t43531.78569767113\t0.9456787682949195\t0.8401723315976578\t0.8651359242111114\n", "agg_1843\tEccentric medium spiny neuron\tAmygdala_corticomedial nuclear group - CMN\tCNS\thealthy\tSCR_016152\tbrain_atlas\tAmygdala\tcorticomedial nuclear group - CMN\t\t3958\t48755555.0\t17694\t43174.876652443105\t0.9506933018097268\t0.8516551225422615\t0.8731869512180219\n", "agg_1844\tEccentric medium spiny neuron\tBasal ganglia_Body of the Caudate - CaB\tCNS\thealthy\tSCR_016152\tbrain_atlas\tBasal ganglia\tBody of the Caudate - CaB\t\t1551\t39202986.0\t17424\t41457.74016252917\t0.9259798424126457\t0.8260169421932617\t0.8447155432709379\n", "agg_1845\tEccentric medium spiny neuron\tBasal ganglia_Globus pallidus (GP) - External segment of globus pallidus - GPe\tCNS\thealthy\tSCR_016152\tbrain_atlas\tBasal ganglia\tGlobus pallidus (GP) - External segment of globus pallidus - GPe\t\t1290\t35374546.0\t17372\t41841.67685398771\t0.9374765396080563\t0.8387183698860925\t0.8588994519905235\n", "agg_1846\tEccentric medium spiny neuron\tBasal ganglia_Nucleus Accumbens - NAC\tCNS\thealthy\tSCR_016152\tbrain_atlas\tBasal ganglia\tNucleus Accumbens - NAC\t\t2459\t55330510.0\t17609\t42872.9089593033\t0.9373280224975074\t0.8361335100131294\t0.855366592773061\n", "agg_1847\tEccentric medium spiny neuron\tBasal ganglia_Nucleus accumbens\tCNS\thealthy\tjhpce#tran2021\tbrain_atlas\tBasal ganglia\tNucleus accumbens\t\t937\t19344324.0\t16952\t41691.59203456692\t0.9292516932598761\t0.8324143458310376\t0.8583836544325235\n", "agg_1848\tEccentric medium spiny neuron\tBasal ganglia_Putamen - Pu\tCNS\thealthy\tSCR_016152\tbrain_atlas\tBasal ganglia\tPutamen - Pu\t\t1532\t39824493.0\t17432\t41522.77853413851\t0.9321374825366149\t0.8343397129615645\t0.8558908523690969\n", "agg_1849\tEccentric medium spiny neuron\tBasal ganglia_septal nuclei - SEP\tCNS\thealthy\tSCR_016152\tbrain_atlas\tBasal ganglia\tseptal nuclei - SEP\t\t650\t9239985.0\t16787\t43539.592830885056\t0.9348948990808218\t0.8383143024241715\t0.8500947548924618\n", "agg_1850\tEccentric medium spiny neuron\tBasal ganglia_substantia innominata and nearby nuclei - SI\tCNS\thealthy\tSCR_016152\tbrain_atlas\tBasal ganglia\tsubstantia innominata and nearby nuclei - SI\t\t5395\t95304701.0\t17845\t42671.29521993991\t0.9418578412657839\t0.8418476785493142\t0.8629907394936818\n", "agg_1851\tEccentric medium spiny neuron\tCerebral cortex_Anterior Olfactory Nucleus - AON\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tAnterior Olfactory Nucleus - AON\t\t1904\t20326709.0\t17272\t44304.954065111655\t0.9364907667665184\t0.8333917083634919\t0.8547522246345102\n", "agg_1852\tEccentric medium spiny neuron\tCerebral cortex_Dorsolateral prefrontal cortex\tCNS\thealthy\tjhpce#tran2021\tbrain_atlas\tCerebral cortex\tDorsolateral prefrontal cortex\t\t91\t3594350.0\t15539\t41081.34436554239\t0.935941817114317\t0.8406435959927373\t0.8686615915475352\n", "agg_1853\tEccentric medium spiny neuron\tCerebral cortex_Frontal agranular insular cortex - FI\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tFrontal agranular insular cortex - FI\t\t63\t2075917.0\t14566\t40645.474011381564\t0.9323820955609043\t0.833562300525369\t0.8579783672917262\n", "agg_1854\tEccentric medium spiny neuron\tCerebral cortex_Long insular gyri (LIG) - Dysgranular insular cortex - Idg\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tLong insular gyri (LIG) - Dysgranular insular cortex - Idg\t\t14\t143115.0\t10990\t39309.121330738846\t0.8589666904382315\t0.7575177551708354\t0.7780514721975762\n", "agg_1855\tEccentric medium spiny neuron\tCerebral cortex_Perirhinal gyrus (PRG) - A35-A36\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tPerirhinal gyrus (PRG) - A35-A36\t\t1123\t18373061.0\t17218\t43361.51675387646\t0.9475325666266081\t0.8421233213753856\t0.8673991051714353\n", "agg_1856\tEccentric medium spiny neuron\tCerebral cortex_Piriform cortex - Pir\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tPiriform cortex - Pir\t\t946\t26226854.0\t17096\t41729.33133861903\t0.9486876187321196\t0.8511102034939563\t0.8741164177181678\n", "agg_1857\tEccentric medium spiny neuron\tCerebral cortex_Precentral gyrus (PrCG) - Primary motor cortex - M1C\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tPrecentral gyrus (PrCG) - Primary motor cortex - M1C\t\t15\t100437.0\t10273\t37957.500142213736\t0.8619401611857915\t0.7743646778169242\t0.7940092190534478\n", "agg_1858\tEccentric medium spiny neuron\tCerebral cortex_Subgenual anterior cingulate cortex\tCNS\thealthy\tjhpce#tran2021\tbrain_atlas\tCerebral cortex\tSubgenual anterior cingulate cortex\t\t113\t4106180.0\t15885\t41810.112484140525\t0.9295512711427354\t0.8391536584052428\t0.8669023034905983\n", "agg_1859\tEccentric medium spiny neuron\tGrey matter_Cla\tCNS\thealthy\tSCR_016152\tbrain_atlas\tGrey matter\tCla\t\t520\t8411038.0\t16478\t43028.1498873797\t0.9447777604776917\t0.8431661644849828\t0.8658352810792844\n", "agg_1860\tEccentric medium spiny neuron\tHippocampus_CA1\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHippocampus\tCA1\t\t84\t1689249.0\t14611\t42308.78649896261\t0.9401621388865626\t0.835068666475771\t0.8551525609823153\n", "agg_1861\tEccentric medium spiny neuron\tHippocampus_CA1-3\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHippocampus\tCA1-3\t\t13\t293094.0\t12278\t40954.80075031351\t0.8992217596035066\t0.7999397475207897\t0.8231597817826668\n", "agg_1862\tEccentric medium spiny neuron\tHippocampus_Caudal Hippocampus - CA4-DGC\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHippocampus\tCaudal Hippocampus - CA4-DGC\t\t47\t608128.0\t12920\t39921.87665797351\t0.8974663323548234\t0.8012118782910058\t0.8178549518262455\n", "agg_1863\tEccentric medium spiny neuron\tHippocampus_Hippocampus\tCNS\thealthy\tjhpce#tran2021\tbrain_atlas\tHippocampus\tHippocampus\t\t31\t1109961.0\t14099\t40557.14662520501\t0.9273899109141328\t0.8369796109567048\t0.8600210861459844\n", "agg_1864\tEccentric medium spiny neuron\tHypothalamus_preoptic region of HTH - HTHpo\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHypothalamus\tpreoptic region of HTH - HTHpo\t\t2330\t51640744.0\t17503\t42679.76746648039\t0.9409601827280252\t0.840348392620232\t0.8604579519561675\n", "agg_1865\tEccentric medium spiny neuron\tHypothalamus_preoptic region of HTH - HTHpo (medial preoptic nucleus/MPN) - supraoptic region of HTH - HTHso (paraventricular nucleus/PV)\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHypothalamus\tpreoptic region of HTH - HTHpo (medial preoptic nucleus/MPN) - supraoptic region of HTH - HTHso (paraventricular nucleus/PV)\t\t565\t8224045.0\t16394\t43923.72334753606\t0.9429273493241412\t0.8372983150424523\t0.8571441075789635\n", "agg_1866\tEccentric medium spiny neuron\tHypothalamus_supraoptic region of HTH - HTHso\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHypothalamus\tsupraoptic region of HTH - HTHso\t\t434\t13111606.0\t16456\t40425.4238586538\t0.9385925126325897\t0.8460278149754488\t0.8663811950707332\n", "agg_1867\tEccentric medium spiny neuron\tMidbrain_Unclassified\tCNS\thealthy\tGSE157783\tbrain_atlas\tMidbrain\tUnclassified\t\t14\t114917.0\t9818\t36181.714010134245\t0.8416212378179837\t0.7532149744136349\t0.7768524692302888\n", "agg_1868\tEccentric medium spiny neuron\tThalamus_Anterior nuclear complex - ANC\tCNS\thealthy\tSCR_016152\tbrain_atlas\tThalamus\tAnterior nuclear complex - ANC\t\t746\t7645113.0\t16381\t42815.79648292055\t0.948484628173975\t0.8495568731460875\t0.8688807125927387\n", "agg_1869\tEccentric medium spiny neuron\tThalamus_Lateral nuclear complex (LNC) - ventral anterior nucleus of thalamus - VA\tCNS\thealthy\tSCR_016152\tbrain_atlas\tThalamus\tLateral nuclear complex (LNC) - ventral anterior nucleus of thalamus - VA\t\t541\t15930108.0\t16787\t41523.0893320909\t0.9357186759722748\t0.83560064088399\t0.8572971207166471\n", "agg_1870\tEccentric medium spiny neuron\tThalamus_Ventral group of lateral nucleus (VLN) - ventral anterior nucleus of thalamus - VA - ventral lateral nucleus of thalamus - VL\tCNS\thealthy\tSCR_016152\tbrain_atlas\tThalamus\tVentral group of lateral nucleus (VLN) - ventral anterior nucleus of thalamus - VA - ventral lateral nucleus of thalamus - VL\t\t20\t117737.0\t10139\t36547.396471567605\t0.8471409795821925\t0.7721611009725091\t0.7850039546751\n", "agg_2491\tMGE interneuron\tAmygdala_Amygdala\tCNS\thealthy\tjhpce#tran2021\tbrain_atlas\tAmygdala\tAmygdala\t\t409\t13777101.0\t16660\t41359.14658121449\t0.9444392422568889\t0.8517551977241854\t0.8676209228410131\n", "agg_2492\tMGE interneuron\tAmygdala_Basolateral nuclear group (BLN) - lateral nucleus - La\tCNS\thealthy\tSCR_016152\tbrain_atlas\tAmygdala\tBasolateral nuclear group (BLN) - lateral nucleus - La\t\t1061\t21423455.0\t17164\t42654.248115680406\t0.9542965361867625\t0.8613064931579452\t0.868815490419042\n", "agg_2493\tMGE interneuron\tAmygdala_Bed nucleus of stria terminalis and nearby - BNST\tCNS\thealthy\tSCR_016152\tbrain_atlas\tAmygdala\tBed nucleus of stria terminalis and nearby - BNST\t\t166\t1827695.0\t15158\t43981.651675853434\t0.9448787686524807\t0.8490275914218958\t0.8533418570610546\n", "agg_2494\tMGE interneuron\tAmygdala_Central nuclear group - CEN\tCNS\thealthy\tSCR_016152\tbrain_atlas\tAmygdala\tCentral nuclear group - CEN\t\t1760\t31053477.0\t17481\t43462.3208404647\t0.9543411948300998\t0.8600122768296773\t0.8660896683249071\n", "agg_2495\tMGE interneuron\tAmygdala_Corticomedial nuclear group (CMN) - anterior cortical nucleus - CoA\tCNS\thealthy\tSCR_016152\tbrain_atlas\tAmygdala\tCorticomedial nuclear group (CMN) - anterior cortical nucleus - CoA\t\t609\t21863245.0\t16897\t41904.97759631928\t0.9501737063270455\t0.8554128895476135\t0.8624338319882185\n", "agg_2496\tMGE interneuron\tAmygdala_basolateral nuclear group (BLN) - basolateral nucleus (basal nucleus) - BL\tCNS\thealthy\tSCR_016152\tbrain_atlas\tAmygdala\tbasolateral nuclear group (BLN) - basolateral nucleus (basal nucleus) - BL\t\t1057\t19917276.0\t17161\t42604.6862273155\t0.953798483025166\t0.860651590728001\t0.8698212056355575\n", "agg_2497\tMGE interneuron\tAmygdala_basolateral nuclear group (BLN) - basomedial nucleus (accessory basal nucleus) - BM\tCNS\thealthy\tSCR_016152\tbrain_atlas\tAmygdala\tbasolateral nuclear group (BLN) - basomedial nucleus (accessory basal nucleus) - BM\t\t1784\t33119571.0\t17549\t43902.96306371541\t0.9523415202656087\t0.8535747260467098\t0.8655401478053812\n", "agg_2498\tMGE interneuron\tAmygdala_corticomedial nuclear group - CMN\tCNS\thealthy\tSCR_016152\tbrain_atlas\tAmygdala\tcorticomedial nuclear group - CMN\t\t1555\t28602412.0\t17506\t43937.34054944343\t0.9549364812212998\t0.8576155015973854\t0.8657168111994817\n", "agg_2499\tMGE interneuron\tBasal ganglia_Globus pallidus (GP) - External segment of globus pallidus - GPe\tCNS\thealthy\tSCR_016152\tbrain_atlas\tBasal ganglia\tGlobus pallidus (GP) - External segment of globus pallidus - GPe\t\t14\t363931.0\t12637\t41928.980123337795\t0.9143027592379037\t0.8152885964659543\t0.8212241300910318\n", "agg_2500\tMGE interneuron\tBasal ganglia_Nucleus Accumbens - NAC\tCNS\thealthy\tSCR_016152\tbrain_atlas\tBasal ganglia\tNucleus Accumbens - NAC\t\t20\t385277.0\t12598\t41170.36162415581\t0.9153758703420793\t0.8200220156948643\t0.8221207128459207\n", "agg_2501\tMGE interneuron\tBasal ganglia_Nucleus accumbens\tCNS\thealthy\tjhpce#tran2021\tbrain_atlas\tBasal ganglia\tNucleus accumbens\t\t266\t5258847.0\t16159\t43224.232978201646\t0.9409286116998999\t0.8403845442432132\t0.8558643354101686\n", "agg_2502\tMGE interneuron\tBasal ganglia_Putamen - Pu\tCNS\thealthy\tSCR_016152\tbrain_atlas\tBasal ganglia\tPutamen - Pu\t\t191\t2779299.0\t15551\t43920.63540976047\t0.9463633844002965\t0.8496883400190438\t0.8552019086045802\n", "agg_2503\tMGE interneuron\tBasal ganglia_septal nuclei - SEP\tCNS\thealthy\tSCR_016152\tbrain_atlas\tBasal ganglia\tseptal nuclei - SEP\t\t1429\t24924668.0\t17445\t45173.37928793731\t0.9503952330645382\t0.8491060071505037\t0.8559314584907406\n", "agg_2504\tMGE interneuron\tBasal ganglia_substantia innominata and nearby nuclei - SI\tCNS\thealthy\tSCR_016152\tbrain_atlas\tBasal ganglia\tsubstantia innominata and nearby nuclei - SI\t\t667\t7412740.0\t16709\t44750.547047095344\t0.948134097855488\t0.8506282530575365\t0.8574254005579075\n", "agg_2505\tMGE interneuron\tCerebral cortex_Anterior Olfactory Nucleus - AON\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tAnterior Olfactory Nucleus - AON\t\t3318\t59973053.0\t17718\t44512.25053592313\t0.9511866844152911\t0.849120218442955\t0.8591664689334718\n", "agg_2507\tMGE interneuron\tCerebral cortex_Anterior cingulate cortex\tCNS\thealthy\tPRJNA434002\tbrain_atlas\tCerebral cortex\tAnterior cingulate cortex\t\t1995\t11117873.0\t16081\t45179.21648388019\t0.8965089340148632\t0.804985295590617\t0.7957027783688826\n", "agg_2508\tMGE interneuron\tCerebral cortex_Anterior cingulate cortex - ACC\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tAnterior cingulate cortex - ACC\t\t5271\t97368705.0\t17869\t44188.58976478878\t0.9524429055696558\t0.8495093943622023\t0.8596610836215051\n", "agg_2509\tMGE interneuron\tCerebral cortex_Anterior parahippocampal gyrus (AG) - Lateral entorhinal cortex - LEC\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tAnterior parahippocampal gyrus (AG) - Lateral entorhinal cortex - LEC\t\t3996\t84774183.0\t17847\t44195.27877407958\t0.9517972268850551\t0.8516456686194328\t0.85921931245538\n", "agg_2510\tMGE interneuron\tCerebral cortex_Anterior parahippocampal gyrus/posterior part (APH) - Medial entorhinal cortex - MEC\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tAnterior parahippocampal gyrus/posterior part (APH) - Medial entorhinal cortex - MEC\t\t6404\t140078426.0\t17986\t43152.00095627089\t0.952323864729667\t0.8540251497533076\t0.8637559144241678\n", "agg_2511\tMGE interneuron\tCerebral cortex_Caudal cingulate gyrus (CgGC) - A23\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tCaudal cingulate gyrus (CgGC) - A23\t\t5856\t63802214.0\t17702\t43234.31566597916\t0.9507374146769353\t0.8492333031420335\t0.8580253936548816\n", "agg_2512\tMGE interneuron\tCerebral cortex_Cingulate gyrus/retrosplenial (CgGrs) - A29-A30\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tCingulate gyrus/retrosplenial (CgGrs) - A29-A30\t\t7676\t52516030.0\t17650\t44293.80571524706\t0.9452372411663391\t0.8405991797504577\t0.8473866556985994\n", "agg_2513\tMGE interneuron\tCerebral cortex_Cuneus/caudal part - Peristriate Cortex - V2\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tCuneus/caudal part - Peristriate Cortex - V2\t\t4257\t65645451.0\t17659\t43356.56955307287\t0.9483045548496131\t0.843814478212617\t0.8552982910193211\n", "agg_2514\tMGE interneuron\tCerebral cortex_Cuneus/rostral part - Area Prostriata - Pro\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tCuneus/rostral part - Area Prostriata - Pro\t\t3639\t53268136.0\t17665\t44440.51460839505\t0.950149158075856\t0.8446572675414704\t0.8568222450605039\n", "agg_2515\tMGE interneuron\tCerebral cortex_Dorsalateral prefrontal cortex\tCNS\thealthy\thttp://psychencode.org\tbrain_atlas\tCerebral cortex\tDorsalateral prefrontal cortex\t\t1922\t7247656.0\t15683\t47343.60549703765\t0.9155669978972271\t0.7944935628936163\t0.8164209537442745\n", "agg_2517\tMGE interneuron\tCerebral cortex_Dorsolateral prefrontal cortex\tCNS\thealthy\tGSE129308\tbrain_atlas\tCerebral cortex\tDorsolateral prefrontal cortex\t\t5070\t11510390.0\t15658\t44053.416859390476\t0.9083339555317534\t0.807084771763412\t0.7952863358833439\n", "agg_2518\tMGE interneuron\tCerebral cortex_Dorsolateral prefrontal cortex\tCNS\thealthy\tSCR_002001\tbrain_atlas\tCerebral cortex\tDorsolateral prefrontal cortex\t\t11974\t89196550.0\t14877\t40375.335298792466\t0.8811452953190944\t0.8184790850728295\t0.8016645574481662\n", "agg_2519\tMGE interneuron\tCerebral cortex_Dorsolateral prefrontal cortex\tCNS\thealthy\tjhpce#tran2021\tbrain_atlas\tCerebral cortex\tDorsolateral prefrontal cortex\t\t645\t15038497.0\t17036\t42352.93122873921\t0.9442194590303734\t0.849789285525842\t0.8665266730067818\n", "agg_2522\tMGE interneuron\tCerebral cortex_Entorhinal cortex\tCNS\thealthy\tGSE160936\tbrain_atlas\tCerebral cortex\tEntorhinal cortex\t\t302\t581183.0\t12130\t36486.8464868359\t0.8895516477549692\t0.8149478849985895\t0.8337704432932246\n", "agg_2524\tMGE interneuron\tCerebral cortex_Frontal Cortex\tCNS\thealthy\tGSE163122\tbrain_atlas\tCerebral cortex\tFrontal Cortex\t\t16\t70172.0\t8799\t33974.63233778857\t0.8118763535481881\t0.7528303424561195\t0.7481303580267099\n", "agg_2525\tMGE interneuron\tCerebral cortex_Frontal agranular insular cortex - FI\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tFrontal agranular insular cortex - FI\t\t5772\t124639119.0\t17927\t43459.7015170545\t0.9524032671776039\t0.8534952362370954\t0.8636876625391701\n", "agg_2526\tMGE interneuron\tCerebral cortex_Gyrus rectus (ReG) - Medial orbitofrontal cortex - A14\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tGyrus rectus (ReG) - Medial orbitofrontal cortex - A14\t\t2060\t50795925.0\t17579\t43698.71965590766\t0.9513325519725236\t0.8504598599771258\t0.8580272600405687\n", "agg_2527\tMGE interneuron\tCerebral cortex_Inferior frontal gyrus (IFG) - Ventrolateral prefrontal cortex - A44-A45\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tInferior frontal gyrus (IFG) - Ventrolateral prefrontal cortex - A44-A45\t\t6389\t105812032.0\t17893\t44449.831210324366\t0.9508588269489653\t0.8461769145046513\t0.8547104807046153\n", "agg_2528\tMGE interneuron\tCerebral cortex_Inferior temporal gyrus - ITG\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tInferior temporal gyrus - ITG\t\t5185\t75602611.0\t17783\t43909.19926818126\t0.950810125857405\t0.8496421991852124\t0.8581300377260784\n", "agg_2529\tMGE interneuron\tCerebral cortex_Lingual gyrus (LiG) - Primary Visual Cortex - V1C\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tLingual gyrus (LiG) - Primary Visual Cortex - V1C\t\t3677\t55232602.0\t17614\t43708.35031940854\t0.9456104506863592\t0.8400672253493853\t0.8503765007105082\n", "agg_2530\tMGE interneuron\tCerebral cortex_Long insular gyri (LIG) - Dysgranular insular cortex - Idg\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tLong insular gyri (LIG) - Dysgranular insular cortex - Idg\t\t5713\t102196545.0\t17903\t44538.74990246346\t0.9521999741486603\t0.8494205945292841\t0.8579708150521901\n", "agg_2531\tMGE interneuron\tCerebral cortex_Middle Temporal Gyrus - MTG\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tMiddle Temporal Gyrus - MTG\t\t12656\t191746732.0\t18000\t44044.23377219539\t0.9502693570547087\t0.8466137046651626\t0.8555071247129131\n", "agg_2532\tMGE interneuron\tCerebral cortex_Middle frontal gyrus (MFG) - A46\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tMiddle frontal gyrus (MFG) - A46\t\t5268\t68233967.0\t17711\t43971.19142937117\t0.9492405306461207\t0.8451499686861522\t0.8537464653796999\n", "agg_2534\tMGE interneuron\tCerebral cortex_Occipitotemporal (fusiform) gyrus/temporal part (FuGt) - Temporal area TF\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tOccipitotemporal (fusiform) gyrus/temporal part (FuGt) - Temporal area TF\t\t5450\t64323983.0\t17726\t43720.55794484247\t0.9515917735720116\t0.8483050792693729\t0.8589048783884909\n", "agg_2535\tMGE interneuron\tCerebral cortex_Parietal lobe\tCNS\thealthy\tPRJNA544731\tbrain_atlas\tCerebral cortex\tParietal lobe\t\t133\t569401.0\t12468\t37595.49960109785\t0.8907326466742803\t0.8061940525939209\t0.8092373729309823\n", "agg_2537\tMGE interneuron\tCerebral cortex_Parietal operculum (PaO) - Gustatory cortex - A43\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tParietal operculum (PaO) - Gustatory cortex - A43\t\t7115\t120047210.0\t17919\t44437.09301091113\t0.9512477871447569\t0.8451452826679898\t0.8548666563138005\n", "agg_2538\tMGE interneuron\tCerebral cortex_Perirhinal gyrus (PRG) - A35-A36\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tPerirhinal gyrus (PRG) - A35-A36\t\t1932\t37490198.0\t17465\t43259.31944751696\t0.9541909686514075\t0.8540303396121026\t0.8654366180531673\n", "agg_2539\tMGE interneuron\tCerebral cortex_Perirhinal gyrus (PRG) -  A35-A36\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tPerirhinal gyrus (PRG) -  A35-A36\t\t117\t3034731.0\t15605\t43526.22006701818\t0.9473644788454095\t0.8522954168059347\t0.8593673572726558\n", "agg_2540\tMGE interneuron\tCerebral cortex_Piriform cortex - Pir\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tPiriform cortex - Pir\t\t3217\t57727120.0\t17686\t43762.436474795206\t0.9543255676211085\t0.8545999342708804\t0.863564845394952\n", "agg_2541\tMGE interneuron\tCerebral cortex_Post-mortem dosolateral BA9\tCNS\thealthy\tGSE144136\tbrain_atlas\tCerebral cortex\tPost-mortem dosolateral BA9\t\t3575\t10164175.0\t16325\t46806.33140707459\t0.9069971617382123\t0.7983175743353382\t0.794815684585161\n", "agg_2543\tMGE interneuron\tCerebral cortex_Postcentral gyrus (PoCG) - Primary somatosensory cortex - S1C\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tPostcentral gyrus (PoCG) - Primary somatosensory cortex - S1C\t\t6470\t100713734.0\t17875\t44372.39965330401\t0.9497085444141861\t0.8450959161936977\t0.8535719902493208\n", "agg_2544\tMGE interneuron\tCerebral cortex_Posterior intermediate orbital gyrus (POrG) - Caudal division of OFCi - A13\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tPosterior intermediate orbital gyrus (POrG) - Caudal division of OFCi - A13\t\t5366\t77974838.0\t17815\t44405.45901697979\t0.9502945552662591\t0.8463296941825013\t0.8550375784224905\n", "agg_2545\tMGE interneuron\tCerebral cortex_Posterior parahippocampal gyrus (PPH) - TH-TL\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tPosterior parahippocampal gyrus (PPH) - TH-TL\t\t5263\t87475500.0\t17852\t44327.56466231888\t0.9519923289438857\t0.8498492615752189\t0.859266978972963\n", "agg_2546\tMGE interneuron\tCerebral cortex_Precentral gyrus (PrCG) - Primary motor cortex - M1C\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tPrecentral gyrus (PrCG) - Primary motor cortex - M1C\t\t17544\t263351574.0\t18021\t42751.448907934544\t0.948569107423063\t0.8463142396680147\t0.8559714261188668\n", "agg_2552\tMGE interneuron\tCerebral cortex_Prefrontal cortex\tCNS\thealthy\tGSE157827\tbrain_atlas\tCerebral cortex\tPrefrontal cortex\t\t4610\t21482625.0\t17270\t43731.54224890505\t0.9363855712351603\t0.8318806432247126\t0.8412160935393553\n", "agg_2553\tMGE interneuron\tCerebral cortex_Prefrontal cortex\tCNS\thealthy\tGSE167494\tbrain_atlas\tCerebral cortex\tPrefrontal cortex\t\t1247\t10376072.0\t17204\t44361.72553538063\t0.9442885914414952\t0.8517201236785358\t0.8648145466877852\n", "agg_2554\tMGE interneuron\tCerebral cortex_Prefrontal cortex\tCNS\thealthy\tPRJNA434002\tbrain_atlas\tCerebral cortex\tPrefrontal cortex\t\t2511\t14863691.0\t16162\t44673.20279790643\t0.8989195129049853\t0.8071982631305372\t0.8006890898756347\n", "agg_2555\tMGE interneuron\tCerebral cortex_Prefrontal cortex\tCNS\thealthy\tPRJNA544731\tbrain_atlas\tCerebral cortex\tPrefrontal cortex\t\t852\t4039365.0\t15379\t43450.098832422605\t0.9008645464806034\t0.8076373172845014\t0.8072548879496675\n", "agg_2557\tMGE interneuron\tCerebral cortex_Premotor cortex\tCNS\thealthy\tPRJNA544731\tbrain_atlas\tCerebral cortex\tPremotor cortex\t\t311\t1072054.0\t13778\t39874.7813160123\t0.9016052282501837\t0.8194735601775744\t0.8136381571982871\n", "agg_2559\tMGE interneuron\tCerebral cortex_Rostral gyrus (RoG) - Dorsal division of MFC - A32\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tRostral gyrus (RoG) - Dorsal division of MFC - A32\t\t4570\t58857880.0\t17731\t44069.06350483119\t0.9511720782778857\t0.8463203838471274\t0.8560199802608556\n", "agg_2560\tMGE interneuron\tCerebral cortex_Short insular gyri - Granular insular cortex - Ig\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tShort insular gyri - Granular insular cortex - Ig\t\t5331\t82650726.0\t17824\t44394.120871907326\t0.9509583744999757\t0.8462445133654821\t0.8571241887907932\n", "agg_2562\tMGE interneuron\tCerebral cortex_Somatosensory cortex\tCNS\thealthy\tGSE160936\tbrain_atlas\tCerebral cortex\tSomatosensory cortex\t\t138\t253647.0\t11822\t38266.141208792615\t0.8767841346625923\t0.7936019959715973\t0.8134006209715183\n", "agg_2563\tMGE interneuron\tCerebral cortex_Subcallosal Gyrus (SCG) - Subgenual (subcallosal) division of MFC - A25\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tSubcallosal Gyrus (SCG) - Subgenual (subcallosal) division of MFC - A25\t\t6738\t111747047.0\t17933\t44140.288432463174\t0.9526334893013195\t0.8515236536431087\t0.8602446595188639\n", "agg_2564\tMGE interneuron\tCerebral cortex_Subgenual anterior cingulate cortex\tCNS\thealthy\tjhpce#tran2021\tbrain_atlas\tCerebral cortex\tSubgenual anterior cingulate cortex\t\t1435\t33906681.0\t17248\t41894.99018499041\t0.9415120732425849\t0.8510166771030189\t0.8651258505145446\n", "agg_2565\tMGE interneuron\tCerebral cortex_Superior Temporal Gyrus - STG\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tSuperior Temporal Gyrus - STG\t\t4693\t53745497.0\t17740\t45035.09601291676\t0.9482478863607943\t0.8418675581822387\t0.8511996261886916\n", "agg_2567\tMGE interneuron\tCerebral cortex_Superior occipital gyrus (SOG) - Areas 19 and MT - A19\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tSuperior occipital gyrus (SOG) - Areas 19 and MT - A19\t\t4640\t67271109.0\t17631\t42831.45523317643\t0.9503792869302212\t0.8486348220775979\t0.859360564195124\n", "agg_2568\tMGE interneuron\tCerebral cortex_Supramarginal gyrus (SMG) - A40\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tSupramarginal gyrus (SMG) - A40\t\t7155\t95138168.0\t17848\t43973.385161914906\t0.9504336303557819\t0.8461929748397125\t0.8578464760178754\n", "agg_2569\tMGE interneuron\tCerebral cortex_Supraparietal lobule (SPL) - Posterosuperior (dorsal) parietal cortex - A5-A7\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tSupraparietal lobule (SPL) - Posterosuperior (dorsal) parietal cortex - A5-A7\t\t5630\t80193333.0\t17797\t43742.70207026511\t0.9512327178952547\t0.8461941179433469\t0.8579482598163595\n", "agg_2572\tMGE interneuron\tCerebral cortex_Temporal pole (TP) - Temporopolar area - A38\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tTemporal pole (TP) - Temporopolar area - A38\t\t5665\t110350485.0\t17940\t44086.89577677079\t0.953708858544873\t0.8513824540838272\t0.8602810204886354\n", "agg_2573\tMGE interneuron\tCerebral cortex_Transverse temporal gyrus (TTG) - Primary auditory cortex - A1C\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tTransverse temporal gyrus (TTG) - Primary auditory cortex - A1C\t\t4799\t73523279.0\t17770\t43918.33248256951\t0.9502853491865487\t0.8458671001525015\t0.858757045378173\n", "agg_2574\tMGE interneuron\tCerebral cortex_Unclassified\tCNS\thealthy\tGSE140231\tbrain_atlas\tCerebral cortex\tUnclassified\t\t1219\t5729012.0\t15984\t45916.35535647439\t0.8957775348525301\t0.797054655931438\t0.7889163143857955\n", "agg_2575\tMGE interneuron\tCerebral cortex_nan\tCNS\thealthy\tGSE160936\tbrain_atlas\tCerebral cortex\tnan\t\t39\t82069.0\t9206\t34840.24746186593\t0.8190571869697097\t0.7306144898877015\t0.7292907453780283\n", "agg_2577\tMGE interneuron\tCerebral cortex_occipital cortex\tCNS\thealthy\tGSE148822\tbrain_atlas\tCerebral cortex\toccipital cortex\t\t117\t246364.0\t12197\t40372.85168056861\t0.88745766532023\t0.7948783763579894\t0.821386649779637\n", "agg_2579\tMGE interneuron\tCerebral cortex_occipitotemporal cortex\tCNS\thealthy\tGSE148822\tbrain_atlas\tCerebral cortex\toccipitotemporal cortex\t\t70\t189834.0\t11628\t39769.16515969363\t0.8818384749014652\t0.8031748269991748\t0.814351561311026\n", "agg_2580\tMGE interneuron\tEpithalamus_ETH\tCNS\thealthy\tSCR_016152\tbrain_atlas\tEpithalamus\tETH\t\t12\t71885.0\t9527\t36809.85853759243\t0.824422869787946\t0.7440895655139182\t0.7553679675372315\n", "agg_2581\tMGE interneuron\tGrey matter_Cla\tCNS\thealthy\tSCR_016152\tbrain_atlas\tGrey matter\tCla\t\t3513\t60764194.0\t17729\t44332.18321962197\t0.9527358283259111\t0.8525521251468033\t0.859701251466556\n", "agg_2584\tMGE interneuron\tGrey matter_Motor cortex\tCNS\thealthy\tGSE174332\tbrain_atlas\tGrey matter\tMotor cortex\t\t3176\t40684160.0\t17707\t43957.55438189328\t0.9446516045218407\t0.8563721111404717\t0.8618527207167933\n", "agg_2590\tMGE interneuron\tHippocampus_CA1\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHippocampus\tCA1\t\t1542\t50256065.0\t17586\t43026.10606620708\t0.9497570037975281\t0.8548983714813951\t0.862305286905649\n", "agg_2591\tMGE interneuron\tHippocampus_CA1-3\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHippocampus\tCA1-3\t\t955\t32592685.0\t17658\t44364.0592027126\t0.952760200558601\t0.858208550001937\t0.8654308552711507\n", "agg_2592\tMGE interneuron\tHippocampus_CA2-3\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHippocampus\tCA2-3\t\t405\t12427466.0\t16877\t43427.36652371909\t0.9479364599220131\t0.8507258501619306\t0.8597478080960826\n", "agg_2593\tMGE interneuron\tHippocampus_Caudal Hippocampus - CA1-CA3\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHippocampus\tCaudal Hippocampus - CA1-CA3\t\t2761\t52247733.0\t17723\t44356.44255419876\t0.9482748850948762\t0.8491246279731572\t0.8545886489562906\n", "agg_2594\tMGE interneuron\tHippocampus_Caudal Hippocampus - CA4-DGC\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHippocampus\tCaudal Hippocampus - CA4-DGC\t\t1176\t20323114.0\t17216\t43747.53358399856\t0.9473473754132059\t0.8467759551726008\t0.8565315424490701\n", "agg_2595\tMGE interneuron\tHippocampus_DG-CA4\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHippocampus\tDG-CA4\t\t79\t2492901.0\t15246\t41900.67343524716\t0.9395119838587522\t0.8493514298178396\t0.8589159044795706\n", "agg_2596\tMGE interneuron\tHippocampus_Hippocampus\tCNS\thealthy\tjhpce#tran2021\tbrain_atlas\tHippocampus\tHippocampus\t\t59\t2189102.0\t15324\t42472.04317459105\t0.9370775068073622\t0.8447930718708813\t0.8564417124517391\n", "agg_2602\tMGE interneuron\tHippocampus_Rostral CA1-2\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHippocampus\tRostral CA1-2\t\t955\t41524730.0\t17477\t43171.938875131724\t0.9497339744218967\t0.8531800823276372\t0.8629519962286984\n", "agg_2603\tMGE interneuron\tHippocampus_Rostral CA1-CA3\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHippocampus\tRostral CA1-CA3\t\t2237\t48236091.0\t17688\t44226.34157174449\t0.9488678749901845\t0.8499180831182793\t0.8572963944833775\n", "agg_2604\tMGE interneuron\tHippocampus_Rostral CA3\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHippocampus\tRostral CA3\t\t447\t16772147.0\t17103\t42318.88302627937\t0.9465119706715757\t0.8572332937695742\t0.8677509453487087\n", "agg_2605\tMGE interneuron\tHippocampus_Rostral DG-CA4\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHippocampus\tRostral DG-CA4\t\t277\t7865435.0\t16546\t42430.00131802814\t0.9441027592674103\t0.8494269573509831\t0.8637403065288809\n", "agg_2606\tMGE interneuron\tHippocampus_Subicular cortex - Sub\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHippocampus\tSubicular cortex - Sub\t\t4153\t46428577.0\t17703\t44106.187747494434\t0.9523849166612751\t0.8547240397425142\t0.8596520862346101\n", "agg_2607\tMGE interneuron\tHippocampus_Uncal CA1-CA3\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHippocampus\tUncal CA1-CA3\t\t2465\t21980770.0\t17489\t44863.81070779017\t0.9447083817652235\t0.8462578379895598\t0.8490324522059823\n", "agg_2608\tMGE interneuron\tHippocampus_Uncal DG-CA4\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHippocampus\tUncal DG-CA4\t\t335\t3643860.0\t16148\t44055.05574062089\t0.9406193799345944\t0.8432095721836758\t0.8484634729799445\n", "agg_2609\tMGE interneuron\tHypothalamus_preoptic region of HTH - HTHpo\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHypothalamus\tpreoptic region of HTH - HTHpo\t\t22\t453470.0\t12617\t40599.60295443444\t0.9219576086495076\t0.8291191541534322\t0.8337400408636516\n", "agg_2610\tMGE interneuron\tHypothalamus_preoptic region of HTH - HTHpo (medial preoptic nucleus/MPN) - supraoptic region of HTH - HTHso (paraventricular nucleus/PV)\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHypothalamus\tpreoptic region of HTH - HTHpo (medial preoptic nucleus/MPN) - supraoptic region of HTH - HTHso (paraventricular nucleus/PV)\t\t16\t201362.0\t11334\t39197.85979581934\t0.8912937813689751\t0.8032225542810923\t0.8073296298291398\n", "agg_2611\tMGE interneuron\tHypothalamus_supraoptic region of HTH - HTHso\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHypothalamus\tsupraoptic region of HTH - HTHso\t\t1291\t34587509.0\t17244\t41775.70339134899\t0.947695036391916\t0.8568901031945508\t0.8623938798420291\n", "agg_2612\tMGE interneuron\tHypothalamus_supraoptic region of HTH - HTHso (anterior hypothalamic nucleus/AHN) - tuberal region of HTH - HTHtub (ventromedial hypothalamic nucleus/VMH)\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHypothalamus\tsupraoptic region of HTH - HTHso (anterior hypothalamic nucleus/AHN) - tuberal region of HTH - HTHtub (ventromedial hypothalamic nucleus/VMH)\t\t13\t201539.0\t11989\t42042.031681340275\t0.8926159239254491\t0.7900437896326049\t0.7976018773826827\n", "agg_2613\tMGE interneuron\tHypothalamus_tuberal region of hypothalamus - HTHtub\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHypothalamus\ttuberal region of hypothalamus - HTHtub\t\t42\t1250352.0\t13813\t39859.463099401524\t0.9325616164071415\t0.8405974496687145\t0.8524085965817827\n", "agg_2614\tMGE interneuron\tMidbrain_Periaqueductal gray and Dorsal raphe nucleus - PAG-DR\tCNS\thealthy\tSCR_016152\tbrain_atlas\tMidbrain\tPeriaqueductal gray and Dorsal raphe nucleus - PAG-DR\t\t48\t279415.0\t12088\t40422.48239700562\t0.9015998774703433\t0.8083821951494623\t0.8145886349206347\n", "agg_2615\tMGE interneuron\tMidbrain_Substantia Nigra - SN\tCNS\thealthy\tSCR_016152\tbrain_atlas\tMidbrain\tSubstantia Nigra - SN\t\t24\t645604.0\t13566\t41518.8703956369\t0.9212646512029814\t0.8310832019975152\t0.8374969841343043\n", "agg_2616\tMGE interneuron\tMidbrain_Superior colliculus and nearby nuclei - SC\tCNS\thealthy\tSCR_016152\tbrain_atlas\tMidbrain\tSuperior colliculus and nearby nuclei - SC\t\t79\t869016.0\t13900\t41943.6713340587\t0.9335775223214702\t0.836230212994662\t0.8410600633997231\n", "agg_2617\tMGE interneuron\tThalamus_Anterior nuclear complex - ANC\tCNS\thealthy\tSCR_016152\tbrain_atlas\tThalamus\tAnterior nuclear complex - ANC\t\t63\t1689760.0\t14392\t40935.765146316844\t0.9385291782898756\t0.8460285020935135\t0.854094876359309\n", "agg_2618\tMGE interneuron\tThalamus_Lateral nuclear complex (LNC) - ventral anterior nucleus of thalamus - VA\tCNS\thealthy\tSCR_016152\tbrain_atlas\tThalamus\tLateral nuclear complex (LNC) - ventral anterior nucleus of thalamus - VA\t\t23\t483935.0\t12795\t41330.96925666164\t0.9202418171464944\t0.8261269502174232\t0.8253395913468182\n", "agg_2619\tMGE interneuron\tThalamus_Lateral nuclear complex of thalamus (LNC) - ventral group of lateral nucleus - VLN\tCNS\thealthy\tSCR_016152\tbrain_atlas\tThalamus\tLateral nuclear complex of thalamus (LNC) - ventral group of lateral nucleus - VLN\t\t15\t644299.0\t12682\t38988.345127600296\t0.9101440823448651\t0.820951753505128\t0.8290122191651943\n", "agg_2620\tMGE interneuron\tThalamus_lateral nuclear complex of thalamus (LNC) - Pulvinar of thalamus - Pul\tCNS\thealthy\tSCR_016152\tbrain_atlas\tThalamus\tlateral nuclear complex of thalamus (LNC) - Pulvinar of thalamus - Pul\t\t59\t907181.0\t14156\t42737.54158697253\t0.9230276788817333\t0.8260353938939361\t0.8272422303517075\n", "agg_2621\tMGE interneuron\tThalamus_lateral nuclear complex of thalamus (LNC) - lateral posterior nucleus of thalamus - LP\tCNS\thealthy\tSCR_016152\tbrain_atlas\tThalamus\tlateral nuclear complex of thalamus (LNC) - lateral posterior nucleus of thalamus - LP\t\t34\t339865.0\t12131\t39372.36226065725\t0.9034367683239668\t0.8112611977762655\t0.8142495801086926\n", "agg_2622\tMGE interneuron\tThalamus_medial nuclear complex of thalamus (MNC) - mediodorsal nucleus of thalamus - MD\tCNS\thealthy\tSCR_016152\tbrain_atlas\tThalamus\tmedial nuclear complex of thalamus (MNC) - mediodorsal nucleus of thalamus - MD\t\t20\t414741.0\t12853\t41547.316148435246\t0.9089247248871526\t0.813595574745492\t0.8152544778775622\n", "agg_2623\tMGE interneuron\tThalamus_posterior nuclear complex of thalamus (PoN) - lateral geniculate nucleus (LG)\tCNS\thealthy\tSCR_016152\tbrain_atlas\tThalamus\tposterior nuclear complex of thalamus (PoN) - lateral geniculate nucleus (LG)\t\t57\t768227.0\t13434\t40339.8513441331\t0.9219632514083475\t0.8263116083745812\t0.8349479724650578\n", "agg_2624\tMGE interneuron\tWhite matter_Unclassifed\tCNS\thealthy\tGSE118257\tbrain_atlas\tWhite matter\tUnclassifed\t\t94\t289790.0\t11627\t41098.134330016575\t0.8867654909586433\t0.8059356433623136\t0.7851502438087337\n", "agg_2653\tMedium spiny neuron\tAmygdala_Amygdala\tCNS\thealthy\tjhpce#tran2021\tbrain_atlas\tAmygdala\tAmygdala\t\t855\t16257020.0\t16794\t40209.40354842709\t0.9307548981959526\t0.8488615811730392\t0.8689605369066653\n", "agg_2654\tMedium spiny neuron\tAmygdala_Basolateral nuclear group (BLN) - lateral nucleus - La\tCNS\thealthy\tSCR_016152\tbrain_atlas\tAmygdala\tBasolateral nuclear group (BLN) - lateral nucleus - La\t\t330\t4992951.0\t15782\t40919.21981550283\t0.9427614178501177\t0.8466272519178762\t0.8656673560635975\n", "agg_2655\tMedium spiny neuron\tAmygdala_Bed nucleus of stria terminalis and nearby - BNST\tCNS\thealthy\tSCR_016152\tbrain_atlas\tAmygdala\tBed nucleus of stria terminalis and nearby - BNST\t\t14834\t231645818.0\t18115\t44026.663188107996\t0.9453419860163621\t0.8461001317058413\t0.8674271490373949\n", "agg_2656\tMedium spiny neuron\tAmygdala_Central nuclear group - CEN\tCNS\thealthy\tSCR_016152\tbrain_atlas\tAmygdala\tCentral nuclear group - CEN\t\t4702\t152024109.0\t17933\t41825.65400418454\t0.9506498903765198\t0.8583036078560143\t0.87445330234001\n", "agg_2657\tMedium spiny neuron\tAmygdala_Corticomedial nuclear group (CMN) - anterior cortical nucleus - CoA\tCNS\thealthy\tSCR_016152\tbrain_atlas\tAmygdala\tCorticomedial nuclear group (CMN) - anterior cortical nucleus - CoA\t\t76\t1988757.0\t14473\t41009.37497395409\t0.9374639079699163\t0.8459652724097986\t0.8661217643696482\n", "agg_2658\tMedium spiny neuron\tAmygdala_basolateral nuclear group (BLN) - basolateral nucleus (basal nucleus) - BL\tCNS\thealthy\tSCR_016152\tbrain_atlas\tAmygdala\tbasolateral nuclear group (BLN) - basolateral nucleus (basal nucleus) - BL\t\t41\t681582.0\t13700\t42390.62517590265\t0.930301178896936\t0.8335883138129021\t0.8498381291011784\n", "agg_2659\tMedium spiny neuron\tAmygdala_basolateral nuclear group (BLN) - basomedial nucleus (accessory basal nucleus) - BM\tCNS\thealthy\tSCR_016152\tbrain_atlas\tAmygdala\tbasolateral nuclear group (BLN) - basomedial nucleus (accessory basal nucleus) - BM\t\t588\t10857517.0\t16752\t43407.2880995957\t0.9413954461547651\t0.8491087638861763\t0.860187656740274\n", "agg_2660\tMedium spiny neuron\tAmygdala_corticomedial nuclear group - CMN\tCNS\thealthy\tSCR_016152\tbrain_atlas\tAmygdala\tcorticomedial nuclear group - CMN\t\t1563\t18589476.0\t17293\t43767.421985488276\t0.9475050406764797\t0.8500945691307341\t0.868188681008702\n", "agg_2661\tMedium spiny neuron\tBasal ganglia_Body of the Caudate - CaB\tCNS\thealthy\tSCR_016152\tbrain_atlas\tBasal ganglia\tBody of the Caudate - CaB\t\t25597\t734900951.0\t18169\t41031.74091339427\t0.9130017546169741\t0.8094631607687462\t0.8330040905587449\n", "agg_2662\tMedium spiny neuron\tBasal ganglia_Globus pallidus (GP) - External segment of globus pallidus - GPe\tCNS\thealthy\tSCR_016152\tbrain_atlas\tBasal ganglia\tGlobus pallidus (GP) - External segment of globus pallidus - GPe\t\t11913\t421587642.0\t18127\t41409.19215617373\t0.9245205942991978\t0.820006356524453\t0.8458336457726571\n", "agg_2663\tMedium spiny neuron\tBasal ganglia_Globus pallidus (GP) - Internal segment of globus pallidus - GPi\tCNS\thealthy\tSCR_016152\tbrain_atlas\tBasal ganglia\tGlobus pallidus (GP) - Internal segment of globus pallidus - GPi\t\t91\t3689378.0\t15264\t40334.966924483146\t0.9258738064983694\t0.8220183202800466\t0.8471167198181737\n", "agg_2664\tMedium spiny neuron\tBasal ganglia_Nucleus Accumbens - NAC\tCNS\thealthy\tSCR_016152\tbrain_atlas\tBasal ganglia\tNucleus Accumbens - NAC\t\t22095\t556326311.0\t18164\t42779.16646063976\t0.9241007801139076\t0.8160594037096315\t0.8419305863541408\n", "agg_2665\tMedium spiny neuron\tBasal ganglia_Nucleus accumbens\tCNS\thealthy\tjhpce#tran2021\tbrain_atlas\tBasal ganglia\tNucleus accumbens\t\t9837\t271665829.0\t17889\t41582.21333344588\t0.919599303144343\t0.8154028670692957\t0.8472977098332947\n", "agg_2666\tMedium spiny neuron\tBasal ganglia_Putamen - Pu\tCNS\thealthy\tSCR_016152\tbrain_atlas\tBasal ganglia\tPutamen - Pu\t\t26169\t694166058.0\t18170\t40849.22367869802\t0.9127313224001196\t0.8084587312170607\t0.8346523973425407\n", "agg_2667\tMedium spiny neuron\tBasal ganglia_septal nuclei - SEP\tCNS\thealthy\tSCR_016152\tbrain_atlas\tBasal ganglia\tseptal nuclei - SEP\t\t3686\t70583279.0\t17863\t42869.752774801855\t0.9221592113278905\t0.8179030901469408\t0.8415064589677047\n", "agg_2668\tMedium spiny neuron\tBasal ganglia_substantia innominata and nearby nuclei - SI\tCNS\thealthy\tSCR_016152\tbrain_atlas\tBasal ganglia\tsubstantia innominata and nearby nuclei - SI\t\t20978\t406430174.0\t18152\t43171.70819204389\t0.9356278573993547\t0.8355914647959416\t0.8580501444882963\n", "agg_2669\tMedium spiny neuron\tCerebral cortex_Anterior Olfactory Nucleus - AON\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tAnterior Olfactory Nucleus - AON\t\t7146\t83678191.0\t17914\t43899.304433061516\t0.9197892629833866\t0.8118279846788765\t0.838725791865812\n", "agg_2670\tMedium spiny neuron\tCerebral cortex_Frontal agranular insular cortex - FI\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tFrontal agranular insular cortex - FI\t\t47\t1673650.0\t14282\t40604.468196450885\t0.9310316824387254\t0.8387474025258079\t0.8630838302859096\n", "agg_2671\tMedium spiny neuron\tCerebral cortex_Perirhinal gyrus (PRG) - A35-A36\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tPerirhinal gyrus (PRG) - A35-A36\t\t60\t1311204.0\t14729\t43400.63525982828\t0.9426515623287082\t0.8452776244969754\t0.8631129728359953\n", "agg_2672\tMedium spiny neuron\tCerebral cortex_Piriform cortex - Pir\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tPiriform cortex - Pir\t\t528\t13895788.0\t16601\t41718.898509735314\t0.9449645834556754\t0.8544810746353554\t0.8773903973083115\n", "agg_2673\tMedium spiny neuron\tCerebral cortex_Precentral gyrus (PrCG) - Primary motor cortex - M1C\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tPrecentral gyrus (PrCG) - Primary motor cortex - M1C\t\t13\t214428.0\t11454\t38695.26349160653\t0.8924953155417973\t0.7998199730247992\t0.8148967949524837\n", "agg_2674\tMedium spiny neuron\tCerebral cortex_Subcallosal Gyrus (SCG) - Subgenual (subcallosal) division of MFC - A25\tCNS\thealthy\tSCR_016152\tbrain_atlas\tCerebral cortex\tSubcallosal Gyrus (SCG) - Subgenual (subcallosal) division of MFC - A25\t\t30\t418073.0\t13063\t41585.729968004634\t0.8871186460605669\t0.7821038738334904\t0.816336464253731\n", "agg_2675\tMedium spiny neuron\tCerebral cortex_Subgenual anterior cingulate cortex\tCNS\thealthy\tjhpce#tran2021\tbrain_atlas\tCerebral cortex\tSubgenual anterior cingulate cortex\t\t456\t24338636.0\t17126\t41522.34752505473\t0.9333821901136405\t0.8462980778537625\t0.8674585783450169\n", "agg_2677\tMedium spiny neuron\tGrey matter_Cla\tCNS\thealthy\tSCR_016152\tbrain_atlas\tGrey matter\tCla\t\t441\t9430332.0\t16466\t41163.602945269886\t0.921979391685106\t0.8201910372875032\t0.842843688151027\n", "agg_2678\tMedium spiny neuron\tHippocampus_CA1\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHippocampus\tCA1\t\t40\t1049125.0\t13959\t42169.675836731396\t0.9349494469318459\t0.8391200271799821\t0.8542758399265774\n", "agg_2679\tMedium spiny neuron\tHippocampus_Caudal Hippocampus - CA4-DGC\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHippocampus\tCaudal Hippocampus - CA4-DGC\t\t430\t6612281.0\t15981\t41097.34699445523\t0.9098959524061087\t0.8090072110159198\t0.8280726832719776\n", "agg_2680\tMedium spiny neuron\tHippocampus_Rostral DG-CA4\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHippocampus\tRostral DG-CA4\t\t17\t222139.0\t11847\t39862.89795022213\t0.8691071021059862\t0.7714996002895943\t0.7962472128461958\n", "agg_2681\tMedium spiny neuron\tHypothalamus_preoptic region of HTH - HTHpo\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHypothalamus\tpreoptic region of HTH - HTHpo\t\t5346\t128564800.0\t17878\t43046.84627750286\t0.9441056048503704\t0.8421353341456254\t0.866689965845226\n", "agg_2682\tMedium spiny neuron\tHypothalamus_preoptic region of HTH - HTHpo (medial preoptic nucleus/MPN) - supraoptic region of HTH - HTHso (paraventricular nucleus/PV)\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHypothalamus\tpreoptic region of HTH - HTHpo (medial preoptic nucleus/MPN) - supraoptic region of HTH - HTHso (paraventricular nucleus/PV)\t\t1202\t21586591.0\t17227\t44983.99150274918\t0.9507961158008243\t0.8480169975890431\t0.8669422509999024\n", "agg_2683\tMedium spiny neuron\tHypothalamus_supraoptic region of HTH - HTHso\tCNS\thealthy\tSCR_016152\tbrain_atlas\tHypothalamus\tsupraoptic region of HTH - HTHso\t\t435\t13475264.0\t16512\t40730.18309280418\t0.9328893799640929\t0.8411270417125518\t0.8653686705020206\n", "agg_2684\tMedium spiny neuron\tMidbrain_Unclassified\tCNS\thealthy\tGSE157783\tbrain_atlas\tMidbrain\tUnclassified\t\t13\t138924.0\t10081\t36049.57615815546\t0.8472115551978691\t0.7544352004514613\t0.7771766770288353\n", "agg_2685\tMedium spiny neuron\tThalamus_Anterior nuclear complex - ANC\tCNS\thealthy\tSCR_016152\tbrain_atlas\tThalamus\tAnterior nuclear complex - ANC\t\t926\t12027800.0\t16849\t43612.739817779046\t0.9535465002330261\t0.861691575979908\t0.8753609519126483\n", "agg_2686\tMedium spiny neuron\tThalamus_Lateral nuclear complex (LNC) - ventral anterior nucleus of thalamus - VA\tCNS\thealthy\tSCR_016152\tbrain_atlas\tThalamus\tLateral nuclear complex (LNC) - ventral anterior nucleus of thalamus - VA\t\t2743\t114224823.0\t17803\t40855.63847966631\t0.9268757598914684\t0.8230943566844251\t0.848168195849154\n", "agg_2687\tMedium spiny neuron\tThalamus_Ventral group of lateral nucleus (VLN) - ventral anterior nucleus of thalamus - VA - ventral lateral nucleus of thalamus - VL\tCNS\thealthy\tSCR_016152\tbrain_atlas\tThalamus\tVentral group of lateral nucleus (VLN) - ventral anterior nucleus of thalamus - VA - ventral lateral nucleus of thalamus - VL\t\t14\t108117.0\t10209\t37484.94947048898\t0.8438314846351331\t0.7444397677227123\t0.766869932545645\n", "\n", "\u001b[0m" ] } ], "source": [ "! decima query-cell \"cell_type.str.contains('neuron') and organ == 'CNS' and disease == 'healthy'\"" ] }, { "cell_type": "markdown", "id": "edf0b0a8", "metadata": {}, "source": [ "The main arguments for the `decima modisco` CLI command allow you to customize motif discovery for your specific biological question. The `--top-n-markers` argument restricts the analysis to the top N marker genes, focusing on the most distinguishing genes for the selected cell types if not provided all genes are used. The `--max-seqlets` parameter sets an upper limit on the number of seqlets (short, high-scoring regions) extracted per metacluster, which can help manage memory usage and computation time. The `--tss-distance` option defines the window size (in base pairs) around the transcription start site to consider for motif discovery. \n", "\n", " The `--tasks` argument lets you specify cell types or conditions of interest using a query string, such as `\"cell_type.str.contains('neuron') and organ == 'CNS' and disease == 'healthy'\"` to select healthy CNS neurons. The `--transform` argument determines how attributions are aggregated or contrasted. For example, `\"specificity\"` compares the selected tasks (e.g., neurons) against the background (e.g., all other cells), highlighting features specific to the chosen group. Alternatively, `\"aggregate\"` simply sums attributions across the selected tasks.\n", "\n", "The `--batch-size` and `--num-workers` options control parallelization and resource usage during computation. The `--model` argument selects which model replicate or checkpoint to use, and the `-o` or `--output-prefix` sets the path prefix for output files and reports." ] }, { "cell_type": "code", "execution_count": 2, "id": "f80d9e7e", "metadata": { "execution": { "iopub.execute_input": "2025-11-21T06:08:16.526721Z", "iopub.status.busy": "2025-11-21T06:08:16.526532Z", "iopub.status.idle": "2025-11-21T06:10:07.417420Z", "shell.execute_reply": "2025-11-21T06:10:07.416475Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "decima - INFO - Using device: 0\n", "decima - INFO - Loading model v1_rep0 and metadata to compute attributions...\n", "\u001b[34m\u001b[1mwandb\u001b[0m: Currently logged in as: \u001b[33mmhcelik\u001b[0m (\u001b[33mmhcw\u001b[0m) to \u001b[32mhttps://api.wandb.ai\u001b[0m. Use \u001b[1m`wandb login --relogin`\u001b[0m to force relogin\n", "\u001b[34m\u001b[1mwandb\u001b[0m: Downloading large artifact 'rep0:latest', 720.03MB. 1 files...\n", "\u001b[34m\u001b[1mwandb\u001b[0m: 1 of 1 files downloaded. \n", "Done. 00:00:00.8 (873.8MB/s)\n", "\u001b[34m\u001b[1mwandb\u001b[0m: Downloading large artifact 'metadata:latest', 3122.32MB. 1 files...\n", "\u001b[34m\u001b[1mwandb\u001b[0m: 1 of 1 files downloaded. \n", "Done. 00:00:01.6 (1915.4MB/s)\n", "/home/celikm5/Projects/decima/src/decima/interpret/attributer.py:66: UserWarning: `off_tasks` is not provided. Using all other tasks as off_tasks.\n", "100%|████████████████████████████████████████████| 1/1 [00:00<00:00, 334.69it/s]\n", "Computing attributions...: 8%|█▎ | 4/50 [00:04<00:44, 1.04it/s]decima - WARNING - Gene XRCC5 has low correlation with the model. Pearson: 0.4621304058925145. Be careful with the predictions of the model for this gene. Check `DecimaResult.load().gene_metadata['pearson']` to see the correlation of the gene with the model.\n", "Computing attributions...: 10%|█▋ | 5/50 [00:05<00:41, 1.09it/s]decima - WARNING - Gene FNIP1 has low correlation with the model. Pearson: 0.044592478397006044. Be careful with the predictions of the model for this gene. Check `DecimaResult.load().gene_metadata['pearson']` to see the correlation of the gene with the model.\n", "Computing attributions...: 40%|██████▍ | 20/50 [00:17<00:25, 1.20it/s]decima - WARNING - Gene LRRFIP1 has low correlation with the model. Pearson: 0.4621130932978845. Be careful with the predictions of the model for this gene. Check `DecimaResult.load().gene_metadata['pearson']` to see the correlation of the gene with the model.\n", "Computing attributions...: 70%|███████████▏ | 35/50 [00:30<00:12, 1.20it/s]decima - WARNING - Gene CHD4 has low correlation with the model. Pearson: 0.27165706153002717. Be careful with the predictions of the model for this gene. Check `DecimaResult.load().gene_metadata['pearson']` to see the correlation of the gene with the model.\n", "Computing attributions...: 100%|████████████████| 50/50 [00:42<00:00, 1.17it/s]\n", "decima - INFO - Loading metadata for model v1_rep0...\n", "\u001b[34m\u001b[1mwandb\u001b[0m: Downloading large artifact 'metadata:latest', 3122.32MB. 1 files...\n", "\u001b[34m\u001b[1mwandb\u001b[0m: 1 of 1 files downloaded. \n", "Done. 00:00:01.6 (1927.1MB/s)\n", "100%|████████████████████████████████████████████| 1/1 [00:00<00:00, 317.61it/s]\n", "Loading attributions and sequences...: 100%|████| 50/50 [00:08<00:00, 5.57it/s]\n", "2025-11-25 12:07:48,118 - modisco-lite - INFO - Running TFMoDISco version 2.4.0\n", "2025-11-25 12:07:48,122 - modisco-lite - INFO - Extracting seqlets for 50 tasks:\n", "2025-11-25 12:07:48,123 - modisco-lite - INFO - - Smoothing and splitting tracks\n", "2025-11-25 12:07:48,133 - modisco-lite - INFO - - Computing null values with Laplacian null model\n", "2025-11-25 12:07:48,190 - modisco-lite - INFO - - Computing isotonic thresholds\n", "2025-11-25 12:07:48,220 - modisco-lite - INFO - - Refining thresholds\n", "2025-11-25 12:07:48,516 - modisco-lite - INFO - - Extracting seqlets\n", "2025-11-25 12:07:48,562 - modisco-lite - INFO - - Extracting 1299 positive seqlets\n", "2025-11-25 12:07:48,569 - modisco-lite - INFO - - Round 0: Generating coarse resolution affinity matrix for 1299 seqlets\n", "100%|██████████████████████████████████████| 1299/1299 [00:05<00:00, 228.60it/s]\n", "2025-11-25 12:08:01,695 - modisco-lite - INFO - - Round 0: Generating fine resolution affinity matrix for 1299 seqlets and 1299 neighbors\n", "100%|██████████████████████████████████████| 1299/1299 [00:01<00:00, 983.48it/s]\n", "100%|██████████████████████████████████████| 1299/1299 [00:01<00:00, 990.86it/s]\n", "2025-11-25 12:08:04,426 - modisco-lite - INFO - - Round 0: Filtering seqlets by correlation\n", "2025-11-25 12:08:05,151 - modisco-lite - INFO - - Round 0: Density adaptation\n", "2025-11-25 12:08:07,633 - modisco-lite - INFO - - Round 0: Clustering with Leiden algorithm\n", "\u001b[0m\u001b[0m\u001b[0m\u001b[0m[Parallel(n_jobs=4)]: Using backend LokyBackend with 4 concurrent workers.\n", "[Parallel(n_jobs=4)]: Done 1 tasks | elapsed: 7.7s\n", "[Parallel(n_jobs=4)]: Done 2 tasks | elapsed: 7.9s\n", "[Parallel(n_jobs=4)]: Done 3 tasks | elapsed: 7.9s\n", "[Parallel(n_jobs=4)]: Done 4 tasks | elapsed: 9.2s\n", "[Parallel(n_jobs=4)]: Done 5 tasks | elapsed: 9.8s\n", "[Parallel(n_jobs=4)]: Done 6 tasks | elapsed: 10.7s\n", "[Parallel(n_jobs=4)]: Done 7 tasks | elapsed: 10.8s\n", "[Parallel(n_jobs=4)]: Done 8 tasks | elapsed: 11.5s\n", "[Parallel(n_jobs=4)]: Done 9 tasks | elapsed: 11.7s\n", "[Parallel(n_jobs=4)]: Done 10 out of 16 | elapsed: 12.8s remaining: 7.7s\n", "[Parallel(n_jobs=4)]: Done 11 out of 16 | elapsed: 13.4s remaining: 6.1s\n", "[Parallel(n_jobs=4)]: Done 12 out of 16 | elapsed: 13.8s remaining: 4.6s\n", "[Parallel(n_jobs=4)]: Done 13 out of 16 | elapsed: 14.3s remaining: 3.3s\n", "[Parallel(n_jobs=4)]: Done 14 out of 16 | elapsed: 15.1s remaining: 2.2s\n", "[Parallel(n_jobs=4)]: Done 16 out of 16 | elapsed: 18.5s finished\n", "2025-11-25 12:08:26,241 - modisco-lite - INFO - Leiden clustering quality for seed 0: 0.1655701147360399\n", "2025-11-25 12:08:26,241 - modisco-lite - INFO - Leiden clustering quality for seed 1: 0.16556949666119894\n", "2025-11-25 12:08:26,241 - modisco-lite - INFO - Leiden clustering quality for seed 2: 0.16557106004365446\n", "2025-11-25 12:08:26,241 - modisco-lite - INFO - Leiden clustering quality for seed 3: 0.16557106004365446\n", "2025-11-25 12:08:26,241 - modisco-lite - INFO - Leiden clustering quality for seed 4: 0.16556096968779205\n", "2025-11-25 12:08:26,241 - modisco-lite - INFO - Leiden clustering quality for seed 5: 0.16556949666119894\n", "2025-11-25 12:08:26,241 - modisco-lite - INFO - Leiden clustering quality for seed 6: 0.16556880667793733\n", "2025-11-25 12:08:26,241 - modisco-lite - INFO - Leiden clustering quality for seed 7: 0.16557106004365446\n", "2025-11-25 12:08:26,241 - modisco-lite - INFO - Leiden clustering quality for seed 8: 0.16556880667793733\n", "2025-11-25 12:08:26,241 - modisco-lite - INFO - Leiden clustering quality for seed 9: 0.16556880667793733\n", "2025-11-25 12:08:26,241 - modisco-lite - INFO - Leiden clustering quality for seed 10: 0.16557106004365446\n", "2025-11-25 12:08:26,241 - modisco-lite - INFO - Leiden clustering quality for seed 11: 0.16556096968779205\n", "2025-11-25 12:08:26,241 - modisco-lite - INFO - Leiden clustering quality for seed 12: 0.16556880667793733\n", "2025-11-25 12:08:26,241 - modisco-lite - INFO - Leiden clustering quality for seed 13: 0.16556949666119894\n", "2025-11-25 12:08:26,241 - modisco-lite - INFO - Leiden clustering quality for seed 14: 0.1655701147360399\n", "2025-11-25 12:08:26,241 - modisco-lite - INFO - Leiden clustering quality for seed 15: 0.16557106004365446\n", "2025-11-25 12:08:26,244 - modisco-lite - INFO - - Round 0: Generating patterns from clusters\n", "Generating patterns from clusters:: 100%|█████████| 3/3 [00:01<00:00, 2.86it/s]\n", "2025-11-25 12:08:27,293 - modisco-lite - INFO - - Round 1: Generating coarse resolution affinity matrix for 1183 seqlets\n", "100%|██████████████████████████████████████| 1183/1183 [00:01<00:00, 763.92it/s]\n", "2025-11-25 12:08:29,362 - modisco-lite - INFO - - Round 1: Generating fine resolution affinity matrix for 1183 seqlets and 1183 neighbors\n", "100%|██████████████████████████████████████| 1183/1183 [00:03<00:00, 371.68it/s]\n", "100%|██████████████████████████████████████| 1183/1183 [00:03<00:00, 371.15it/s]\n", "2025-11-25 12:08:35,832 - modisco-lite - INFO - - Round 1: Density adaptation\n", "2025-11-25 12:08:38,217 - modisco-lite - INFO - - Round 1: Clustering with Leiden algorithm\n", "[Parallel(n_jobs=4)]: Using backend LokyBackend with 4 concurrent workers.\n", "[Parallel(n_jobs=4)]: Done 1 tasks | elapsed: 1.9s\n", "[Parallel(n_jobs=4)]: Done 2 tasks | elapsed: 2.2s\n", "[Parallel(n_jobs=4)]: Done 3 tasks | elapsed: 2.3s\n", "[Parallel(n_jobs=4)]: Done 4 tasks | elapsed: 2.6s\n", "[Parallel(n_jobs=4)]: Done 5 tasks | elapsed: 4.0s\n", "[Parallel(n_jobs=4)]: Done 6 tasks | elapsed: 4.8s\n", "[Parallel(n_jobs=4)]: Done 7 tasks | elapsed: 4.9s\n", "[Parallel(n_jobs=4)]: Done 8 tasks | elapsed: 6.9s\n", "[Parallel(n_jobs=4)]: Done 9 tasks | elapsed: 7.0s\n", "[Parallel(n_jobs=4)]: Done 10 out of 16 | elapsed: 7.2s remaining: 4.3s\n", "[Parallel(n_jobs=4)]: Done 11 out of 16 | elapsed: 9.4s remaining: 4.3s\n", "[Parallel(n_jobs=4)]: Done 12 out of 16 | elapsed: 9.8s remaining: 3.3s\n", "[Parallel(n_jobs=4)]: Done 13 out of 16 | elapsed: 10.8s remaining: 2.5s\n", "[Parallel(n_jobs=4)]: Done 14 out of 16 | elapsed: 11.6s remaining: 1.7s\n", "[Parallel(n_jobs=4)]: Done 16 out of 16 | elapsed: 12.4s finished\n", "2025-11-25 12:08:50,674 - modisco-lite - INFO - Leiden clustering quality for seed 0: 0.14562863593931122\n", "2025-11-25 12:08:50,674 - modisco-lite - INFO - Leiden clustering quality for seed 1: 0.145634481216889\n", "2025-11-25 12:08:50,674 - modisco-lite - INFO - Leiden clustering quality for seed 2: 0.14562863593931122\n", "2025-11-25 12:08:50,674 - modisco-lite - INFO - Leiden clustering quality for seed 3: 0.14562863593931122\n", "2025-11-25 12:08:50,674 - modisco-lite - INFO - Leiden clustering quality for seed 4: 0.14564200148462944\n", "2025-11-25 12:08:50,674 - modisco-lite - INFO - Leiden clustering quality for seed 5: 0.14562640344312008\n", "2025-11-25 12:08:50,674 - modisco-lite - INFO - Leiden clustering quality for seed 6: 0.14564200148462944\n", "2025-11-25 12:08:50,674 - modisco-lite - INFO - Leiden clustering quality for seed 7: 0.1456238185758978\n", "2025-11-25 12:08:50,674 - modisco-lite - INFO - Leiden clustering quality for seed 8: 0.14564200148462944\n", "2025-11-25 12:08:50,674 - modisco-lite - INFO - Leiden clustering quality for seed 9: 0.14564200148462944\n", "2025-11-25 12:08:50,674 - modisco-lite - INFO - Leiden clustering quality for seed 10: 0.1456265966623099\n", "2025-11-25 12:08:50,674 - modisco-lite - INFO - Leiden clustering quality for seed 11: 0.145634481216889\n", "2025-11-25 12:08:50,674 - modisco-lite - INFO - Leiden clustering quality for seed 12: 0.14564200148462944\n", "2025-11-25 12:08:50,674 - modisco-lite - INFO - Leiden clustering quality for seed 13: 0.14564200148462944\n", "2025-11-25 12:08:50,674 - modisco-lite - INFO - Leiden clustering quality for seed 14: 0.145634481216889\n", "2025-11-25 12:08:50,674 - modisco-lite - INFO - Leiden clustering quality for seed 15: 0.14564200148462944\n", "2025-11-25 12:08:50,676 - modisco-lite - INFO - - Round 1: Generating patterns from clusters\n", "Generating patterns from clusters:: 100%|█████████| 3/3 [00:01<00:00, 2.71it/s]\n", "2025-11-25 12:08:51,784 - modisco-lite - INFO - Detecting spurious merging of patterns\n", "Detecting spurious merging of patterns:: 100%|████| 3/3 [00:15<00:00, 5.21s/it]\u001b[0m\u001b[0m\u001b[0m\u001b[0m\n", "2025-11-25 12:09:13,726 - modisco-lite - INFO - Filtering and merging patterns\n", "Filtering patterns:: 100%|███████████████████| 24/24 [00:00<00:00, 22305.18it/s]\n", "Computing subpatterns:: 100%|███████████████████| 16/16 [00:01<00:00, 11.34it/s]\n", "2025-11-25 12:09:15,139 - modisco-lite - INFO - - Extracting 2162 negative seqlets\n", "2025-11-25 12:09:15,150 - modisco-lite - INFO - - Round 0: Generating coarse resolution affinity matrix for 2162 seqlets\n", "100%|██████████████████████████████████████| 2162/2162 [00:05<00:00, 405.34it/s]\n", "2025-11-25 12:09:22,736 - modisco-lite - INFO - - Round 0: Generating fine resolution affinity matrix for 2162 seqlets and 2162 neighbors\n", "100%|██████████████████████████████████████| 2162/2162 [00:02<00:00, 988.09it/s]\n", "100%|██████████████████████████████████████| 2162/2162 [00:02<00:00, 986.75it/s]\n", "2025-11-25 12:09:27,274 - modisco-lite - INFO - - Round 0: Filtering seqlets by correlation\n", "2025-11-25 12:09:28,462 - modisco-lite - INFO - - Round 0: Density adaptation\n", "2025-11-25 12:09:32,639 - modisco-lite - INFO - - Round 0: Clustering with Leiden algorithm\n", "\u001b[0m\u001b[0m\u001b[0m\u001b[0m[Parallel(n_jobs=4)]: Using backend LokyBackend with 4 concurrent workers.\n", "[Parallel(n_jobs=4)]: Done 1 tasks | elapsed: 8.4s\n", "[Parallel(n_jobs=4)]: Done 2 tasks | elapsed: 8.6s\n", "[Parallel(n_jobs=4)]: Done 3 tasks | elapsed: 9.0s\n", "[Parallel(n_jobs=4)]: Done 4 tasks | elapsed: 10.0s\n", "[Parallel(n_jobs=4)]: Done 5 tasks | elapsed: 13.6s\n", "[Parallel(n_jobs=4)]: Done 6 tasks | elapsed: 13.9s\n", "[Parallel(n_jobs=4)]: Done 7 tasks | elapsed: 14.2s\n", "[Parallel(n_jobs=4)]: Done 8 tasks | elapsed: 14.4s\n", "[Parallel(n_jobs=4)]: Done 9 tasks | elapsed: 18.4s\n", "[Parallel(n_jobs=4)]: Done 10 out of 16 | elapsed: 18.5s remaining: 11.1s\n", "[Parallel(n_jobs=4)]: Done 11 out of 16 | elapsed: 18.7s remaining: 8.5s\n", "[Parallel(n_jobs=4)]: Done 12 out of 16 | elapsed: 21.3s remaining: 7.1s\n", "[Parallel(n_jobs=4)]: Done 13 out of 16 | elapsed: 22.9s remaining: 5.3s\n", "[Parallel(n_jobs=4)]: Done 14 out of 16 | elapsed: 23.4s remaining: 3.3s\n", "[Parallel(n_jobs=4)]: Done 16 out of 16 | elapsed: 25.7s finished\n", "2025-11-25 12:09:58,459 - modisco-lite - INFO - Leiden clustering quality for seed 0: 0.2315149027759094\n", "2025-11-25 12:09:58,459 - modisco-lite - INFO - Leiden clustering quality for seed 1: 0.2315149027759094\n", "2025-11-25 12:09:58,459 - modisco-lite - INFO - Leiden clustering quality for seed 2: 0.23030277739200716\n", "2025-11-25 12:09:58,459 - modisco-lite - INFO - Leiden clustering quality for seed 3: 0.2315149027759094\n", "2025-11-25 12:09:58,459 - modisco-lite - INFO - Leiden clustering quality for seed 4: 0.2315149027759094\n", "2025-11-25 12:09:58,459 - modisco-lite - INFO - Leiden clustering quality for seed 5: 0.2315149027759094\n", "2025-11-25 12:09:58,459 - modisco-lite - INFO - Leiden clustering quality for seed 6: 0.2315149027759094\n", "2025-11-25 12:09:58,459 - modisco-lite - INFO - Leiden clustering quality for seed 7: 0.2315149027759094\n", "2025-11-25 12:09:58,459 - modisco-lite - INFO - Leiden clustering quality for seed 8: 0.2315149027759094\n", "2025-11-25 12:09:58,459 - modisco-lite - INFO - Leiden clustering quality for seed 9: 0.2303035540754845\n", "2025-11-25 12:09:58,459 - modisco-lite - INFO - Leiden clustering quality for seed 10: 0.2315149027759094\n", "2025-11-25 12:09:58,459 - modisco-lite - INFO - Leiden clustering quality for seed 11: 0.2315149027759094\n", "2025-11-25 12:09:58,459 - modisco-lite - INFO - Leiden clustering quality for seed 12: 0.2315149027759094\n", "2025-11-25 12:09:58,459 - modisco-lite - INFO - Leiden clustering quality for seed 13: 0.2314479078599401\n", "2025-11-25 12:09:58,459 - modisco-lite - INFO - Leiden clustering quality for seed 14: 0.2315149027759094\n", "2025-11-25 12:09:58,459 - modisco-lite - INFO - Leiden clustering quality for seed 15: 0.2315149027759094\n", "2025-11-25 12:09:58,463 - modisco-lite - INFO - - Round 0: Generating patterns from clusters\n", "Generating patterns from clusters:: 100%|█████████| 4/4 [00:01<00:00, 2.34it/s]\n", "2025-11-25 12:10:00,172 - modisco-lite - INFO - - Round 1: Generating coarse resolution affinity matrix for 1847 seqlets\n", "100%|██████████████████████████████████████| 1847/1847 [00:03<00:00, 510.45it/s]\n", "2025-11-25 12:10:04,605 - modisco-lite - INFO - - Round 1: Generating fine resolution affinity matrix for 1847 seqlets and 1847 neighbors\n", "100%|██████████████████████████████████████| 1847/1847 [00:05<00:00, 367.14it/s]\n", "100%|██████████████████████████████████████| 1847/1847 [00:05<00:00, 363.20it/s]\n", "2025-11-25 12:10:14,881 - modisco-lite - INFO - - Round 1: Density adaptation\n", "2025-11-25 12:10:18,848 - modisco-lite - INFO - - Round 1: Clustering with Leiden algorithm\n", "[Parallel(n_jobs=4)]: Using backend LokyBackend with 4 concurrent workers.\n", "[Parallel(n_jobs=4)]: Done 1 tasks | elapsed: 3.8s\n", "[Parallel(n_jobs=4)]: Done 2 tasks | elapsed: 4.2s\n", "[Parallel(n_jobs=4)]: Done 3 tasks | elapsed: 5.4s\n", "[Parallel(n_jobs=4)]: Done 4 tasks | elapsed: 5.5s\n", "[Parallel(n_jobs=4)]: Done 5 tasks | elapsed: 8.5s\n", "[Parallel(n_jobs=4)]: Done 6 tasks | elapsed: 8.9s\n", "[Parallel(n_jobs=4)]: Done 7 tasks | elapsed: 10.0s\n", "[Parallel(n_jobs=4)]: Done 8 tasks | elapsed: 11.2s\n", "[Parallel(n_jobs=4)]: Done 9 tasks | elapsed: 12.0s\n", "[Parallel(n_jobs=4)]: Done 10 out of 16 | elapsed: 13.8s remaining: 8.3s\n", "[Parallel(n_jobs=4)]: Done 11 out of 16 | elapsed: 14.6s remaining: 6.6s\n", "[Parallel(n_jobs=4)]: Done 12 out of 16 | elapsed: 15.9s remaining: 5.3s\n", "[Parallel(n_jobs=4)]: Done 13 out of 16 | elapsed: 16.8s remaining: 3.9s\n", "[Parallel(n_jobs=4)]: Done 14 out of 16 | elapsed: 17.8s remaining: 2.5s\n", "[Parallel(n_jobs=4)]: Done 16 out of 16 | elapsed: 20.9s finished\n", "2025-11-25 12:10:39,872 - modisco-lite - INFO - Leiden clustering quality for seed 0: 0.19489312964734903\n", "2025-11-25 12:10:39,872 - modisco-lite - INFO - Leiden clustering quality for seed 1: 0.19487036751957057\n", "2025-11-25 12:10:39,872 - modisco-lite - INFO - Leiden clustering quality for seed 2: 0.19489312964734903\n", "2025-11-25 12:10:39,873 - modisco-lite - INFO - Leiden clustering quality for seed 3: 0.19489529999573643\n", "2025-11-25 12:10:39,873 - modisco-lite - INFO - Leiden clustering quality for seed 4: 0.19484005269342827\n", "2025-11-25 12:10:39,873 - modisco-lite - INFO - Leiden clustering quality for seed 5: 0.19489312964734903\n", "2025-11-25 12:10:39,873 - modisco-lite - INFO - Leiden clustering quality for seed 6: 0.19483674741628879\n", "2025-11-25 12:10:39,873 - modisco-lite - INFO - Leiden clustering quality for seed 7: 0.19489312964734903\n", "2025-11-25 12:10:39,873 - modisco-lite - INFO - Leiden clustering quality for seed 8: 0.19487869771192487\n", "2025-11-25 12:10:39,873 - modisco-lite - INFO - Leiden clustering quality for seed 9: 0.19487609321608304\n", "2025-11-25 12:10:39,873 - modisco-lite - INFO - Leiden clustering quality for seed 10: 0.19483674741628879\n", "2025-11-25 12:10:39,873 - modisco-lite - INFO - Leiden clustering quality for seed 11: 0.19483674741628879\n", "2025-11-25 12:10:39,873 - modisco-lite - INFO - Leiden clustering quality for seed 12: 0.19487609321608304\n", "2025-11-25 12:10:39,873 - modisco-lite - INFO - Leiden clustering quality for seed 13: 0.1948266833439534\n", "2025-11-25 12:10:39,873 - modisco-lite - INFO - Leiden clustering quality for seed 14: 0.19393479046208167\n", "2025-11-25 12:10:39,873 - modisco-lite - INFO - Leiden clustering quality for seed 15: 0.19489529999573643\n", "2025-11-25 12:10:39,873 - modisco-lite - INFO - - Round 1: Generating patterns from clusters\n", "Generating patterns from clusters:: 100%|█████████| 4/4 [00:01<00:00, 2.06it/s]\n", "2025-11-25 12:10:41,817 - modisco-lite - INFO - Detecting spurious merging of patterns\n", "Detecting spurious merging of patterns:: 100%|████| 4/4 [00:18<00:00, 4.64s/it]\u001b[0m\u001b[0m\u001b[0m\u001b[0m\n", "2025-11-25 12:11:10,053 - modisco-lite - INFO - Filtering and merging patterns\n", "Filtering patterns:: 100%|███████████████████| 24/24 [00:00<00:00, 17985.22it/s]\n", "Computing subpatterns:: 100%|███████████████████| 21/21 [00:04<00:00, 4.95it/s]\n", "Creating modisco logos for pos_patterns: 100%|██| 16/16 [00:22<00:00, 1.38s/it]\n", "Creating modisco logos for neg_patterns: 100%|██| 21/21 [00:43<00:00, 2.05s/it]\n", "Generating patterns dataframe: 100%|█████████████| 2/2 [00:00<00:00, 225.69it/s]\n", "Reading patterns for pos_patterns: 100%|██████| 16/16 [00:00<00:00, 3155.98it/s]\n", "Reading patterns for neg_patterns: 100%|██████| 21/21 [00:00<00:00, 3204.44it/s]\n", "\u001b[0m\u001b[0m\u001b[0m\u001b[0m[Parallel(n_jobs=4)]: Using backend LokyBackend with 4 concurrent workers.\n", "[Parallel(n_jobs=4)]: Done 1 tasks | elapsed: 5.2s\n", "[Parallel(n_jobs=4)]: Done 2 tasks | elapsed: 5.9s\n", "[Parallel(n_jobs=4)]: Done 3 tasks | elapsed: 6.7s\n", "[Parallel(n_jobs=4)]: Done 4 tasks | elapsed: 7.1s\n", "[Parallel(n_jobs=4)]: Done 5 tasks | elapsed: 12.4s\n", "[Parallel(n_jobs=4)]: Done 6 tasks | elapsed: 13.4s\n", "[Parallel(n_jobs=4)]: Done 7 tasks | elapsed: 14.2s\n", "[Parallel(n_jobs=4)]: Done 8 tasks | elapsed: 14.2s\n", "[Parallel(n_jobs=4)]: Done 9 tasks | elapsed: 24.6s\n", "[Parallel(n_jobs=4)]: Done 10 tasks | elapsed: 26.3s\n", "[Parallel(n_jobs=4)]: Done 11 tasks | elapsed: 51.2s\n", "[Parallel(n_jobs=4)]: Done 12 tasks | elapsed: 53.7s\n", "[Parallel(n_jobs=4)]: Done 13 tasks | elapsed: 1.3min\n", "[Parallel(n_jobs=4)]: Done 14 tasks | elapsed: 1.3min\n", "[Parallel(n_jobs=4)]: Done 15 tasks | elapsed: 1.4min\n", "[Parallel(n_jobs=4)]: Done 16 tasks | elapsed: 1.4min\n", "[Parallel(n_jobs=4)]: Done 17 tasks | elapsed: 1.8min\n", "[Parallel(n_jobs=4)]: Done 18 tasks | elapsed: 2.0min\n", "[Parallel(n_jobs=4)]: Done 19 tasks | elapsed: 2.0min\n", "[Parallel(n_jobs=4)]: Done 20 tasks | elapsed: 2.0min\n", "[Parallel(n_jobs=4)]: Done 21 tasks | elapsed: 2.1min\n", "[Parallel(n_jobs=4)]: Done 22 tasks | elapsed: 2.2min\n", "[Parallel(n_jobs=4)]: Done 23 tasks | elapsed: 2.3min\n", "[Parallel(n_jobs=4)]: Done 24 tasks | elapsed: 2.6min\n", "[Parallel(n_jobs=4)]: Done 25 tasks | elapsed: 2.7min\n", "[Parallel(n_jobs=4)]: Done 26 tasks | elapsed: 2.7min\n", "[Parallel(n_jobs=4)]: Done 27 tasks | elapsed: 3.0min\n", "[Parallel(n_jobs=4)]: Done 28 tasks | elapsed: 3.2min\n", "[Parallel(n_jobs=4)]: Done 29 tasks | elapsed: 3.2min\n", "[Parallel(n_jobs=4)]: Done 30 tasks | elapsed: 3.3min\n", "[Parallel(n_jobs=4)]: Done 31 out of 37 | elapsed: 3.3min remaining: 37.9s\n", "[Parallel(n_jobs=4)]: Done 32 out of 37 | elapsed: 3.6min remaining: 33.4s\n", "[Parallel(n_jobs=4)]: Done 33 out of 37 | elapsed: 3.6min remaining: 26.1s\n", "[Parallel(n_jobs=4)]: Done 34 out of 37 | elapsed: 3.6min remaining: 19.3s\n", "[Parallel(n_jobs=4)]: Done 35 out of 37 | elapsed: 4.0min remaining: 13.6s\n", "[Parallel(n_jobs=4)]: Done 37 out of 37 | elapsed: 4.5min finished\n", "\u001b[34m\u001b[1mwandb\u001b[0m: Downloading large artifact 'metadata:latest', 3122.32MB. 1 files...\n", "\u001b[34m\u001b[1mwandb\u001b[0m: 1 of 1 files downloaded. \n", "Done. 00:00:01.7 (1878.0MB/s)\n", "Processing pos_patterns patterns...: 100%|█████| 16/16 [00:00<00:00, 172.33it/s]\n", "Processing neg_patterns patterns...: 100%|█████| 21/21 [00:00<00:00, 575.43it/s]\n", "\u001b[0m\u001b[0m\u001b[0m\u001b[0m\u001b[0m" ] } ], "source": [ "! decima modisco \\\n", " --top-n-markers 50 \\\n", " --max-seqlets 5000 \\\n", " --tss-distance 5000 \\\n", " --tasks \"cell_type.str.contains('neuron') and organ == 'CNS' and disease == 'healthy'\" \\\n", " --transform \"specificity\" \\\n", " --batch-size 1 \\\n", " --model v1_rep0 \\\n", " -o example/modisco_neurons" ] }, { "cell_type": "markdown", "id": "8650e7ab", "metadata": {}, "source": [ " The analysis creates the following files:\n", " - `example/modisco_neurons.h5`: HDF5 file containing the discovered motifs and seqlets generated by modisco.\n", " - `example/modisco_neurons_patterns.h5`: HDF5 file with processed motif patterns generated by TF-Modisco see TF-modisco API.\n", " - `example/modisco_neurons_report/`: Directory containing HTML and image reports of discovered motifs.\n", " - `example/modisco_neurons_seqlets.bed`: BED file with genomic locations of seqlets.\n", " - `example/modisco_neurons_*.attributions.h5`: HDF5 file containing the raw attribution scores for each input sequence and gene for each replicate. This file is used as input for motif discovery and can be inspected to understand which regions of the genome are most important for model predictions.\n", " - `example/modisco_neurons_*.attributions.bigwig`: Average attribution scores for each base across all input sequences, stored in BigWig format for visualization in genome browsers." ] }, { "cell_type": "code", "execution_count": 3, "id": "736a6be2", "metadata": { "execution": { "iopub.execute_input": "2025-11-21T06:10:07.419004Z", "iopub.status.busy": "2025-11-21T06:10:07.418854Z", "iopub.status.idle": "2025-11-21T06:10:07.561463Z", "shell.execute_reply": "2025-11-21T06:10:07.560470Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "example/modisco_neurons.attributions.bigwig\n", "example/modisco_neurons.attributions.h5\n", "example/modisco_neurons.modisco.h5\n", "example/modisco_neurons.seqlets.bed\n", "example/modisco_neurons.warnings.qc.log\n", "\n", "example/modisco_neurons_report:\n", "ARNT2.H13CORE.0.P.B.png PAX4.H13CORE.1.S.C.png\n", "ARNT.H13CORE.1.P.B.png\t PO3F2.H13CORE.1.S.B.png\n", "ATF2.H13CORE.1.P.B.png\t PO4F2.H13CORE.0.S.B.png\n", "ATF3.H13CORE.2.P.B.png\t PO6F1.H13CORE.0.SM.B.png\n", "ATF4.H13CORE.0.P.B.png\t RORB.H13CORE.0.SM.B.png\n", "ATF4.H13CORE.1.S.B.png\t SATB1.H13CORE.0.P.B.png\n", "BACH2.H13CORE.1.SM.B.png SNAI2.H13CORE.0.PSM.A.png\n", "BATF2.H13CORE.0.PSG.A.png SOX11.H13CORE.0.P.B.png\n", "CEBPG.H13CORE.2.P.B.png SP140L.H13CORE.0.PSGIB.A.png\n", "CLOCK.H13CORE.1.PS.A.png SP2.H13CORE.1.P.B.png\n", "CREB1.H13CORE.0.PSM.A.png SRBP1.H13CORE.0.P.B.png\n", "DDIT3.H13CORE.0.P.B.png STAT1.H13CORE.1.P.B.png\n", "ELK4.H13CORE.0.PSM.A.png STAT2.H13CORE.0.P.B.png\n", "ERR3.H13CORE.0.PSM.A.png STF1.H13CORE.0.PSM.A.png\n", "FEV.H13CORE.0.S.B.png\t TAF1.H13CORE.0.P.B.png\n", "FLI1.H13CORE.0.PSM.A.png TEAD1.H13CORE.1.P.C.png\n", "FOXJ2.H13CORE.1.SM.B.png trimmed_logos\n", "IRF4.H13CORE.0.P.B.png\t TYY2.H13CORE.0.PS.A.png\n", "IRF4.H13CORE.1.S.B.png\t YBOX1.H13CORE.0.SM.B.png\n", "IRF7.H13CORE.1.SM.B.png Z354A.H13CORE.0.P.B.png\n", "IRF8.H13CORE.0.P.B.png\t ZBT44.H13CORE.0.P.C.png\n", "ITF2.H13CORE.1.PSM.A.png ZBTB40.H13CORE.0.PSG.A.png\n", "KLF16.H13CORE.1.P.B.png ZEB1.H13CORE.0.P.B.png\n", "KLF9.H13CORE.1.P.B.png\t ZEB2.H13CORE.0.P.B.png\n", "KMT2A.H13CORE.0.P.B.png ZN266.H13CORE.0.P.B.png\n", "KMT2B.H13CORE.0.P.B.png ZN281.H13CORE.1.SM.B.png\n", "LMX1B.H13CORE.0.P.C.png ZN483.H13CORE.0.P.C.png\n", "LMX1B.H13CORE.2.S.B.png ZN519.H13CORE.0.P.C.png\n", "motifs.html\t\t ZN529.H13CORE.0.P.B.png\n", "MSANTD4.H13CORE.0.SGIB.A.png ZN616.H13CORE.0.P.C.png\n", "MYSM1.H13CORE.0.P.B.png ZN740.H13CORE.0.P.C.png\n", "MYT1L.H13CORE.0.P.C.png ZN740.H13CORE.1.S.C.png\n", "NFAC2.H13CORE.0.P.B.png ZN776.H13CORE.0.P.C.png\n", "NFE2.H13CORE.1.SM.B.png ZN778.H13CORE.1.P.B.png\n", "NR1I2.H13CORE.1.S.C.png ZN784.H13CORE.0.SM.B.png\n", "NR1I3.H13CORE.1.PSM.A.png ZNF292.H13CORE.0.PSG.A.png\n", "NR5A2.H13CORE.0.PSM.A.png ZNF618.H13CORE.0.G.B.png\n", "PATZ1.H13CORE.0.P.B.png\n" ] } ], "source": [ "! ls example/modisco_neurons*" ] }, { "cell_type": "markdown", "id": "79947605", "metadata": {}, "source": [ "The following file generates an HTML report with motif visualizations and detailed statistics for each discovered pattern." ] }, { "cell_type": "code", "execution_count": 4, "id": "caf89100", "metadata": { "execution": { "iopub.execute_input": "2025-11-21T06:10:07.563276Z", "iopub.status.busy": "2025-11-21T06:10:07.563099Z", "iopub.status.idle": "2025-11-21T06:10:07.803904Z", "shell.execute_reply": "2025-11-21T06:10:07.803087Z" } }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
patternnum_seqletsmodisco_cwm_fwdmodisco_cwm_revmatch0qval0match0_logomatch1qval1match1_logomatch2qval2match2_logo
pos_patterns.pattern_092ZN529.H13CORE.0.P.B0.086240PO6F1.H13CORE.0.SM.B0.336992SOX11.H13CORE.0.P.B1.000000
pos_patterns.pattern_176ZN776.H13CORE.0.P.C0.517371ATF4.H13CORE.1.S.B0.517371DDIT3.H13CORE.0.P.B0.517371
pos_patterns.pattern_274KMT2A.H13CORE.0.P.B0.000002ZN519.H13CORE.0.P.C0.001973KMT2B.H13CORE.0.P.B0.010821
pos_patterns.pattern_373ATF4.H13CORE.0.P.B1.000000BATF2.H13CORE.0.PSG.A1.000000YBOX1.H13CORE.0.SM.B1.000000
pos_patterns.pattern_471ATF4.H13CORE.1.S.B0.001862ATF3.H13CORE.2.P.B0.002186CEBPG.H13CORE.2.P.B0.002186
pos_patterns.pattern_568ZEB2.H13CORE.0.P.B0.472675ZEB1.H13CORE.0.P.B0.472675ITF2.H13CORE.1.PSM.A0.472675
pos_patterns.pattern_667FOXJ2.H13CORE.1.SM.B0.283216ATF2.H13CORE.1.P.B0.283216ZBTB40.H13CORE.0.PSG.A0.339175
pos_patterns.pattern_766KLF16.H13CORE.1.P.B0.001949SP2.H13CORE.1.P.B0.001949KMT2A.H13CORE.0.P.B0.001949
pos_patterns.pattern_866ZN483.H13CORE.0.P.C0.175568ZNF292.H13CORE.0.PSG.A0.336695ZBT44.H13CORE.0.P.C0.537918
pos_patterns.pattern_961ZEB2.H13CORE.0.P.B0.053112ITF2.H13CORE.1.PSM.A0.053112SNAI2.H13CORE.0.PSM.A0.053112
pos_patterns.pattern_1059ARNT2.H13CORE.0.P.B0.091374CLOCK.H13CORE.1.PS.A0.091374TEAD1.H13CORE.1.P.C0.900591
pos_patterns.pattern_1143KMT2A.H13CORE.0.P.B0.000005KLF16.H13CORE.1.P.B0.000018KLF9.H13CORE.1.P.B0.000018
pos_patterns.pattern_1243NR5A2.H13CORE.0.PSM.A0.011962ERR3.H13CORE.0.PSM.A0.011962STF1.H13CORE.0.PSM.A0.011962
pos_patterns.pattern_1334ZN740.H13CORE.1.S.C0.031638ZN281.H13CORE.1.SM.B0.031638ZN740.H13CORE.0.P.C0.031638
pos_patterns.pattern_1432PATZ1.H13CORE.0.P.B0.028355KMT2A.H13CORE.0.P.B0.039733ARNT.H13CORE.1.P.B0.086674
pos_patterns.pattern_1527KMT2A.H13CORE.0.P.B0.000015ZN519.H13CORE.0.P.C0.000410KLF9.H13CORE.1.P.B0.009287
neg_patterns.pattern_0300FLI1.H13CORE.0.PSM.A0.002008ELK4.H13CORE.0.PSM.A0.002008FEV.H13CORE.0.S.B0.002008
neg_patterns.pattern_1110MYT1L.H13CORE.0.P.C1.000000MSANTD4.H13CORE.0.SGIB.A1.000000NR1I3.H13CORE.1.PSM.A1.000000
neg_patterns.pattern_2109KMT2A.H13CORE.0.P.B0.000019ZN519.H13CORE.0.P.C0.003585KLF9.H13CORE.1.P.B0.005799
neg_patterns.pattern_3108SATB1.H13CORE.0.P.B0.001747LMX1B.H13CORE.2.S.B0.032521ZNF618.H13CORE.0.G.B0.037035
neg_patterns.pattern_474KMT2A.H13CORE.0.P.B0.129437CREB1.H13CORE.0.PSM.A0.142209SP2.H13CORE.1.P.B0.153718
neg_patterns.pattern_573KMT2A.H13CORE.0.P.B0.000002KLF9.H13CORE.1.P.B0.000002PATZ1.H13CORE.0.P.B0.000023
neg_patterns.pattern_673ZEB1.H13CORE.0.P.B1.000000ZN616.H13CORE.0.P.C1.000000ZN778.H13CORE.1.P.B1.000000
neg_patterns.pattern_770IRF8.H13CORE.0.P.B0.014792IRF4.H13CORE.0.P.B0.076993LMX1B.H13CORE.0.P.C0.076993
neg_patterns.pattern_866PO4F2.H13CORE.0.S.B0.147974PO3F2.H13CORE.1.S.B0.354977PAX4.H13CORE.1.S.C0.354977
neg_patterns.pattern_961KMT2A.H13CORE.0.P.B0.002038SP2.H13CORE.1.P.B0.013105MYSM1.H13CORE.0.P.B0.013105
neg_patterns.pattern_1060ZN784.H13CORE.0.SM.B0.027715KMT2A.H13CORE.0.P.B0.139139PATZ1.H13CORE.0.P.B0.152445
neg_patterns.pattern_1152STAT2.H13CORE.0.P.B0.000388STAT1.H13CORE.1.P.B0.001192IRF4.H13CORE.0.P.B0.037773
neg_patterns.pattern_1251CREB1.H13CORE.0.PSM.A0.200907SP140L.H13CORE.0.PSGIB.A0.265513SRBP1.H13CORE.0.P.B0.265513
neg_patterns.pattern_1346MYT1L.H13CORE.0.P.C0.034112Z354A.H13CORE.0.P.B0.558669ZNF618.H13CORE.0.G.B0.736356
neg_patterns.pattern_1445SP2.H13CORE.1.P.B0.000071KLF9.H13CORE.1.P.B0.000304KLF16.H13CORE.1.P.B0.000304
neg_patterns.pattern_1541ZN266.H13CORE.0.P.B1.000000RORB.H13CORE.0.SM.B1.000000NR1I2.H13CORE.1.S.C1.000000
neg_patterns.pattern_1640KMT2A.H13CORE.0.P.B0.013985KLF16.H13CORE.1.P.B0.020838PATZ1.H13CORE.0.P.B0.022392
neg_patterns.pattern_1738TAF1.H13CORE.0.P.B0.000003KMT2A.H13CORE.0.P.B0.000009TYY2.H13CORE.0.PS.A0.000059
neg_patterns.pattern_1838KMT2A.H13CORE.0.P.B0.000109KLF9.H13CORE.1.P.B0.007919PATZ1.H13CORE.0.P.B0.021664
neg_patterns.pattern_1937NFE2.H13CORE.1.SM.B0.001095NFAC2.H13CORE.0.P.B0.001095BACH2.H13CORE.1.SM.B0.001095
neg_patterns.pattern_2033IRF4.H13CORE.1.S.B0.489419IRF8.H13CORE.0.P.B0.489419IRF7.H13CORE.1.SM.B0.489419
" ], "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.display import HTML, Image\n", "\n", "HTML(filename=\"example/modisco_neurons_report/motifs.html\")" ] }, { "cell_type": "code", "execution_count": 8, "id": "41a34957", "metadata": { "execution": { "iopub.execute_input": "2025-11-21T06:10:07.805193Z", "iopub.status.busy": "2025-11-21T06:10:07.805063Z", "iopub.status.idle": "2025-11-21T06:10:07.866956Z", "shell.execute_reply": "2025-11-21T06:10:07.865904Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+gAAAEsCAYAAABQRZlvAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAbL9JREFUeJzt3Xl8VOW9P/DPmZnMZF8hCWFLwqYgmyAIirigSC3VLlatLUirvbVyb23aesVfBW29jbbqpQuVuoK1itYFe62iGAtUAREwruwJSyAJ2ZOZJLOd8/vjZCYz2ZfznHMm83m/Xsczc+bM8zwzg5n5nu+zSIqiKCAiIiIiIiIiQ1mMbgARERERERERMUAnIiIiIiIiMgUG6EREREREREQmwACdiIiIiIiIyAQYoBMRERERERGZAAN0IiIiIiIiIhNggE5ERERERERkAgzQiYiIiIiIiEyAAToRERERERGRCTBAJyIiIiIiIjIBBuhEREREREREJsAAnYiIiIiIiMgEGKATERERERERmQADdCIiIiIiIiITYIBOREREREREZAIM0ImIiIiIiIhMgAE6ERERERERkQkwQCciIiIiIiIyAQboRERERERERCbAAJ2IiIiIiIjIBBigExEREREREZkAA3QiIiIiIiIiE2CATkRERERERGQCDNCJiIiIiIiITIABOhEREREREZEJMEAnIiIiIiIiMgEG6EREREREREQmwACdiIiIiIiIyAQYoBMRERERERGZAAN0IiIiIiIiIhNggE5ERERERERkAgzQiYiIiIiIiEyAAToRERERERGRCTBAJyIiIiIiIjIBBuhEREREREREJmAzugFERERE/eZtAhoPAo0HgIYv1X3jIcBTC/ibAV8zIFkAiwOwpwBxo4D4ti1uFJA6DRh2IWBPNfqVEBERBUmKoihGN4KIiIioV42HgJMvAideBBq/1KBACUiZDAybDwxfAIxcyoCdiIgMxQCdiIiIzMt5HDj5EnByE1D3sdi6LHYg5yvAmBvVYN0WL7Y+IiKiDhigExERkfk4jwOf/hI48Tdj6rclAGNvAibdCaRMMaYNREQUdRigExERkXm4a4Ev/gc48idA9hjdGlXOV4Fp/wOkTTO6JURENMQxQCciIiLj+d3A4T+qwbm33ujWdEECcm8Gpt4PJOYb3RgiIhqiGKATERGRsVwngfe/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", "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Image(filename=\"example/modisco_neurons_report/MYT1L.H13CORE.0.P.C.png\")" ] }, { "cell_type": "markdown", "id": "4e5caa87", "metadata": {}, "source": [ "### CLI Subcommands " ] }, { "cell_type": "markdown", "id": "cce65dd7", "metadata": {}, "source": [ "The Modisco API provides several subcommands to perform motif discovery and analysis in a stepwise manner.\n", "Here is a detailed explanation of each step:\n", "\n", "1. `modisco-attributions`: This subcommand computes attribution scores for each input sequence and gene. You can parallelize this step by running it on multiple GPUs. This is the only step that requires GPUs.\n", "\n", "2. `modisco-patterns`: After computing attributions, this subcommand discovers motifs (patterns) by clustering\n", " the attribution scores using TF-Modisco. See the documentation of Modisco for the details of the output format.\n", "\n", "3. `modisco-report`: This subcommand run tomtom to find motif matches for patterns motif images from the discovered patterns.\n", "\n", "4. `modisco-seqlet-bed`: This subcommand extracts the genomic locations of seqlets (short, high-scoring\n", " regions) from the modisco results and writes them to a BED file. This allows for downstream analysis\n", " or visualization in genome browsers.\n", "\n", "By running these subcommands in sequence, you can go from raw model predictions to interpretable motif\n", "discovery, visualization, and downstream analysis." ] }, { "cell_type": "markdown", "id": "32b3b6e3", "metadata": {}, "source": [ "Let's generate attributions for first replicate:" ] }, { "cell_type": "code", "execution_count": 9, "id": "3b3faf06", "metadata": { "execution": { "iopub.execute_input": "2025-11-21T06:10:07.868676Z", "iopub.status.busy": "2025-11-21T06:10:07.868508Z", "iopub.status.idle": "2025-11-21T06:11:28.538893Z", "shell.execute_reply": "2025-11-21T06:11:28.538153Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "decima - INFO - Using device: 0\n", "decima - INFO - Loading model v1_rep0 and metadata to compute attributions...\n", "\u001b[34m\u001b[1mwandb\u001b[0m: Currently logged in as: \u001b[33mmhcelik\u001b[0m (\u001b[33mmhcw\u001b[0m) to \u001b[32mhttps://api.wandb.ai\u001b[0m. Use \u001b[1m`wandb login --relogin`\u001b[0m to force relogin\n", "\u001b[34m\u001b[1mwandb\u001b[0m: Downloading large artifact 'rep0:latest', 720.03MB. 1 files...\n", "\u001b[34m\u001b[1mwandb\u001b[0m: 1 of 1 files downloaded. \n", "Done. 00:00:00.8 (863.9MB/s)\n", "\u001b[34m\u001b[1mwandb\u001b[0m: \u001b[33mWARNING\u001b[0m A graphql request initiated by the public wandb API timed out (timeout=19 sec). Create a new API with an integer timeout larger than 19, e.g., `api = wandb.Api(timeout=29)` to increase the graphql timeout.\n", "\u001b[34m\u001b[1mwandb\u001b[0m: Downloading large artifact 'metadata:latest', 3122.32MB. 1 files...\n", "\u001b[34m\u001b[1mwandb\u001b[0m: 1 of 1 files downloaded. \n", "Done. 00:00:01.6 (1964.2MB/s)\n", "/home/celikm5/Projects/decima/src/decima/interpret/attributer.py:66: UserWarning: `off_tasks` is not provided. Using all other tasks as off_tasks.\n", "100%|████████████████████████████████████████████| 1/1 [00:00<00:00, 330.03it/s]\n", "Computing attributions...: 8%|█▎ | 4/50 [00:04<00:44, 1.03it/s]decima - WARNING - Gene XRCC5 has low correlation with the model. Pearson: 0.4621304058925145. Be careful with the predictions of the model for this gene. Check `DecimaResult.load().gene_metadata['pearson']` to see the correlation of the gene with the model.\n", "Computing attributions...: 10%|█▋ | 5/50 [00:05<00:41, 1.08it/s]decima - WARNING - Gene FNIP1 has low correlation with the model. Pearson: 0.044592478397006044. Be careful with the predictions of the model for this gene. Check `DecimaResult.load().gene_metadata['pearson']` to see the correlation of the gene with the model.\n", "Computing attributions...: 40%|██████▍ | 20/50 [00:17<00:25, 1.19it/s]decima - WARNING - Gene LRRFIP1 has low correlation with the model. Pearson: 0.4621130932978845. Be careful with the predictions of the model for this gene. Check `DecimaResult.load().gene_metadata['pearson']` to see the correlation of the gene with the model.\n", "Computing attributions...: 70%|███████████▏ | 35/50 [00:30<00:12, 1.20it/s]decima - WARNING - Gene CHD4 has low correlation with the model. Pearson: 0.27165706153002717. Be careful with the predictions of the model for this gene. Check `DecimaResult.load().gene_metadata['pearson']` to see the correlation of the gene with the model.\n", "Computing attributions...: 100%|████████████████| 50/50 [00:42<00:00, 1.17it/s]\n", "\u001b[0m" ] } ], "source": [ "! decima modisco-attributions \\\n", " --top-n-markers 50 \\\n", " --tasks \"cell_type.str.contains('neuron') and organ == 'CNS' and disease == 'healthy'\" \\\n", " --batch-size 1 \\\n", " --model v1_rep0 \\\n", " -o example/modisco_subcommands/modisco_neurons_0" ] }, { "cell_type": "markdown", "id": "bc622b7f", "metadata": {}, "source": [ "end second replicate:" ] }, { "cell_type": "code", "execution_count": 10, "id": "dffdc854", "metadata": { "execution": { "iopub.execute_input": "2025-11-21T06:11:28.541730Z", "iopub.status.busy": "2025-11-21T06:11:28.541459Z", "iopub.status.idle": "2025-11-21T06:13:02.045520Z", "shell.execute_reply": "2025-11-21T06:13:02.044815Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "decima - INFO - Using device: 0\n", "decima - INFO - Loading model v1_rep1 and metadata to compute attributions...\n", "\u001b[34m\u001b[1mwandb\u001b[0m: Currently logged in as: \u001b[33mmhcelik\u001b[0m (\u001b[33mmhcw\u001b[0m) to \u001b[32mhttps://api.wandb.ai\u001b[0m. Use \u001b[1m`wandb login --relogin`\u001b[0m to force relogin\n", "\u001b[34m\u001b[1mwandb\u001b[0m: Downloading large artifact 'rep1:latest', 720.03MB. 1 files...\n", "\u001b[34m\u001b[1mwandb\u001b[0m: 1 of 1 files downloaded. \n", "Done. 00:00:02.0 (361.9MB/s)\n", "\u001b[34m\u001b[1mwandb\u001b[0m: Downloading large artifact 'metadata:latest', 3122.32MB. 1 files...\n", "\u001b[34m\u001b[1mwandb\u001b[0m: 1 of 1 files downloaded. \n", "Done. 00:00:01.7 (1872.3MB/s)\n", "/home/celikm5/Projects/decima/src/decima/interpret/attributer.py:66: UserWarning: `off_tasks` is not provided. Using all other tasks as off_tasks.\n", "100%|████████████████████████████████████████████| 1/1 [00:00<00:00, 321.99it/s]\n", "Computing attributions...: 8%|█▎ | 4/50 [00:04<00:43, 1.06it/s]decima - WARNING - Gene XRCC5 has low correlation with the model. Pearson: 0.4621304058925145. Be careful with the predictions of the model for this gene. Check `DecimaResult.load().gene_metadata['pearson']` to see the correlation of the gene with the model.\n", "Computing attributions...: 10%|█▋ | 5/50 [00:04<00:40, 1.10it/s]decima - WARNING - Gene FNIP1 has low correlation with the model. Pearson: 0.044592478397006044. Be careful with the predictions of the model for this gene. Check `DecimaResult.load().gene_metadata['pearson']` to see the correlation of the gene with the model.\n", "Computing attributions...: 40%|██████▍ | 20/50 [00:17<00:25, 1.19it/s]decima - WARNING - Gene LRRFIP1 has low correlation with the model. Pearson: 0.4621130932978845. Be careful with the predictions of the model for this gene. Check `DecimaResult.load().gene_metadata['pearson']` to see the correlation of the gene with the model.\n", "Computing attributions...: 70%|███████████▏ | 35/50 [00:30<00:12, 1.19it/s]decima - WARNING - Gene CHD4 has low correlation with the model. Pearson: 0.27165706153002717. Be careful with the predictions of the model for this gene. Check `DecimaResult.load().gene_metadata['pearson']` to see the correlation of the gene with the model.\n", "Computing attributions...: 100%|████████████████| 50/50 [00:42<00:00, 1.17it/s]\n", "\u001b[0m" ] } ], "source": [ "! decima modisco-attributions \\\n", " --top-n-markers 50 \\\n", " --tasks \"cell_type.str.contains('neuron') and organ == 'CNS' and disease == 'healthy'\" \\\n", " --batch-size 1 \\\n", " --model v1_rep1 \\\n", " -o example/modisco_subcommands/modisco_neurons_1" ] }, { "cell_type": "code", "execution_count": 13, "id": "a9808dc8", "metadata": { "execution": { "iopub.execute_input": "2025-11-21T06:13:02.047298Z", "iopub.status.busy": "2025-11-21T06:13:02.047109Z", "iopub.status.idle": "2025-11-21T06:13:02.182109Z", "shell.execute_reply": "2025-11-21T06:13:02.181578Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "example/modisco_subcommands/modisco_neurons_0.attributions.bigwig\n", "example/modisco_subcommands/modisco_neurons_0.attributions.h5\n", "example/modisco_subcommands/modisco_neurons_0.warnings.qc.log\n", "example/modisco_subcommands/modisco_neurons_1.attributions.bigwig\n", "example/modisco_subcommands/modisco_neurons_1.attributions.h5\n", "example/modisco_subcommands/modisco_neurons_1.warnings.qc.log\n", "example/modisco_subcommands/modisco_neurons.modisco.h5\n", "example/modisco_subcommands/modisco_neurons.seqlets.bed\n", "\n", "example/modisco_subcommands/modisco_neurons_report:\n", "AHCTF1.H13CORE.0.B.B.png NKX61.H13CORE.0.PS.A.png\n", "ATF4.H13CORE.2.SM.B.png NR1D1.H13CORE.0.P.B.png\n", "BACH1.H13CORE.0.P.B.png NR1I3.H13CORE.1.PSM.A.png\n", "CEBPG.H13CORE.2.P.B.png NR2F6.H13CORE.3.SM.B.png\n", "CREB1.H13CORE.0.PSM.A.png PATZ1.H13CORE.0.P.B.png\n", "DDIT3.H13CORE.0.P.B.png PO5F1.H13CORE.0.P.B.png\n", "ELK4.H13CORE.0.PSM.A.png PRD13.H13CORE.0.P.B.png\n", "ERR1.H13CORE.0.PSM.A.png RORG.H13CORE.0.M.C.png\n", "ERR2.H13CORE.0.PSM.A.png SNAI2.H13CORE.0.PSM.A.png\n", "ERR3.H13CORE.0.PSM.A.png SOX2.H13CORE.1.P.B.png\n", "ETV4.H13CORE.0.P.B.png\t SOX3.H13CORE.1.S.C.png\n", "ETV6.H13CORE.0.PS.A.png SP140L.H13CORE.0.PSGIB.A.png\n", "FEV.H13CORE.0.S.B.png\t SP2.H13CORE.1.P.B.png\n", "FOSB.H13CORE.1.M.C.png\t SP3.H13CORE.0.P.B.png\n", "FOS.H13CORE.1.S.C.png\t SPIB.H13CORE.0.P.B.png\n", "HTF4.H13CORE.0.PSM.A.png SPIB.H13CORE.1.S.C.png\n", "IRF1.H13CORE.0.P.B.png\t STAT2.H13CORE.0.P.B.png\n", "IRF4.H13CORE.0.P.B.png\t TAF1.H13CORE.0.P.B.png\n", "IRF8.H13CORE.0.P.B.png\t TFE3.H13CORE.0.PSM.A.png\n", "ITF2.H13CORE.1.PSM.A.png TFEB.H13CORE.0.SM.B.png\n", "JDP2.H13CORE.0.SM.B.png TFEC.H13CORE.0.M.B.png\n", "JUN.H13CORE.0.P.B.png\t TFEC.H13CORE.1.SM.B.png\n", "KLF12.H13CORE.0.P.C.png trimmed_logos\n", "KLF16.H13CORE.1.P.B.png TYY1.H13CORE.0.PSM.A.png\n", "KLF8.H13CORE.1.P.C.png\t TYY2.H13CORE.0.PS.A.png\n", "KLF9.H13CORE.1.P.B.png\t ZBT14.H13CORE.0.P.C.png\n", "KMT2A.H13CORE.0.P.B.png ZEB1.H13CORE.0.P.B.png\n", "MESP1.H13CORE.0.S.C.png ZEB2.H13CORE.0.P.B.png\n", "motifs.html\t\t ZFP28.H13CORE.0.P.B.png\n", "MYC.H13CORE.0.P.B.png\t ZN37A.H13CORE.0.P.B.png\n", "MYCN.H13CORE.0.PS.A.png ZN519.H13CORE.0.P.C.png\n", "MYT1.H13CORE.0.SG.A.png ZN543.H13CORE.0.P.C.png\n", "MYT1L.H13CORE.0.P.C.png ZN616.H13CORE.0.P.C.png\n", "NANOG.H13CORE.0.P.B.png ZN778.H13CORE.1.P.B.png\n", "NF2L2.H13CORE.0.P.B.png ZNF618.H13CORE.0.G.B.png\n" ] } ], "source": [ "! ls example/modisco_subcommands/modisco_neurons*" ] }, { "cell_type": "markdown", "id": "505d7e5f", "metadata": {}, "source": [ "Next, we will use the generated attributions as input for the pattern discovery step with MoDISco.\n", "The `--attributions` argument expects a comma-separated list of attribution files (one per replicate or model),\n", "which we produced in the previous step. These files contain the importance scores for each base in the input sequences,\n", "and are required for MoDISco to identify recurring patterns (motifs)." ] }, { "cell_type": "code", "execution_count": 12, "id": "025b6519", "metadata": { "execution": { "iopub.execute_input": "2025-11-21T06:13:02.183509Z", "iopub.status.busy": "2025-11-21T06:13:02.183359Z", "iopub.status.idle": "2025-11-21T06:13:40.220609Z", "shell.execute_reply": "2025-11-21T06:13:40.219968Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "decima - INFO - Loading metadata for model ensemble...\n", "\u001b[34m\u001b[1mwandb\u001b[0m: Currently logged in as: \u001b[33mmhcelik\u001b[0m (\u001b[33mmhcw\u001b[0m) to \u001b[32mhttps://api.wandb.ai\u001b[0m. Use \u001b[1m`wandb login --relogin`\u001b[0m to force relogin\n", "\u001b[34m\u001b[1mwandb\u001b[0m: Downloading large artifact 'metadata:latest', 3122.32MB. 1 files...\n", "\u001b[34m\u001b[1mwandb\u001b[0m: 1 of 1 files downloaded. \n", "Done. 00:00:02.0 (1586.1MB/s)\n", "100%|████████████████████████████████████████████| 1/1 [00:00<00:00, 364.41it/s]\n", "Loading attributions and sequences...: 100%|████| 50/50 [00:10<00:00, 4.87it/s]\n", "2025-11-25 12:24:08,734 - modisco-lite - INFO - Running TFMoDISco version 2.4.0\n", "2025-11-25 12:24:08,740 - modisco-lite - INFO - Extracting seqlets for 50 tasks:\n", "2025-11-25 12:24:08,740 - modisco-lite - INFO - - Smoothing and splitting tracks\n", "2025-11-25 12:24:08,753 - modisco-lite - INFO - - Computing null values with Laplacian null model\n", "2025-11-25 12:24:08,810 - modisco-lite - INFO - - Computing isotonic thresholds\n", "2025-11-25 12:24:08,841 - modisco-lite - INFO - - Refining thresholds\n", "2025-11-25 12:24:09,134 - modisco-lite - INFO - - Extracting seqlets\n", "2025-11-25 12:24:09,185 - modisco-lite - INFO - - Extracting 1398 positive seqlets\n", "2025-11-25 12:24:09,192 - modisco-lite - INFO - - Round 0: Generating coarse resolution affinity matrix for 1398 seqlets\n", "100%|██████████████████████████████████████| 1398/1398 [00:05<00:00, 238.94it/s]\n", "2025-11-25 12:24:22,828 - modisco-lite - INFO - - Round 0: Generating fine resolution affinity matrix for 1398 seqlets and 1398 neighbors\n", "100%|██████████████████████████████████████| 1398/1398 [00:01<00:00, 995.30it/s]\n", "100%|██████████████████████████████████████| 1398/1398 [00:01<00:00, 993.73it/s]\n", "2025-11-25 12:24:25,746 - modisco-lite - INFO - - Round 0: Filtering seqlets by correlation\n", "2025-11-25 12:24:26,513 - modisco-lite - INFO - - Round 0: Density adaptation\n", "2025-11-25 12:24:29,124 - modisco-lite - INFO - - Round 0: Clustering with Leiden algorithm\n", "\u001b[0m\u001b[0m\u001b[0m\u001b[0m[Parallel(n_jobs=4)]: Using backend LokyBackend with 4 concurrent workers.\n", "[Parallel(n_jobs=4)]: Done 1 tasks | elapsed: 7.5s\n", "[Parallel(n_jobs=4)]: Done 2 tasks | elapsed: 7.6s\n", "[Parallel(n_jobs=4)]: Done 3 tasks | elapsed: 7.6s\n", "[Parallel(n_jobs=4)]: Done 4 tasks | elapsed: 8.0s\n", "[Parallel(n_jobs=4)]: Done 5 tasks | elapsed: 10.3s\n", "[Parallel(n_jobs=4)]: Done 6 tasks | elapsed: 10.4s\n", "[Parallel(n_jobs=4)]: Done 7 tasks | elapsed: 10.7s\n", "[Parallel(n_jobs=4)]: Done 8 tasks | elapsed: 12.1s\n", "[Parallel(n_jobs=4)]: Done 9 tasks | elapsed: 13.0s\n", "[Parallel(n_jobs=4)]: Done 10 out of 16 | elapsed: 14.0s remaining: 8.4s\n", "[Parallel(n_jobs=4)]: Done 11 out of 16 | elapsed: 14.4s remaining: 6.5s\n", "[Parallel(n_jobs=4)]: Done 12 out of 16 | elapsed: 14.6s remaining: 4.9s\n", "[Parallel(n_jobs=4)]: Done 13 out of 16 | elapsed: 15.2s remaining: 3.5s\n", "[Parallel(n_jobs=4)]: Done 14 out of 16 | elapsed: 17.1s remaining: 2.4s\n", "[Parallel(n_jobs=4)]: Done 16 out of 16 | elapsed: 17.3s finished\n", "2025-11-25 12:24:46,515 - modisco-lite - INFO - Leiden clustering quality for seed 0: 0.19403347967609325\n", "2025-11-25 12:24:46,515 - modisco-lite - INFO - Leiden clustering quality for seed 1: 0.19402832229401765\n", "2025-11-25 12:24:46,515 - modisco-lite - INFO - Leiden clustering quality for seed 2: 0.1940264791321347\n", "2025-11-25 12:24:46,515 - modisco-lite - INFO - Leiden clustering quality for seed 3: 0.19403347967609325\n", "2025-11-25 12:24:46,515 - modisco-lite - INFO - Leiden clustering quality for seed 4: 0.19402832229401765\n", "2025-11-25 12:24:46,515 - modisco-lite - INFO - Leiden clustering quality for seed 5: 0.19402832229401765\n", "2025-11-25 12:24:46,515 - modisco-lite - INFO - Leiden clustering quality for seed 6: 0.19403347967609325\n", "2025-11-25 12:24:46,515 - modisco-lite - INFO - Leiden clustering quality for seed 7: 0.1940091525623618\n", "2025-11-25 12:24:46,515 - modisco-lite - INFO - Leiden clustering quality for seed 8: 0.19403347967609325\n", "2025-11-25 12:24:46,515 - modisco-lite - INFO - Leiden clustering quality for seed 9: 0.19403347967609325\n", "2025-11-25 12:24:46,515 - modisco-lite - INFO - Leiden clustering quality for seed 10: 0.19403347967609325\n", "2025-11-25 12:24:46,515 - modisco-lite - INFO - Leiden clustering quality for seed 11: 0.19403347967609325\n", "2025-11-25 12:24:46,515 - modisco-lite - INFO - Leiden clustering quality for seed 12: 0.19403347967609325\n", "2025-11-25 12:24:46,515 - modisco-lite - INFO - Leiden clustering quality for seed 13: 0.19403347967609325\n", "2025-11-25 12:24:46,515 - modisco-lite - INFO - Leiden clustering quality for seed 14: 0.19403347967609325\n", "2025-11-25 12:24:46,515 - modisco-lite - INFO - Leiden clustering quality for seed 15: 0.19402752710578844\n", "2025-11-25 12:24:46,518 - modisco-lite - INFO - - Round 0: Generating patterns from clusters\n", "Generating patterns from clusters:: 100%|█████████| 3/3 [00:01<00:00, 2.79it/s]\n", "2025-11-25 12:24:47,596 - modisco-lite - INFO - - Round 1: Generating coarse resolution affinity matrix for 1253 seqlets\n", "100%|██████████████████████████████████████| 1253/1253 [00:01<00:00, 755.96it/s]\n", "2025-11-25 12:24:49,789 - modisco-lite - INFO - - Round 1: Generating fine resolution affinity matrix for 1253 seqlets and 1253 neighbors\n", "100%|██████████████████████████████████████| 1253/1253 [00:03<00:00, 372.76it/s]\n", "100%|██████████████████████████████████████| 1253/1253 [00:03<00:00, 372.43it/s]\n", "2025-11-25 12:24:56,623 - modisco-lite - INFO - - Round 1: Density adaptation\n", "2025-11-25 12:24:59,143 - modisco-lite - INFO - - Round 1: Clustering with Leiden algorithm\n", "[Parallel(n_jobs=4)]: Using backend LokyBackend with 4 concurrent workers.\n", "[Parallel(n_jobs=4)]: Done 1 tasks | elapsed: 2.1s\n", "[Parallel(n_jobs=4)]: Done 2 tasks | elapsed: 2.2s\n", "[Parallel(n_jobs=4)]: Done 3 tasks | elapsed: 2.2s\n", "[Parallel(n_jobs=4)]: Done 4 tasks | elapsed: 2.4s\n", "[Parallel(n_jobs=4)]: Done 5 tasks | elapsed: 4.5s\n", "[Parallel(n_jobs=4)]: Done 6 tasks | elapsed: 4.5s\n", "[Parallel(n_jobs=4)]: Done 7 tasks | elapsed: 5.1s\n", "[Parallel(n_jobs=4)]: Done 8 tasks | elapsed: 5.7s\n", "[Parallel(n_jobs=4)]: Done 9 tasks | elapsed: 6.6s\n", "[Parallel(n_jobs=4)]: Done 10 out of 16 | elapsed: 6.7s remaining: 4.0s\n", "[Parallel(n_jobs=4)]: Done 11 out of 16 | elapsed: 7.6s remaining: 3.4s\n", "[Parallel(n_jobs=4)]: Done 12 out of 16 | elapsed: 9.0s remaining: 3.0s\n", "[Parallel(n_jobs=4)]: Done 13 out of 16 | elapsed: 9.3s remaining: 2.1s\n", "[Parallel(n_jobs=4)]: Done 14 out of 16 | elapsed: 9.3s remaining: 1.3s\n", "[Parallel(n_jobs=4)]: Done 16 out of 16 | elapsed: 11.7s finished\n", "2025-11-25 12:25:10,915 - modisco-lite - INFO - Leiden clustering quality for seed 0: 0.16119281732703258\n", "2025-11-25 12:25:10,916 - modisco-lite - INFO - Leiden clustering quality for seed 1: 0.16120846264866814\n", "2025-11-25 12:25:10,916 - modisco-lite - INFO - Leiden clustering quality for seed 2: 0.16120846264866814\n", "2025-11-25 12:25:10,916 - modisco-lite - INFO - Leiden clustering quality for seed 3: 0.16120846264866814\n", "2025-11-25 12:25:10,916 - modisco-lite - INFO - Leiden clustering quality for seed 4: 0.16120846264866814\n", "2025-11-25 12:25:10,916 - modisco-lite - INFO - Leiden clustering quality for seed 5: 0.16120846264866814\n", "2025-11-25 12:25:10,916 - modisco-lite - INFO - Leiden clustering quality for seed 6: 0.16119281732703258\n", "2025-11-25 12:25:10,916 - modisco-lite - INFO - Leiden clustering quality for seed 7: 0.16120846264866814\n", "2025-11-25 12:25:10,916 - modisco-lite - INFO - Leiden clustering quality for seed 8: 0.16120846264866814\n", "2025-11-25 12:25:10,916 - modisco-lite - INFO - Leiden clustering quality for seed 9: 0.16120846264866814\n", "2025-11-25 12:25:10,916 - modisco-lite - INFO - Leiden clustering quality for seed 10: 0.16119281732703258\n", "2025-11-25 12:25:10,916 - modisco-lite - INFO - Leiden clustering quality for seed 11: 0.16120846264866814\n", "2025-11-25 12:25:10,916 - modisco-lite - INFO - Leiden clustering quality for seed 12: 0.16120846264866814\n", "2025-11-25 12:25:10,916 - modisco-lite - INFO - Leiden clustering quality for seed 13: 0.16120846264866814\n", "2025-11-25 12:25:10,916 - modisco-lite - INFO - Leiden clustering quality for seed 14: 0.16120846264866814\n", "2025-11-25 12:25:10,916 - modisco-lite - INFO - Leiden clustering quality for seed 15: 0.16120846264866814\n", "2025-11-25 12:25:10,918 - modisco-lite - INFO - - Round 1: Generating patterns from clusters\n", "Generating patterns from clusters:: 100%|█████████| 3/3 [00:01<00:00, 2.22it/s]\n", "2025-11-25 12:25:12,270 - modisco-lite - INFO - Detecting spurious merging of patterns\n", "Detecting spurious merging of patterns:: 100%|████| 3/3 [00:15<00:00, 5.21s/it]\u001b[0m\u001b[0m\u001b[0m\u001b[0m\n", "2025-11-25 12:25:34,606 - modisco-lite - INFO - Filtering and merging patterns\n", "Filtering patterns:: 100%|███████████████████| 24/24 [00:00<00:00, 19489.51it/s]\n", "Computing subpatterns:: 100%|███████████████████| 19/19 [00:01<00:00, 11.24it/s]\n", "2025-11-25 12:25:36,298 - modisco-lite - INFO - - Extracting 2246 negative seqlets\n", "2025-11-25 12:25:36,311 - modisco-lite - INFO - - Round 0: Generating coarse resolution affinity matrix for 2246 seqlets\n", "100%|██████████████████████████████████████| 2246/2246 [00:05<00:00, 388.41it/s]\n", "2025-11-25 12:25:44,310 - modisco-lite - INFO - - Round 0: Generating fine resolution affinity matrix for 2246 seqlets and 2246 neighbors\n", "100%|██████████████████████████████████████| 2246/2246 [00:02<00:00, 987.96it/s]\n", "100%|██████████████████████████████████████| 2246/2246 [00:02<00:00, 993.08it/s]\n", "2025-11-25 12:25:49,012 - modisco-lite - INFO - - Round 0: Filtering seqlets by correlation\n", "2025-11-25 12:25:50,256 - modisco-lite - INFO - - Round 0: Density adaptation\n", "2025-11-25 12:25:54,700 - modisco-lite - INFO - - Round 0: Clustering with Leiden algorithm\n", "\u001b[0m\u001b[0m\u001b[0m\u001b[0m[Parallel(n_jobs=4)]: Using backend LokyBackend with 4 concurrent workers.\n", "[Parallel(n_jobs=4)]: Done 1 tasks | elapsed: 9.3s\n", "[Parallel(n_jobs=4)]: Done 2 tasks | elapsed: 9.5s\n", "[Parallel(n_jobs=4)]: Done 3 tasks | elapsed: 9.8s\n", "[Parallel(n_jobs=4)]: Done 4 tasks | elapsed: 10.3s\n", "[Parallel(n_jobs=4)]: Done 5 tasks | elapsed: 15.6s\n", "[Parallel(n_jobs=4)]: Done 6 tasks | elapsed: 15.8s\n", "[Parallel(n_jobs=4)]: Done 7 tasks | elapsed: 15.8s\n", "[Parallel(n_jobs=4)]: Done 8 tasks | elapsed: 16.9s\n", "[Parallel(n_jobs=4)]: Done 9 tasks | elapsed: 22.3s\n", "[Parallel(n_jobs=4)]: Done 10 out of 16 | elapsed: 22.3s remaining: 13.4s\n", "[Parallel(n_jobs=4)]: Done 11 out of 16 | elapsed: 22.3s remaining: 10.1s\n", "[Parallel(n_jobs=4)]: Done 12 out of 16 | elapsed: 22.5s remaining: 7.5s\n", "[Parallel(n_jobs=4)]: Done 13 out of 16 | elapsed: 27.9s remaining: 6.4s\n", "[Parallel(n_jobs=4)]: Done 14 out of 16 | elapsed: 28.0s remaining: 4.0s\n", "[Parallel(n_jobs=4)]: Done 16 out of 16 | elapsed: 32.5s finished\n", "2025-11-25 12:26:27,318 - modisco-lite - INFO - Leiden clustering quality for seed 0: 0.2428436201275331\n", "2025-11-25 12:26:27,318 - modisco-lite - INFO - Leiden clustering quality for seed 1: 0.24284717240339185\n", "2025-11-25 12:26:27,318 - modisco-lite - INFO - Leiden clustering quality for seed 2: 0.24200970784348982\n", "2025-11-25 12:26:27,318 - modisco-lite - INFO - Leiden clustering quality for seed 3: 0.24283705042446194\n", "2025-11-25 12:26:27,318 - modisco-lite - INFO - Leiden clustering quality for seed 4: 0.24048541352778774\n", "2025-11-25 12:26:27,318 - modisco-lite - INFO - Leiden clustering quality for seed 5: 0.24200728159965218\n", "2025-11-25 12:26:27,318 - modisco-lite - INFO - Leiden clustering quality for seed 6: 0.24200728159965218\n", "2025-11-25 12:26:27,318 - modisco-lite - INFO - Leiden clustering quality for seed 7: 0.24284680775911574\n", "2025-11-25 12:26:27,318 - modisco-lite - INFO - Leiden clustering quality for seed 8: 0.2428436201275331\n", "2025-11-25 12:26:27,318 - modisco-lite - INFO - Leiden clustering quality for seed 9: 0.24284717240339185\n", "2025-11-25 12:26:27,318 - modisco-lite - INFO - Leiden clustering quality for seed 10: 0.24284455097065472\n", "2025-11-25 12:26:27,318 - modisco-lite - INFO - Leiden clustering quality for seed 11: 0.24283705042446194\n", "2025-11-25 12:26:27,318 - modisco-lite - INFO - Leiden clustering quality for seed 12: 0.24284680775911574\n", "2025-11-25 12:26:27,318 - modisco-lite - INFO - Leiden clustering quality for seed 13: 0.24284680775911574\n", "2025-11-25 12:26:27,318 - modisco-lite - INFO - Leiden clustering quality for seed 14: 0.24284205599266293\n", "2025-11-25 12:26:27,318 - modisco-lite - INFO - Leiden clustering quality for seed 15: 0.24282749294994257\n", "2025-11-25 12:26:27,321 - modisco-lite - INFO - - Round 0: Generating patterns from clusters\n", "Generating patterns from clusters:: 100%|█████████| 4/4 [00:01<00:00, 2.06it/s]\n", "2025-11-25 12:26:29,262 - modisco-lite - INFO - - Round 1: Generating coarse resolution affinity matrix for 1903 seqlets\n", "100%|██████████████████████████████████████| 1903/1903 [00:03<00:00, 498.08it/s]\n", "2025-11-25 12:26:33,880 - modisco-lite - INFO - - Round 1: Generating fine resolution affinity matrix for 1903 seqlets and 1903 neighbors\n", "100%|██████████████████████████████████████| 1903/1903 [00:05<00:00, 352.61it/s]\n", "100%|██████████████████████████████████████| 1903/1903 [00:05<00:00, 322.64it/s]\n", "2025-11-25 12:26:45,336 - modisco-lite - INFO - - Round 1: Density adaptation\n", "2025-11-25 12:26:49,595 - modisco-lite - INFO - - Round 1: Clustering with Leiden algorithm\n", "[Parallel(n_jobs=4)]: Using backend LokyBackend with 4 concurrent workers.\n", "[Parallel(n_jobs=4)]: Done 1 tasks | elapsed: 3.9s\n", "[Parallel(n_jobs=4)]: Done 2 tasks | elapsed: 4.3s\n", "[Parallel(n_jobs=4)]: Done 3 tasks | elapsed: 5.3s\n", "[Parallel(n_jobs=4)]: Done 4 tasks | elapsed: 5.6s\n", "[Parallel(n_jobs=4)]: Done 5 tasks | elapsed: 7.8s\n", "[Parallel(n_jobs=4)]: Done 6 tasks | elapsed: 9.1s\n", "[Parallel(n_jobs=4)]: Done 7 tasks | elapsed: 9.8s\n", "[Parallel(n_jobs=4)]: Done 8 tasks | elapsed: 11.7s\n", "[Parallel(n_jobs=4)]: Done 9 tasks | elapsed: 14.4s\n", "[Parallel(n_jobs=4)]: Done 10 out of 16 | elapsed: 15.0s remaining: 9.0s\n", "[Parallel(n_jobs=4)]: Done 11 out of 16 | elapsed: 17.7s remaining: 8.0s\n", "[Parallel(n_jobs=4)]: Done 12 out of 16 | elapsed: 17.8s remaining: 5.9s\n", "[Parallel(n_jobs=4)]: Done 13 out of 16 | elapsed: 20.5s remaining: 4.7s\n", "[Parallel(n_jobs=4)]: Done 14 out of 16 | elapsed: 21.1s remaining: 3.0s\n", "[Parallel(n_jobs=4)]: Done 16 out of 16 | elapsed: 23.3s finished\n", "2025-11-25 12:27:13,031 - modisco-lite - INFO - Leiden clustering quality for seed 0: 0.1993550018499436\n", "2025-11-25 12:27:13,031 - modisco-lite - INFO - Leiden clustering quality for seed 1: 0.1993224566319978\n", "2025-11-25 12:27:13,031 - modisco-lite - INFO - Leiden clustering quality for seed 2: 0.19935219556333927\n", "2025-11-25 12:27:13,031 - modisco-lite - INFO - Leiden clustering quality for seed 3: 0.19934906079152306\n", "2025-11-25 12:27:13,031 - modisco-lite - INFO - Leiden clustering quality for seed 4: 0.199268681627194\n", "2025-11-25 12:27:13,031 - modisco-lite - INFO - Leiden clustering quality for seed 5: 0.19934925762555028\n", "2025-11-25 12:27:13,031 - modisco-lite - INFO - Leiden clustering quality for seed 6: 0.19935215150301006\n", "2025-11-25 12:27:13,031 - modisco-lite - INFO - Leiden clustering quality for seed 7: 0.19926777067757262\n", "2025-11-25 12:27:13,031 - modisco-lite - INFO - Leiden clustering quality for seed 8: 0.1993504566639057\n", "2025-11-25 12:27:13,031 - modisco-lite - INFO - Leiden clustering quality for seed 9: 0.19935690711758358\n", "2025-11-25 12:27:13,032 - modisco-lite - INFO - Leiden clustering quality for seed 10: 0.1993543329214696\n", "2025-11-25 12:27:13,032 - modisco-lite - INFO - Leiden clustering quality for seed 11: 0.19934455864873268\n", "2025-11-25 12:27:13,032 - modisco-lite - INFO - Leiden clustering quality for seed 12: 0.1992727605561867\n", "2025-11-25 12:27:13,032 - modisco-lite - INFO - Leiden clustering quality for seed 13: 0.19934723883369546\n", "2025-11-25 12:27:13,032 - modisco-lite - INFO - Leiden clustering quality for seed 14: 0.19934906079152306\n", "2025-11-25 12:27:13,032 - modisco-lite - INFO - Leiden clustering quality for seed 15: 0.19927368784541846\n", "2025-11-25 12:27:13,033 - modisco-lite - INFO - - Round 1: Generating patterns from clusters\n", "Generating patterns from clusters:: 100%|█████████| 4/4 [00:01<00:00, 2.34it/s]\n", "2025-11-25 12:27:14,746 - modisco-lite - INFO - Detecting spurious merging of patterns\n", "Detecting spurious merging of patterns:: 100%|████| 4/4 [00:20<00:00, 5.00s/it]\u001b[0m\u001b[0m\u001b[0m\u001b[0m\n", "2025-11-25 12:27:45,572 - modisco-lite - INFO - Filtering and merging patterns\n", "Filtering patterns:: 100%|███████████████████| 22/22 [00:00<00:00, 20369.69it/s]\n", "Computing subpatterns:: 100%|███████████████████| 16/16 [00:05<00:00, 2.80it/s]\n", "\u001b[0m\u001b[0m\u001b[0m\u001b[0m\u001b[0m" ] } ], "source": [ "! decima modisco-patterns \\\n", " --attributions \"example/modisco_subcommands/modisco_neurons_0.attributions.h5,example/modisco_subcommands/modisco_neurons_1.attributions.h5\" \\\n", " --top-n-markers 50 \\\n", " --max-seqlets 5000 \\\n", " --tss-distance 5000 \\\n", " --tasks \"cell_type.str.contains('neuron') and organ == 'CNS' and disease == 'healthy'\" \\\n", " -o example/modisco_subcommands/modisco_neurons" ] }, { "cell_type": "markdown", "id": "223558ba", "metadata": {}, "source": [ "This step generates modisco.h5 file with discovered motifs and processed patterns." ] }, { "cell_type": "code", "execution_count": 14, "id": "2f7726a6", "metadata": { "execution": { "iopub.execute_input": "2025-11-21T06:13:40.222226Z", "iopub.status.busy": "2025-11-21T06:13:40.222071Z", "iopub.status.idle": "2025-11-21T06:13:40.354761Z", "shell.execute_reply": "2025-11-21T06:13:40.354179Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "example/modisco_subcommands/modisco_neurons_0.attributions.bigwig\n", "example/modisco_subcommands/modisco_neurons_0.attributions.h5\n", "example/modisco_subcommands/modisco_neurons_0.warnings.qc.log\n", "example/modisco_subcommands/modisco_neurons_1.attributions.bigwig\n", "example/modisco_subcommands/modisco_neurons_1.attributions.h5\n", "example/modisco_subcommands/modisco_neurons_1.warnings.qc.log\n", "example/modisco_subcommands/modisco_neurons.modisco.h5\n", "example/modisco_subcommands/modisco_neurons.seqlets.bed\n", "\n", "example/modisco_subcommands/modisco_neurons_report:\n", "AHCTF1.H13CORE.0.B.B.png NKX61.H13CORE.0.PS.A.png\n", "ATF4.H13CORE.2.SM.B.png NR1D1.H13CORE.0.P.B.png\n", "BACH1.H13CORE.0.P.B.png NR1I3.H13CORE.1.PSM.A.png\n", "CEBPG.H13CORE.2.P.B.png NR2F6.H13CORE.3.SM.B.png\n", "CREB1.H13CORE.0.PSM.A.png PATZ1.H13CORE.0.P.B.png\n", "DDIT3.H13CORE.0.P.B.png PO5F1.H13CORE.0.P.B.png\n", "ELK4.H13CORE.0.PSM.A.png PRD13.H13CORE.0.P.B.png\n", "ERR1.H13CORE.0.PSM.A.png RORG.H13CORE.0.M.C.png\n", "ERR2.H13CORE.0.PSM.A.png SNAI2.H13CORE.0.PSM.A.png\n", "ERR3.H13CORE.0.PSM.A.png SOX2.H13CORE.1.P.B.png\n", "ETV4.H13CORE.0.P.B.png\t SOX3.H13CORE.1.S.C.png\n", "ETV6.H13CORE.0.PS.A.png SP140L.H13CORE.0.PSGIB.A.png\n", "FEV.H13CORE.0.S.B.png\t SP2.H13CORE.1.P.B.png\n", "FOSB.H13CORE.1.M.C.png\t SP3.H13CORE.0.P.B.png\n", "FOS.H13CORE.1.S.C.png\t SPIB.H13CORE.0.P.B.png\n", "HTF4.H13CORE.0.PSM.A.png SPIB.H13CORE.1.S.C.png\n", "IRF1.H13CORE.0.P.B.png\t STAT2.H13CORE.0.P.B.png\n", "IRF4.H13CORE.0.P.B.png\t TAF1.H13CORE.0.P.B.png\n", "IRF8.H13CORE.0.P.B.png\t TFE3.H13CORE.0.PSM.A.png\n", "ITF2.H13CORE.1.PSM.A.png TFEB.H13CORE.0.SM.B.png\n", "JDP2.H13CORE.0.SM.B.png TFEC.H13CORE.0.M.B.png\n", "JUN.H13CORE.0.P.B.png\t TFEC.H13CORE.1.SM.B.png\n", "KLF12.H13CORE.0.P.C.png trimmed_logos\n", "KLF16.H13CORE.1.P.B.png TYY1.H13CORE.0.PSM.A.png\n", "KLF8.H13CORE.1.P.C.png\t TYY2.H13CORE.0.PS.A.png\n", "KLF9.H13CORE.1.P.B.png\t ZBT14.H13CORE.0.P.C.png\n", "KMT2A.H13CORE.0.P.B.png ZEB1.H13CORE.0.P.B.png\n", "MESP1.H13CORE.0.S.C.png ZEB2.H13CORE.0.P.B.png\n", "motifs.html\t\t ZFP28.H13CORE.0.P.B.png\n", "MYC.H13CORE.0.P.B.png\t ZN37A.H13CORE.0.P.B.png\n", "MYCN.H13CORE.0.PS.A.png ZN519.H13CORE.0.P.C.png\n", "MYT1.H13CORE.0.SG.A.png ZN543.H13CORE.0.P.C.png\n", "MYT1L.H13CORE.0.P.C.png ZN616.H13CORE.0.P.C.png\n", "NANOG.H13CORE.0.P.B.png ZN778.H13CORE.1.P.B.png\n", "NF2L2.H13CORE.0.P.B.png ZNF618.H13CORE.0.G.B.png\n" ] } ], "source": [ "! ls example/modisco_subcommands/modisco_neurons*" ] }, { "cell_type": "code", "execution_count": 15, "id": "ba160a3c", "metadata": { "execution": { "iopub.execute_input": "2025-11-21T06:13:40.356169Z", "iopub.status.busy": "2025-11-21T06:13:40.356024Z", "iopub.status.idle": "2025-11-21T06:13:51.327714Z", "shell.execute_reply": "2025-11-21T06:13:51.326802Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[34m\u001b[1mwandb\u001b[0m: Currently logged in as: \u001b[33mmhcelik\u001b[0m (\u001b[33mmhcw\u001b[0m) to \u001b[32mhttps://api.wandb.ai\u001b[0m. Use \u001b[1m`wandb login --relogin`\u001b[0m to force relogin\n", "\u001b[34m\u001b[1mwandb\u001b[0m: Downloading large artifact 'metadata:latest', 3122.32MB. 1 files...\n", "\u001b[34m\u001b[1mwandb\u001b[0m: 1 of 1 files downloaded. \n", "Done. 00:00:01.9 (1642.4MB/s)\n", "Processing pos_patterns patterns...: 100%|█████| 19/19 [00:00<00:00, 559.44it/s]\n", "Processing neg_patterns patterns...: 100%|█████| 16/16 [00:00<00:00, 544.08it/s]\n", "\u001b[0m" ] } ], "source": [ "! decima modisco-seqlet-bed \\\n", " --modisco-h5 example/modisco_subcommands/modisco_neurons.modisco.h5 \\\n", " -o example/modisco_subcommands/modisco_neurons" ] }, { "cell_type": "markdown", "id": "5cbf8dfc", "metadata": {}, "source": [ "Extracting seqlets used in motif detection:\n", "\n", "The `.seqlets.bed` file contains the genomic coordinates of all seqlets (short, high-scoring subsequences)\n", "that were used by MoDISco to identify motifs. Each line in the BED file follows\n", "the standard BED format:\n", "\n", " chrom start end name score strand\n", "\n", "- `chrom`: Chromosome name (e.g., \"chr1\")\n", "- `start`: 0-based start position of the seqlet\n", "- `end`: End position (not included)\n", "- `name`: Identifier for the seqlet (often includes pattern/cluster info)\n", "- `score`: Score assigned to the seqlet (e.g., importance or cluster assignment)\n", "- `strand`: \"+\" or \"-\" indicating the DNA strand\n", "- `core motif start`: The starting position of the core motif within the seqlet, relative to the seqlet's start coordinate.\n", "- `core motif end`: The ending position of the core motif within the seqlet, relative to the seqlet's start coordinate.\n", "- `color`: An optional field indicating the color used to visualize the seqlet or motif in genome browsers.\n", "\n", "This file can be loaded in genome browsers or used for downstream analyses to visualize or further process the discovered seqlets." ] }, { "cell_type": "code", "execution_count": 16, "id": "0bdfb51a", "metadata": { "execution": { "iopub.execute_input": "2025-11-21T06:13:51.329299Z", "iopub.status.busy": "2025-11-21T06:13:51.329143Z", "iopub.status.idle": "2025-11-21T06:13:51.461661Z", "shell.execute_reply": "2025-11-21T06:13:51.460863Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "chr1\t51514319\t51514369\tneg_patterns.pattern_2.seqlet_107.EPS15\t-0.11633501150777192\t-\t51514335\t51514351\t65,105,225\n", "chr1\t51514371\t51514421\tpos_patterns.pattern_3.seqlet_53.EPS15\t0.0075579382651085325\t-\t51514383\t51514417\t65,105,225\n", "chr1\t51514870\t51514920\tpos_patterns.pattern_1.seqlet_61.EPS15\t0.18588461058220673\t-\t51514873\t51514924\t65,105,225\n", "chr1\t51515018\t51515068\tpos_patterns.pattern_1.seqlet_46.EPS15\t0.0422197653533658\t-\t51515027\t51515078\t65,105,225\n", "chr1\t51515049\t51515099\tneg_patterns.pattern_2.seqlet_6.EPS15\t-0.5646011040639678\t+\t51515068\t51515084\t65,105,225\n", "chr1\t51515060\t51515110\tpos_patterns.pattern_9.seqlet_5.EPS15\t-0.49150526542280204\t+\t51515063\t51515108\t65,105,225\n", "chr1\t51515062\t51515112\tpos_patterns.pattern_8.seqlet_40.EPS15\t-0.4699880362472868\t+\t51515058\t51515108\t65,105,225\n", "chr1\t51515163\t51515213\tpos_patterns.pattern_1.seqlet_92.EPS15\t0.13550135794957896\t+\t51515163\t51515214\t65,105,225\n", "chr1\t51517345\t51517395\tpos_patterns.pattern_3.seqlet_72.EPS15\t0.08599610732289875\t+\t51517350\t51517384\t65,105,225\n", "chr1\t51517444\t51517494\tpos_patterns.pattern_18.seqlet_22.EPS15\t0.10237028001802173\t+\t51517448\t51517494\t65,105,225\n" ] } ], "source": [ "! head example/modisco_subcommands/modisco_neurons.seqlets.bed" ] }, { "cell_type": "markdown", "id": "b96240a9", "metadata": {}, "source": [ "Tomtom is a computational tool from the MEME Suite that compares discovered motifs (such as those output by MoDISco)\n", "to a database of known motifs, identifying statistically significant matches. This helps annotate de novo motifs\n", "by suggesting potential transcription factors or motif families they correspond to.\n", "\n", "In the MoDISco workflow, Tomtom is typically run on the discovered motif position weight matrices (PWMs) to\n", "find similar motifs in reference databases (e.g., JASPAR, HOCOMOCO). The output includes a ranked list of\n", "matches for each motif, along with similarity scores and p-values, which can be used to interpret the biological\n", "relevance of the discovered patterns.\n", "\n", "Tomtom can be run via the command line or through integrated pipelines, and its results are often included in\n", "MoDISco reports for downstream analysis and visualization." ] }, { "cell_type": "code", "execution_count": 17, "id": "88ca4c53", "metadata": { "execution": { "iopub.execute_input": "2025-11-21T06:13:51.463128Z", "iopub.status.busy": "2025-11-21T06:13:51.462984Z", "iopub.status.idle": "2025-11-21T06:14:02.595962Z", "shell.execute_reply": "2025-11-21T06:14:02.595014Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Creating modisco logos for pos_patterns: 100%|██| 19/19 [00:27<00:00, 1.46s/it]\n", "Creating modisco logos for neg_patterns: 100%|██| 16/16 [00:33<00:00, 2.07s/it]\n", "Generating patterns dataframe: 100%|█████████████| 2/2 [00:00<00:00, 236.99it/s]\n", "Reading patterns for pos_patterns: 100%|██████| 19/19 [00:00<00:00, 3145.40it/s]\n", "Reading patterns for neg_patterns: 100%|██████| 16/16 [00:00<00:00, 3140.62it/s]\n", "[Parallel(n_jobs=4)]: Using backend LokyBackend with 4 concurrent workers.\n", "[Parallel(n_jobs=4)]: Done 1 tasks | elapsed: 4.9s\n", "[Parallel(n_jobs=4)]: Done 2 tasks | elapsed: 5.0s\n", "[Parallel(n_jobs=4)]: Done 3 tasks | elapsed: 5.9s\n", "[Parallel(n_jobs=4)]: Done 4 tasks | elapsed: 6.2s\n", "[Parallel(n_jobs=4)]: Done 5 tasks | elapsed: 6.9s\n", "[Parallel(n_jobs=4)]: Done 6 tasks | elapsed: 55.8s\n", "[Parallel(n_jobs=4)]: Done 7 tasks | elapsed: 1.1min\n", "[Parallel(n_jobs=4)]: Done 8 tasks | elapsed: 1.1min\n", "[Parallel(n_jobs=4)]: Done 9 tasks | elapsed: 1.1min\n", "[Parallel(n_jobs=4)]: Done 10 tasks | elapsed: 1.1min\n", "[Parallel(n_jobs=4)]: Done 11 tasks | elapsed: 1.2min\n", "[Parallel(n_jobs=4)]: Done 12 tasks | elapsed: 1.2min\n", "[Parallel(n_jobs=4)]: Done 13 tasks | elapsed: 1.3min\n", "[Parallel(n_jobs=4)]: Done 14 tasks | elapsed: 1.4min\n", "[Parallel(n_jobs=4)]: Done 15 tasks | elapsed: 1.7min\n", "[Parallel(n_jobs=4)]: Done 16 tasks | elapsed: 1.7min\n", "[Parallel(n_jobs=4)]: Done 17 tasks | elapsed: 1.8min\n", "[Parallel(n_jobs=4)]: Done 18 tasks | elapsed: 1.8min\n", "[Parallel(n_jobs=4)]: Done 19 tasks | elapsed: 1.8min\n", "[Parallel(n_jobs=4)]: Done 20 tasks | elapsed: 2.2min\n", "[Parallel(n_jobs=4)]: Done 21 tasks | elapsed: 2.2min\n", "[Parallel(n_jobs=4)]: Done 22 tasks | elapsed: 2.2min\n", "[Parallel(n_jobs=4)]: Done 23 tasks | elapsed: 2.2min\n", "[Parallel(n_jobs=4)]: Done 24 tasks | elapsed: 2.2min\n", "[Parallel(n_jobs=4)]: Done 25 tasks | elapsed: 2.2min\n", "[Parallel(n_jobs=4)]: Done 26 tasks | elapsed: 2.2min\n", "[Parallel(n_jobs=4)]: Done 27 tasks | elapsed: 2.2min\n", "[Parallel(n_jobs=4)]: Done 28 tasks | elapsed: 2.8min\n", "[Parallel(n_jobs=4)]: Done 29 out of 35 | elapsed: 3.4min remaining: 42.0s\n", "[Parallel(n_jobs=4)]: Done 30 out of 35 | elapsed: 3.4min remaining: 34.3s\n", "[Parallel(n_jobs=4)]: Done 31 out of 35 | elapsed: 3.5min remaining: 27.0s\n", "[Parallel(n_jobs=4)]: Done 32 out of 35 | elapsed: 3.8min remaining: 21.6s\n", "[Parallel(n_jobs=4)]: Done 33 out of 35 | elapsed: 3.9min remaining: 14.3s\n", "[Parallel(n_jobs=4)]: Done 35 out of 35 | elapsed: 4.6min finished\n", "\u001b[0m\u001b[0m\u001b[0m\u001b[0m\u001b[0m" ] } ], "source": [ "! decima modisco-reports \\\n", " --modisco-h5 example/modisco_subcommands/modisco_neurons.modisco.h5 \\\n", " -o example/modisco_subcommands/modisco_neurons" ] }, { "cell_type": "markdown", "id": "25297b06", "metadata": {}, "source": [ "## Python User API" ] }, { "cell_type": "markdown", "id": "6206f4b5", "metadata": {}, "source": [ "MoDISco can also be run programmatically from Python using the Decima API.\n", "The Python API provides more flexibility and allows you to integrate MoDISco directly into your analysis pipelines.\n", " \n", "Notably, both the CLI and Python API support the `--off-task` (or `off_tasks` in Python) argument, which enables you to specify a contrasting set of tasks or conditions.\n", "This allows you to perform contrastive motif discovery, identifying patterns that are specific to your target condition (e.g., a particular cell type or tissue)\n", "by comparing against a background or \"off\" condition. This is useful for highlighting motifs that are enriched or specific to your biological question of interest." ] }, { "cell_type": "code", "execution_count": 1, "id": "97c5592f", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "\u001b[34m\u001b[1mwandb\u001b[0m: Currently logged in as: \u001b[33mmhcelik\u001b[0m (\u001b[33mmhcw\u001b[0m) to \u001b[32mhttps://api.wandb.ai\u001b[0m. Use \u001b[1m`wandb login --relogin`\u001b[0m to force relogin\n", "\u001b[34m\u001b[1mwandb\u001b[0m: Downloading large artifact 'rep0:latest', 720.03MB. 1 files...\n", "\u001b[34m\u001b[1mwandb\u001b[0m: 1 of 1 files downloaded. \n", "Done. 00:00:02.2 (331.4MB/s)\n" ] } ], "source": [ "from decima.hub import load_decima_model\n", "from decima.interpret.modisco import modisco\n", "\n", "model = load_decima_model(\"rep0\", device=0) # or 0, 1, 2, 3, \"ensemble\"" ] }, { "cell_type": "code", "execution_count": null, "id": "2b1d0936", "metadata": { "execution": { "iopub.execute_input": "2025-11-21T06:14:02.597653Z", "iopub.status.busy": "2025-11-21T06:14:02.597492Z", "iopub.status.idle": "2025-11-21T06:15:03.292551Z", "shell.execute_reply": "2025-11-21T06:15:03.291762Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "\u001b[34m\u001b[1mwandb\u001b[0m: Downloading large artifact 'metadata:latest', 3122.32MB. 1 files...\n", "\u001b[34m\u001b[1mwandb\u001b[0m: 1 of 1 files downloaded. \n", "Done. 00:00:05.2 (599.2MB/s)\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "af4ed05ea91c403cbdfa06f2d69da16b", "version_major": 2, "version_minor": 0 }, "text/plain": [ " 0%| | 0/2 [00:00