{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "d015209b-0d23-4c85-994c-79b3535c75a3",
   "metadata": {},
   "source": [
    "#### <span style=\"color:#grey\"> __Formation South Green 2022 - Structural Variants Detection by using short and long reads__ </span>\n",
    "\n",
    "# <span style=\"color:#006E7F\">  <center> __DAY 2 : How to analyze mapping results ?__ </center> </span>\n",
    "\n",
    "Created by C. Tranchant (DIADE-IRD), J. Orjuela (DIADE-IRD), F. Sabot (DIADE-IRD) and A. Dereeper (PHIM-IRD)\n",
    "\n",
    "***\n",
    "\n",
    "# <span style=\"color: #006E7F\">Table of contents</span>\n",
    "<a class=\"anchor\" id=\"home\"></a>\n",
    "\n",
    "[I - Get some basic mapping stats with samtools flagstat](#mappingstats)\n",
    "\n",
    "* [Run samtools flagstat](#flagstat)\n",
    "* [Samtools flagstat output](#flagstatoutput)\n",
    "* [Merge individual flagstat files into an unique file with python code](#multiflagstat) \n",
    "* [Plot mapping ratio per sample](#ratioplot)\n",
    "* [EXERCICE : DO THE SAME MANIP WITH MINIMAP2 RESULTS](#minimap)\n",
    "\n",
    "</span>\n",
    "\n",
    "***\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c65b4b47-c99c-4673-971d-c198e15b5a5d",
   "metadata": {},
   "source": [
    "## <span style=\"color:#006E7F\">__I - Get some basic mapping stats with samtools flagstat__ <a class=\"anchor\" id=\"mappingstats\"></span>  \n",
    "\n",
    "### <span style=\"color: #4CACBC;\"> First go into the directory that contains all the bam files</span>  \n",
    "\n",
    "As we will mainly launch python code to analyse mapping results, the kernel of this jupyter book is Python3. So we are going to add `%` to execute some specific linux commands or `%%bash`  to execute any linux command."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "bd0dac23-2b56-4602-b8dc-a500011aa172",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "/home/jovyan/work/MAPPING-ILL\n",
      "\u001b[0m\u001b[01;34mBAM\u001b[0m/         \u001b[01;34mdirClone12\u001b[0m/  \u001b[01;34mdirClone16\u001b[0m/  \u001b[01;34mdirClone2\u001b[0m/   \u001b[01;34mdirClone5\u001b[0m/  \u001b[01;34mdirClone9\u001b[0m/\n",
      "\u001b[01;34mdirClone1\u001b[0m/   \u001b[01;34mdirClone13\u001b[0m/  \u001b[01;34mdirClone17\u001b[0m/  \u001b[01;34mdirClone20\u001b[0m/  \u001b[01;34mdirClone6\u001b[0m/\n",
      "\u001b[01;34mdirClone10\u001b[0m/  \u001b[01;34mdirClone14\u001b[0m/  \u001b[01;34mdirClone18\u001b[0m/  \u001b[01;34mdirClone3\u001b[0m/   \u001b[01;34mdirClone7\u001b[0m/\n",
      "\u001b[01;34mdirClone11\u001b[0m/  \u001b[01;34mdirClone15\u001b[0m/  \u001b[01;34mdirClone19\u001b[0m/  \u001b[01;34mdirClone4\u001b[0m/   \u001b[01;34mdirClone8\u001b[0m/\n"
     ]
    }
   ],
   "source": [
    "%cd /home/jovyan/work/MAPPING-ILL/\n",
    "%ls"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "11a84023-ebeb-4440-9493-19be55d72726",
   "metadata": {},
   "source": [
    "### <span style=\"color: #4CACBC;\">Grouping the flagstat files previosly created</span>  \n",
    "\n",
    "* Create the subdirectory FLAGSTAT into the directory MAPPING_ILL\n",
    "* copy the flagstat files previously generated into this new directry"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "f8ef1fde-6d6f-47d0-91e7-67f51d12d332",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "/home/jovyan/work/MAPPING-ILL\n"
     ]
    }
   ],
   "source": [
    "%%bash\n",
    "pwd\n",
    "mkdir -p FLAGSTAT\n",
    "cp dir*/*flagstat FLAGSTAT"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ba4f80de-4eda-401b-a136-d2c46a6c0169",
   "metadata": {},
   "source": [
    "#### <span style=\"color: #4CACBC;\">Check that the flagstat files have been correctly copied</span>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "7de0a356-47a9-4960-82c8-84fae6eb44b7",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Clone10.flagstat  Clone15.flagstat  Clone1.flagstat   Clone5.flagstat\n",
      "Clone11.flagstat  Clone16.flagstat  Clone20.flagstat  Clone6.flagstat\n",
      "Clone12.flagstat  Clone17.flagstat  Clone2.flagstat   Clone7.flagstat\n",
      "Clone13.flagstat  Clone18.flagstat  Clone3.flagstat   Clone8.flagstat\n",
      "Clone14.flagstat  Clone19.flagstat  Clone4.flagstat   Clone9.flagstat\n"
     ]
    }
   ],
   "source": [
    "ls FLAGSTAT"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "586e1e6c-e9d3-4aa7-8108-1a1c9a7f428c",
   "metadata": {},
   "source": [
    "### <span style=\"color: #4CACBC;\">Let's look the content of one flagstat file <a class=\"anchor\" id=\"flagstatoutput\"></span> "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "6d18252b-0a2d-4d49-b620-186a8354006c",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "296107 + 0 in total (QC-passed reads + QC-failed reads)\n",
      "0 + 0 duplicates\n",
      "221301 + 0 mapped (74.74%:-nan%)\n",
      "296107 + 0 paired in sequencing\n",
      "148037 + 0 read1\n",
      "148070 + 0 read2\n",
      "218229 + 0 properly paired (73.70%:-nan%)\n",
      "219681 + 0 with itself and mate mapped\n",
      "1620 + 0 singletons (0.55%:-nan%)\n",
      "0 + 0 with mate mapped to a different chr\n",
      "0 + 0 with mate mapped to a different chr (mapQ>=5)\n"
     ]
    }
   ],
   "source": [
    "cat FLAGSTAT/Clone10*stat"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fb0f44f7-634f-491a-a470-7e62e6dff2d7",
   "metadata": {},
   "source": [
    "### <span style=\"color: #4CACBC;\">Merge individual flagstat files into an unique file with python code <a class=\"anchor\" id=\"multiflagstat\"></span> "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "f3365afa-1224-4a91-82f0-605406771dda",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "DIRECTORY :  /home/jovyan/work/MAPPING-ILL/FLAGSTAT\n",
      "FINAL STAT FILE :  /home/jovyan/work/MAPPING-ILL/FLAGSTAT/all_stat.csv\n"
     ]
    }
   ],
   "source": [
    "# IMPORT PYTHON PACKAGE USED BY THE CODE\n",
    "import os\n",
    "import pandas as pd\n",
    "\n",
    "# VARIABLE INITIALIZATION\n",
    "\n",
    "## NAME OF THE DIRECTORY THAT CONTAINS FLAGSTAT FILES\n",
    "flagstat_dir = \"/home/jovyan/work/MAPPING-ILL/FLAGSTAT\" #PUT THE DIRECTORY NAME THAT CONTAINS FLAGSTAT FILES \n",
    "\n",
    "## NAME OF THE FILE THAT WILL CONTAIN ALL THE FLAGSTAT RESULTATS\n",
    "stat_file = f\"{flagstat_dir}/all_stat.csv\"\n",
    "\n",
    "# PRINT THE CONTENT OF 2 PREVIOUS VARIABLES INITIALIZED\n",
    "print(\"DIRECTORY : \",flagstat_dir)\n",
    "print(\"FINAL STAT FILE : \",stat_file)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "fa949611-0dd8-4ccd-b1b3-7689d496fdec",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'/home/jovyan/work/MAPPING-ILL'"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "%pwd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "8da626d7-fc37-409a-9308-9d81baf089d9",
   "metadata": {},
   "outputs": [],
   "source": [
    "# OPEN THE FINAL FILE IN WHICH WE PRINT SOME STATS EXTRACTED FROM EACH INDIVIDUAL FILE GENERATED BY SAMTOOLS FLAGSTAT\n",
    "with open(stat_file, 'w') as stat: \n",
    "    # WRITE A HEADER LINE IN OUR STAT FILE\n",
    "    header_line = \"sample,mapped,paired,unmapped\"\n",
    "    stat.write(header_line)\n",
    "    \n",
    "    # READING EACH FILE OF THE FLGSTAT DIRECTORY\n",
    "    for file in os.listdir(flagstat_dir):\n",
    "        # If flagstat is in name of file\n",
    "        filen = flagstat_dir + \"/\" + file\n",
    "        if \"flagstat\" in file:\n",
    "            # Extract sample name and save into a new variable newLine \n",
    "            new_line = f\"\\n{file.split('.')[0]},\"\n",
    "            # OPEN AND READS FLAGSTAT FILE\n",
    "            with open(filen, \"r\") as flagstat:\n",
    "                # read file line by line\n",
    "                for line in flagstat:\n",
    "                    # remove the line skipper at the endo of the line\n",
    "                    line = line.rstrip()              \n",
    "                    # Keep only line mapped, paired or singleton word\n",
    "                    if 'mapped (' in line or 'paired (' in line or 'singleton' in line:\n",
    "                        # get percentage value and save it into the varaible called perc\n",
    "                        perc = f\"{line.split('(')[1].split('%')[0]}\"\n",
    "                        new_line += f\"{perc},\"\n",
    "                # WRITE THE LINE ONCE THE FLAGSTAT FILE COMPLETELY READ\n",
    "                stat.write(new_line.strip(\",\"))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "eccefc94-20ef-4508-9ccf-d080f5f14288",
   "metadata": {
    "tags": []
   },
   "source": [
    "### <span style=\"color: #4CACBC;\">Display the content of the final stat file  <a class=\"anchor\" id=\"statfile\"></span> "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "aff90309-8f07-49b2-88ce-8fe0c47fde20",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "sample,mapped,paired,unmapped\n",
      "Clone9,80.41,79.70,0.49\n",
      "Clone1,100.00,100.00,0.00\n",
      "Clone20,76.84,72.97,0.53\n",
      "Clone6,85.92,85.49,0.41\n",
      "Clone3,100.00,100.00,0.00\n",
      "Clone16,75.52,66.81,0.43\n",
      "Clone7,65.75,64.94,0.77\n",
      "Clone2,100.00,100.00,0.00\n",
      "Clone10,74.74,73.70,0.55\n",
      "Clone15,73.85,68.41,0.50\n",
      "Clone17,76.06,72.69,0.52\n",
      "Clone19,74.50,71.10,0.52\n",
      "Clone12,73.02,71.07,0.58\n",
      "Clone18,72.39,69.05,0.50\n",
      "Clone5,89.23,89.00,0.22\n",
      "Clone11,75.20,73.85,0.53\n",
      "Clone13,78.18,75.93,0.53\n",
      "Clone4,99.56,99.53,0.01\n",
      "Clone14,78.03,74.84,0.55\n",
      "Clone8,49.62,48.40,1.14"
     ]
    }
   ],
   "source": [
    "%cat $stat_file"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4a512002-2fe5-4172-9bc1-cab76a00c76d",
   "metadata": {},
   "source": [
    "### <span style=\"color: #4CACBC;\">Plot mapping ratio per sample <a class=\"anchor\" id=\"ratioplot\"></a></span> \n",
    "\n",
    "#### Load csv file into a panda datafrale\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "4b87b0b6-e76c-4950-9b78-3ecd418f6704",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>sample</th>\n",
       "      <th>mapped</th>\n",
       "      <th>paired</th>\n",
       "      <th>unmapped</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Clone9</td>\n",
       "      <td>80.41</td>\n",
       "      <td>79.70</td>\n",
       "      <td>0.49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Clone1</td>\n",
       "      <td>100.00</td>\n",
       "      <td>100.00</td>\n",
       "      <td>0.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Clone20</td>\n",
       "      <td>76.84</td>\n",
       "      <td>72.97</td>\n",
       "      <td>0.53</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Clone6</td>\n",
       "      <td>85.92</td>\n",
       "      <td>85.49</td>\n",
       "      <td>0.41</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Clone3</td>\n",
       "      <td>100.00</td>\n",
       "      <td>100.00</td>\n",
       "      <td>0.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>Clone16</td>\n",
       "      <td>75.52</td>\n",
       "      <td>66.81</td>\n",
       "      <td>0.43</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>Clone7</td>\n",
       "      <td>65.75</td>\n",
       "      <td>64.94</td>\n",
       "      <td>0.77</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>Clone2</td>\n",
       "      <td>100.00</td>\n",
       "      <td>100.00</td>\n",
       "      <td>0.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>Clone10</td>\n",
       "      <td>74.74</td>\n",
       "      <td>73.70</td>\n",
       "      <td>0.55</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>Clone15</td>\n",
       "      <td>73.85</td>\n",
       "      <td>68.41</td>\n",
       "      <td>0.50</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>Clone17</td>\n",
       "      <td>76.06</td>\n",
       "      <td>72.69</td>\n",
       "      <td>0.52</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>Clone19</td>\n",
       "      <td>74.50</td>\n",
       "      <td>71.10</td>\n",
       "      <td>0.52</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>Clone12</td>\n",
       "      <td>73.02</td>\n",
       "      <td>71.07</td>\n",
       "      <td>0.58</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>Clone18</td>\n",
       "      <td>72.39</td>\n",
       "      <td>69.05</td>\n",
       "      <td>0.50</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>Clone5</td>\n",
       "      <td>89.23</td>\n",
       "      <td>89.00</td>\n",
       "      <td>0.22</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>Clone11</td>\n",
       "      <td>75.20</td>\n",
       "      <td>73.85</td>\n",
       "      <td>0.53</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>Clone13</td>\n",
       "      <td>78.18</td>\n",
       "      <td>75.93</td>\n",
       "      <td>0.53</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>Clone4</td>\n",
       "      <td>99.56</td>\n",
       "      <td>99.53</td>\n",
       "      <td>0.01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>Clone14</td>\n",
       "      <td>78.03</td>\n",
       "      <td>74.84</td>\n",
       "      <td>0.55</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>Clone8</td>\n",
       "      <td>49.62</td>\n",
       "      <td>48.40</td>\n",
       "      <td>1.14</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     sample  mapped  paired  unmapped\n",
       "0    Clone9   80.41   79.70      0.49\n",
       "1    Clone1  100.00  100.00      0.00\n",
       "2   Clone20   76.84   72.97      0.53\n",
       "3    Clone6   85.92   85.49      0.41\n",
       "4    Clone3  100.00  100.00      0.00\n",
       "5   Clone16   75.52   66.81      0.43\n",
       "6    Clone7   65.75   64.94      0.77\n",
       "7    Clone2  100.00  100.00      0.00\n",
       "8   Clone10   74.74   73.70      0.55\n",
       "9   Clone15   73.85   68.41      0.50\n",
       "10  Clone17   76.06   72.69      0.52\n",
       "11  Clone19   74.50   71.10      0.52\n",
       "12  Clone12   73.02   71.07      0.58\n",
       "13  Clone18   72.39   69.05      0.50\n",
       "14   Clone5   89.23   89.00      0.22\n",
       "15  Clone11   75.20   73.85      0.53\n",
       "16  Clone13   78.18   75.93      0.53\n",
       "17   Clone4   99.56   99.53      0.01\n",
       "18  Clone14   78.03   74.84      0.55\n",
       "19   Clone8   49.62   48.40      1.14"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_bam_stat = pd.read_csv(stat_file, index_col=False, sep=\",\")\n",
    "df_bam_stat"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cb1b6397-f6d2-4d27-9f85-1ee363a4b499",
   "metadata": {
    "tags": []
   },
   "source": [
    "#### Basic stats"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "0d111bd5-3966-4d48-8a49-8131654ca1f9",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0      80.41\n",
      "1     100.00\n",
      "2      76.84\n",
      "3      85.92\n",
      "4     100.00\n",
      "5      75.52\n",
      "6      65.75\n",
      "7     100.00\n",
      "8      74.74\n",
      "9      73.85\n",
      "10     76.06\n",
      "11     74.50\n",
      "12     73.02\n",
      "13     72.39\n",
      "14     89.23\n",
      "15     75.20\n",
      "16     78.18\n",
      "17     99.56\n",
      "18     78.03\n",
      "19     49.62\n",
      "Name: mapped, dtype: float64\n"
     ]
    }
   ],
   "source": [
    "# Je n'affiche que les valeurs de la colonne \"mapped\"\n",
    "print(df_bam_stat['mapped'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "da8d2754-548d-494e-931e-d1e87d6334ac",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "######## BASIC STATS\n",
      " MAPPED\n",
      "\t%min : 49.62\t %max : 100.0\t %mean : 79.941\n"
     ]
    }
   ],
   "source": [
    "# J affiche la moyenne, min et max de cette colonne\n",
    "minimum = df_bam_stat[\"mapped\"].min()\n",
    "maximun = df_bam_stat[\"mapped\"].max()\n",
    "mean_flag = df_bam_stat[\"mapped\"].mean()\n",
    "\n",
    "print(\"\\n######## BASIC STATS\\n MAPPED\")       \n",
    "print(f\"\\t%min : {minimum}\\t %max : {maximun}\\t %mean : {mean_flag}\")\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "34836741-81ac-4b8f-8067-f0e6192eb3c2",
   "metadata": {},
   "source": [
    "#### Sort by clone name"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "87b44f61-bf83-4a7f-8938-7de01f5b6c06",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>sample</th>\n",
       "      <th>mapped</th>\n",
       "      <th>paired</th>\n",
       "      <th>unmapped</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Clone1</td>\n",
       "      <td>100.00</td>\n",
       "      <td>100.00</td>\n",
       "      <td>0.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>Clone10</td>\n",
       "      <td>74.74</td>\n",
       "      <td>73.70</td>\n",
       "      <td>0.55</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>Clone11</td>\n",
       "      <td>75.20</td>\n",
       "      <td>73.85</td>\n",
       "      <td>0.53</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>Clone12</td>\n",
       "      <td>73.02</td>\n",
       "      <td>71.07</td>\n",
       "      <td>0.58</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>Clone13</td>\n",
       "      <td>78.18</td>\n",
       "      <td>75.93</td>\n",
       "      <td>0.53</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>Clone14</td>\n",
       "      <td>78.03</td>\n",
       "      <td>74.84</td>\n",
       "      <td>0.55</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>Clone15</td>\n",
       "      <td>73.85</td>\n",
       "      <td>68.41</td>\n",
       "      <td>0.50</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>Clone16</td>\n",
       "      <td>75.52</td>\n",
       "      <td>66.81</td>\n",
       "      <td>0.43</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>Clone17</td>\n",
       "      <td>76.06</td>\n",
       "      <td>72.69</td>\n",
       "      <td>0.52</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>Clone18</td>\n",
       "      <td>72.39</td>\n",
       "      <td>69.05</td>\n",
       "      <td>0.50</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>Clone19</td>\n",
       "      <td>74.50</td>\n",
       "      <td>71.10</td>\n",
       "      <td>0.52</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>Clone2</td>\n",
       "      <td>100.00</td>\n",
       "      <td>100.00</td>\n",
       "      <td>0.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Clone20</td>\n",
       "      <td>76.84</td>\n",
       "      <td>72.97</td>\n",
       "      <td>0.53</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Clone3</td>\n",
       "      <td>100.00</td>\n",
       "      <td>100.00</td>\n",
       "      <td>0.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>Clone4</td>\n",
       "      <td>99.56</td>\n",
       "      <td>99.53</td>\n",
       "      <td>0.01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>Clone5</td>\n",
       "      <td>89.23</td>\n",
       "      <td>89.00</td>\n",
       "      <td>0.22</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Clone6</td>\n",
       "      <td>85.92</td>\n",
       "      <td>85.49</td>\n",
       "      <td>0.41</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>Clone7</td>\n",
       "      <td>65.75</td>\n",
       "      <td>64.94</td>\n",
       "      <td>0.77</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>Clone8</td>\n",
       "      <td>49.62</td>\n",
       "      <td>48.40</td>\n",
       "      <td>1.14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Clone9</td>\n",
       "      <td>80.41</td>\n",
       "      <td>79.70</td>\n",
       "      <td>0.49</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     sample  mapped  paired  unmapped\n",
       "1    Clone1  100.00  100.00      0.00\n",
       "8   Clone10   74.74   73.70      0.55\n",
       "15  Clone11   75.20   73.85      0.53\n",
       "12  Clone12   73.02   71.07      0.58\n",
       "16  Clone13   78.18   75.93      0.53\n",
       "18  Clone14   78.03   74.84      0.55\n",
       "9   Clone15   73.85   68.41      0.50\n",
       "5   Clone16   75.52   66.81      0.43\n",
       "10  Clone17   76.06   72.69      0.52\n",
       "13  Clone18   72.39   69.05      0.50\n",
       "11  Clone19   74.50   71.10      0.52\n",
       "7    Clone2  100.00  100.00      0.00\n",
       "2   Clone20   76.84   72.97      0.53\n",
       "4    Clone3  100.00  100.00      0.00\n",
       "17   Clone4   99.56   99.53      0.01\n",
       "14   Clone5   89.23   89.00      0.22\n",
       "3    Clone6   85.92   85.49      0.41\n",
       "6    Clone7   65.75   64.94      0.77\n",
       "19   Clone8   49.62   48.40      1.14\n",
       "0    Clone9   80.41   79.70      0.49"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_bam_stat_sorted=df_bam_stat.sort_values(by=['sample'])\n",
    "df_bam_stat_sorted"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8a3b978c-fa7e-45f2-91c5-003d15b722c3",
   "metadata": {},
   "source": [
    "#### Your first plot with python"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "213d0cd9-2c76-40dd-8843-486b99af7c9e",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='sample', ylabel='paired'>"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot with seaborn\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "\n",
    "plt.figure(figsize = (15,8))\n",
    "sns.scatterplot(x=\"sample\",y=\"paired\", data=df_bam_stat_sorted)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "90db87ba-e830-4c7c-bd3c-5827cb43d637",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'Mapping percentage')"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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hymlbrXd1qyLvX79+jF27Nhcx5AkSZKknIiI2Vu7zWGckiRJklSALPYkSZIkqQBZ7EmSJElSAWrW5+xJkiRJyg9lZWXMmTOH9evX5zpKQSotLaV3796UlJTU+T4We5IkSZLqbc6cObRv355+/foREbmOU1BSSixZsoQ5c+bQv3//Ot/PYZySJEmS6m39+vV06dLFQq8RRARdunTZ4V5Tiz1JkiRJDcJCr/HszLG12JMkSZK0SzjttNNYvnz5Ntdp165dre0XX3wxo0ePboRUjcdz9iRJkiQVtJQSKSUef/zxXEdpUvbsSZIkSWoWrrnmGm6++eaq5WuvvZbrrruOE044geHDhzNkyBAefvhhAGbNmsWgQYP46le/yvDhw/nggw/o168fH374IQBnnHEGBx98MIMHD+bWW2+tsZ+rr76a4cOHc8IJJ7B48eItcowbN45jjjmGgw8+mJNPPpn58+c34qPeeRZ7kiRJkpqFc845h/vuu69q+f777+eSSy7hwQcfZPz48Tz77LNcffXVpJQAmD59Op///OeZMGECffv2rbGt2267jXHjxjF27FhuuukmlixZAsCaNWsYPnw448eP55hjjuG6666rcb+ysjK+/vWvM3r0aMaNG8cXvvAFvv/97zfyI985DuOUJEmS1CwcdNBBLFq0iHnz5rF48WI6d+5Mz549+eY3v8nzzz9PUVERc+fOZeHChQD07duXww8/vNZt3XTTTTz44IMAfPDBB7zzzjt06dKFoqIizj77bAAuuOACzjzzzBr3mz59OpMnT+bEE08EoKKigp49ezbWQ64Xiz1JkiRJzcZZZ53F6NGjWbBgAeeccw533303ixcvZty4cZSUlNCvX7+qSxS0bdu21m0899xzPP3004wZM4Y2bdpw7LHHbvWyBpvPgplSYvDgwYwZM6ZhH1gjcBinJEmSpGbjnHPO4S9/+QujR4/mrLPOYsWKFXTv3p2SkhKeffZZZs+evd1trFixgs6dO9OmTRumTZvGK6+8UnVbZWVl1ayb99xzDyNHjqxx3wEDBrB48eKqYq+srIwpU6Y04CNsOI3WsxcRtwGnA4tSSgdk23YD7gP6AbOAz6WUlmVv+y7wRaACuDKl9I/GytaYVi+ZS1q3guKOPWndvnOu40iS1CDKN25g3YeziKJi2nbvTxT5efGOqCgvZ+3i9wBo060/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w6xZszj99NOZPHlyvbaTr2o7xhExLqU0orb1PWdPkiRJUtMb+rl6F3faNodxSpIkSSoI/fr1K9hevZ1hsSdJkiRJBchiT5IkSZIKkMWeJEmSJBUgiz1JkiRJKkAWe5IkSZKUR0aNGsUVV1xR7+1Y7EmSJElSAbLYkyRJktTkHnv3MU4afRJD7xjKSaNP4rF3H6v3NmfNmsUBBxxQtfzLX/6Sa6+9lmOPPZZrrrmGQw89lP32248XXngByPSgnXHGGXzyk5+kf//+/Pa3v+VXv/oVBx10EIcffjhLly4F4A9/+AOHHHIIBx54IJ/5zGdYu3YtABdffDFf/vKXOfroo9lvv/149NFHq7b7qU99ilNOOYUBAwZw3XXXVWW66667OPTQQxk2bBhf+tKXqKioAOD2229nv/3245hjjuGll16q97EAiz1JkiRJTeyxdx/j2pevZf6a+SQS89fM59qXr22Qgm9rysvLee211/j1r39do/iaPHky99xzD6+99hrf//73adOmDRMmTOCII47gzjvvBODMM8/k9ddf54033mDQoEH86U9/qrr/rFmz+Ne//sVjjz3Gl7/8ZdavXw/Aa6+9xt13383EiRN54IEHGDt2LFOnTuW+++7jpZdeYuLEibRo0YK7776b+fPn86Mf/YiXXnqJp556irfeeqtBHnNxg2xFkiRJkuroxvE3sr5ifY229RXruXH8jXxir080yj7PPPNMAA4++GBmzZpV1X7cccfRvn172rdvT8eOHfnkJz8JwJAhQ5g0aRKQKQh/8IMfsHz5clavXs3JJ59cdf/Pfe5zFBUVse+++7LXXnsxbdo0AE488US6dOlSte8XX3yR4uJixo0bxyGHHALAunXr6N69O6+++irHHnss3bp1A+Dss8/m7bffrvdjttiTJElSXpu9ZA1T56+kvKKSfXfvwIAe7XMdSfW0YM2CHWqvq+LiYiorK6uWN/WyAbRq1QqAFi1aUF5evkU7QFFRUdVyUVFR1XoXX3wxDz30EAceeCCjRo3iueeeq7pPRNTIsGm5tvaUEhdddBH/+Z//WeO2hx56aIv1G4LDOCVJkpS3Zi5excy3xjFowcMctHA0S955lSlzl+c6luqpR9seO9ReV7vvvjuLFi1iyZIlbNiwoeocuvpatWoVPXv2pKysjLvvvrvGbQ888ACVlZXMnDmTd999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\n",
      "text/plain": [
       "<Figure size 1080x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot with seaborn\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "\n",
    "plt.figure(figsize = (15,8))\n",
    "ax=sns.scatterplot(x=\"sample\",y=\"value\", hue='variable', data=pd.melt(df_bam_stat_sorted, 'sample'))\n",
    "ax.set_title(\"scatterplot from mapping using clones \")\n",
    "ax.set_xlabel(\"Clones\")\n",
    "ax.set_ylabel(\"Mapping percentage\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0e248d3c-c31e-4251-9192-260190cc5f62",
   "metadata": {
    "tags": []
   },
   "source": [
    "### <span style=\"color: #4CACBC;\"> EXERCICE : DO THE SAME THING WITH MINIMAP2 RESULTS <a class=\"anchor\" id=\"minimap\"></span> "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8257e0ba-c7ae-4193-815a-9449dec2766f",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
