{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "### analysis/analyze_all_simulation_PCAs\n", "\n", "- Takes in outputs from `process_and_save_sims_ORN_LN_PN_resampling.ipynb`, `process_and_save_sims_ORN_LN_PN_resampling_with_PN_synapse_density.ipynb`, `process_and_save_sims_synapse_noise.ipynb` \n", " - performs grand PCA analysis on PN responses in simulated flies with different sources of circuit idiosyncrasy\n", " - compares them to PCA on PN calcium responses in real flies\n", "- plots example firing rate vectors for individual simulated flies\n", "- plots classifiability of simulated idiosyncratic behavior by projecting PN responses onto the DM2-DC2 PN calcium PC predictive of real fly OCT-MCH preference" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "from itertools import combinations\n", "from scipy.spatial.distance import pdist\n", "from sklearn.decomposition import PCA\n", "import matplotlib.colors as clr\n", "from scipy.interpolate import interp1d\n", "from matplotlib import cm\n", "from matplotlib.lines import Line2D\n", "import pickle\n", "import sys\n", "import os\n", "file_path = 'C:/Users/dB/deBivort/projects/ALVariability/'\n", "proj_dir = os.path.join(file_path.split('ALVariability')[0], 'ALVariability')\n", "sys.path.append(proj_dir)\n", "from utils.plot_utils import set_font_sizes\n", "from utils.data_utils import make_df_AL_activity_long, make_orn_upn_frs, make_glomerular_odor_responses\n", "set_font_sizes()" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "project_dir = os.path.join(file_path.split('ALVariability')[0], 'ALVariability')\n", "df_neur_ids = pd.read_csv(os.path.join(project_dir, 'connectomics/hemibrain_v1_2/df_neur_ids.csv'), index_col=0)\n", "al_block = pd.read_csv(os.path.join(project_dir, 'connectomics/hemibrain_v1_2/AL_block.csv'), index_col=0)\n", "al_block.columns = al_block.columns.astype(np.int64)\n", "al_block.index = al_block.index.astype(np.int64)\n", "imput_table = pd.read_csv(os.path.join(project_dir, 'odor_imputation/df_odor_door_all_odors_imput_ALS.csv'), index_col=0)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "#df_char_ids = d_sims[good_orn_set[0]]['df_char_ids']\n", "#hemi_gloms = df_char_ids[df_char_ids['altype'] == 'ORN']['glom'].unique()\n", "hemi_gloms = np.array(['DA1', 'VC5', 'VA1v', 'VA1d', 'VA2', 'VA6', 'DM1', 'DL3', 'DL1',\n", " 'VL2a', 'VM4', 'VM5d', 'DM2', 'VL1', 'DM3', 'DM4', 'DM6', 'DL4',\n", " 'VC3l', 'DC3', 'VM7d', 'V', 'VL2p', 'VM1', 'VC3m', 'DC1', 'DL5',\n", " 'D', 'DP1m', 'VM5v', 'DA3', 'VC4', 'DA2', 'VA7m', 'VA3', 'DP1l',\n", " 'DC4', 'VC2', 'VA4', 'DC2', 'VM7v', 'DM5', 'DL2v', 'VM3', 'VC1',\n", " 'VA5', 'DL2d', 'VA7l', 'DA4l', 'DA4m', 'VM2'])\n", "\n", "thermo_hygro_glomeruli = np.array(['VP1d', 'VP1l', 'VP1m', 'VP2', 'VP3', 'VP4', 'VP5'])\n", "\n", "sim_odors = np.array(['3-octanol',\n", " '1-hexanol',\n", " 'ethyl lactate',\n", " #'citronella',\n", " '2-heptanone',\n", " '1-pentanol',\n", " 'ethanol',\n", " 'geranyl acetate',\n", " 'hexyl acetate',\n", " '4-methylcyclohexanol',\n", " 'pentyl acetate',\n", " '1-butanol'])\n", "\n", "MAC_gloms = ['DC2', 'DL5', 'DM1', 'DM2', 'DM3']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## MAC PN calcium responses" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | \n", " | fly0 | \n", "fly1 | \n", "fly2 | \n", "fly3 | \n", "fly4 | \n", "fly5 | \n", "fly6 | \n", "fly7 | \n", "fly8 | \n", "fly9 | \n", "... | \n", "fly229 | \n", "fly230 | \n", "fly231 | \n", "fly232 | \n", "fly233 | \n", "fly234 | \n", "fly235 | \n", "fly236 | \n", "fly237 | \n", "fly238 | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
glom | \n", "odor | \n", "\n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " |
DC2 | \n", "air | \n", "0.260650 | \n", "0.052726 | \n", "0.129667 | \n", "0.047172 | \n", "0.215276 | \n", "0.012301 | \n", "0.266031 | \n", "0.061057 | \n", "0.087956 | \n", "0.067862 | \n", "... | \n", "0.188817 | \n", "0.142362 | \n", "0.003441 | \n", "0.299037 | \n", "0.045469 | \n", "0.037195 | \n", "0.195108 | \n", "0.092381 | \n", "0.327169 | \n", "0.177671 | \n", "
3-octanol | \n", "0.127699 | \n", "1.019578 | \n", "1.019578 | \n", "1.019578 | \n", "0.974672 | \n", "1.019578 | \n", "1.019578 | \n", "1.019578 | \n", "1.019578 | \n", "1.019578 | \n", "... | \n", "1.055264 | \n", "0.847613 | \n", "1.198978 | \n", "0.978518 | \n", "0.503789 | \n", "0.281735 | \n", "1.010737 | \n", "1.120071 | \n", "1.087135 | \n", "1.464418 | \n", "|
1-hexanol | \n", "1.005398 | \n", "0.517153 | \n", "1.943049 | \n", "1.991326 | \n", "1.060851 | \n", "0.048440 | \n", "0.836338 | \n", "0.787543 | \n", "1.292774 | \n", "0.978063 | \n", "... | \n", "0.590007 | \n", "0.652000 | \n", "0.608121 | \n", "0.411354 | \n", "0.455094 | \n", "0.403543 | \n", "0.677922 | \n", "1.034633 | \n", "1.278839 | \n", "1.193291 | \n", "|
ethyl lactate | \n", "0.210532 | \n", "-0.147994 | \n", "0.295596 | \n", "0.634941 | \n", "0.544314 | \n", "0.182131 | \n", "0.174571 | \n", "0.137882 | \n", "0.218298 | \n", "0.686998 | \n", "... | \n", "0.064622 | \n", "0.176078 | \n", "-0.038675 | \n", "0.590331 | \n", "0.090137 | \n", "0.030822 | \n", "0.039811 | \n", "0.509755 | \n", "0.264571 | \n", "0.605017 | \n", "|
citronella | \n", "0.448953 | \n", "0.382975 | \n", "0.353849 | \n", "0.366421 | \n", "0.664343 | \n", "0.140258 | \n", "0.766013 | \n", "0.268388 | \n", "1.098849 | \n", "0.844658 | \n", "... | \n", "0.060916 | \n", "-0.040474 | \n", "0.010426 | \n", "0.168153 | \n", "0.116490 | \n", "0.143921 | \n", "0.078182 | \n", "0.293502 | \n", "0.114835 | \n", "0.698311 | \n", "|
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
DM3 | \n", "geranyl acetate | \n", "0.164666 | \n", "0.164666 | \n", "0.164666 | \n", "0.164666 | \n", "0.164666 | \n", "0.164666 | \n", "0.164666 | \n", "0.164666 | \n", "0.164666 | \n", "0.164666 | \n", "... | \n", "0.233381 | \n", "0.011913 | \n", "0.151933 | \n", "0.057286 | \n", "-0.061350 | \n", "0.159625 | \n", "0.164666 | \n", "0.069313 | \n", "0.108532 | \n", "0.164666 | \n", "
hexyl acetate | \n", "1.466945 | \n", "0.666556 | \n", "1.421625 | \n", "2.442097 | \n", "1.239680 | \n", "1.334081 | \n", "1.260013 | \n", "1.049306 | \n", "0.741279 | \n", "0.718613 | \n", "... | \n", "1.264711 | \n", "1.240096 | \n", "1.032847 | \n", "1.416774 | \n", "0.791122 | \n", "1.079797 | \n", "1.238982 | \n", "0.419732 | \n", "1.338231 | \n", "1.238982 | \n", "|
4-methylcyclohexanol | \n", "0.498458 | \n", "0.421914 | \n", "0.415465 | \n", "0.102517 | \n", "0.072890 | \n", "0.041298 | \n", "0.071671 | \n", "0.120899 | \n", "0.165812 | \n", "0.206534 | \n", "... | \n", "0.166566 | \n", "-0.244783 | \n", "0.040740 | \n", "0.058347 | \n", "0.050679 | \n", "0.299013 | \n", "0.326855 | \n", "0.162022 | \n", "0.190526 | \n", "0.326855 | \n", "|
pentyl acetate | \n", "1.254910 | \n", "0.479678 | \n", "1.796660 | \n", "2.341711 | \n", "0.857967 | \n", "1.109033 | \n", "1.877811 | \n", "1.006252 | \n", "1.320308 | \n", "1.080152 | \n", "... | \n", "1.073642 | \n", "1.239641 | \n", "0.755259 | \n", "1.277895 | \n", "0.622987 | \n", "0.908621 | \n", "1.247978 | \n", "0.410913 | \n", "1.338706 | \n", "1.247978 | \n", "|
1-butanol | \n", "0.587231 | \n", "0.223652 | \n", "0.665239 | \n", "0.606057 | \n", "0.384341 | \n", "0.284364 | \n", "1.303859 | \n", "0.329553 | \n", "0.386100 | \n", "0.316017 | \n", "... | \n", "0.147123 | \n", "0.826189 | \n", "0.243906 | \n", "0.187632 | \n", "0.117899 | \n", "0.325450 | \n", "0.610231 | \n", "0.126016 | \n", "0.329547 | \n", "0.610231 | \n", "
65 rows × 239 columns
\n", "