Skip to content

Instantly share code, notes, and snippets.

@kantale
Created March 19, 2019 09:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kantale/9ccbc685551f81be3ca073623aa04f59 to your computer and use it in GitHub Desktop.
Save kantale/9ccbc685551f81be3ca073623aa04f59 to your computer and use it in GitHub Desktop.
Lesson 3
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Γενετική ανάλυση μέσω του προγράμματος plink\n",
"Σε αυτή τη διάλεξη θα μάθουμε να κάνουμε τυπικές επεξεργασίες σε πραγματικά δεδομένα γενετικής. Ως κύριο πρόγραμμα θα χρησημοποιήσουμε το [plink](http://zzz.bwh.harvard.edu/plink/) το οποίο είναι ο \"ελβετικός σουγιάς\" για τέτοιου είδους αναλύσεις. Για δεδομένα θα χρησημοποιήσουμε το χρωμόσωμα 22 από το 1000 Genomes Project.\n",
"\n",
"Το [1000 Genomes Project](https://en.wikipedia.org/wiki/1000_Genomes_Project) (1KGP για συντομία) είναι ίσως το δεύτερο πιο σημαντικό project στη γενετική μετά το [Human Genome Project](https://en.wikipedia.org/wiki/Human_Genome_Project) (HGP). Αν το HGP δημιούργησε το πρώτο πλήρες γονιδίωμα του ανθρώπου, το 1KGP ήταν το πρώτο που μελέτησε τη γενετική ετερογένεια ενός μεγάλου μέρους του ανθρώπινου πληθυσμού. Στη τελική του φάση, το 1KGP είχε αλληλουχίσει το γονιδίωμα από 2504 ανθρώπους οι οποίοι ανήκουν σε 26 διαφορετικούς πληθυσμούς.\n",
"\n",
"Ας παίξουμε λίγο με τα δεδομένα από το 1KGP!\n",
"\n",
"Τα δεδομένα από τη τελευταία (τρίτη) φάση του 1KGP βρίσκονται σε αυτό το link: ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/release/20130502/\n",
"\n",
"Αυτό το site (στη πραγματικότητα ftp site αλλά αυτό δεν έχει σημασία) περιέχει όλες τις μεταλλάξεις (variants) που εντοπίστηκαν. Όλα τα variants περιγράφονται σε [VCF](https://en.wikipedia.org/wiki/Variant_Call_Format) φορμάτ και είναι συμπιεσμένα με το πρόγραμμα gzip. Κάθε αρχείο έχει τη κατάλληξη .vcf.gz και υπάρχει ένα αρχείο για κάθε χρωμόσωμα. Ας \"παίξουμε\" με το μικρότερο χρωμόσωμα το οποίο είναι το 22.\n",
"\n",
"Αρχικά κατεβάζουμε το αρχείο. **ΠΡΟΣΟΧΗ** Το αρχείο αυτό, αν και συμπιεσμένο, είναι 205 ΜΒ:"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"--2018-05-01 18:18:32-- ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/release/20130502/ALL.chr22.phase3_shapeit2_mvncall_integrated_v5a.20130502.genotypes.vcf.gz\n",
" => ‘1kgp_chr22.vcf.gz’\n",
"Resolving ftp.1000genomes.ebi.ac.uk (ftp.1000genomes.ebi.ac.uk)... 193.62.192.8\n",
"Connecting to ftp.1000genomes.ebi.ac.uk (ftp.1000genomes.ebi.ac.uk)|193.62.192.8|:21... connected.\n",
"Logging in as anonymous ... Logged in!\n",
"==> SYST ... done. ==> PWD ... done.\n",
"==> TYPE I ... done. ==> CWD (1) /vol1/ftp/release/20130502 ... done.\n",
"==> SIZE ALL.chr22.phase3_shapeit2_mvncall_integrated_v5a.20130502.genotypes.vcf.gz ... 214453750\n",
"==> PASV ... done. ==> RETR ALL.chr22.phase3_shapeit2_mvncall_integrated_v5a.20130502.genotypes.vcf.gz ... done.\n",
"Length: 214453750 (205M) (unauthoritative)\n",
"\n",
"ALL.chr22.phase3_sh 100%[===================>] 204.52M 7.92MB/s in 24s \n",
"\n",
"2018-05-01 18:18:56 (8.47 MB/s) - ‘1kgp_chr22.vcf.gz’ saved [214453750]\n",
"\n"
]
}
],
"source": [
"!wget -O 1kgp_chr22.vcf.gz ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/release/20130502/ALL.chr22.phase3_shapeit2_mvncall_integrated_v5a.20130502.genotypes.vcf.gz"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Η πληροφορία για τις περιοχές και τους πληθυσμούς που ανήκει κάθε sample υπάρχει στο αρχείο που βρίσκεται σε αυτό το link: ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/release/20130502/integrated_call_samples_v3.20130502.ALL.panel . Ας το κατεβάσουμε:"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"--2018-05-01 18:19:02-- ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/release/20130502/integrated_call_samples_v3.20130502.ALL.panel\n",
" => ‘sample_information.csv’\n",
"Resolving ftp.1000genomes.ebi.ac.uk (ftp.1000genomes.ebi.ac.uk)... 193.62.192.8\n",
"Connecting to ftp.1000genomes.ebi.ac.uk (ftp.1000genomes.ebi.ac.uk)|193.62.192.8|:21... connected.\n",
"Logging in as anonymous ... Logged in!\n",
"==> SYST ... done. ==> PWD ... done.\n",
"==> TYPE I ... done. ==> CWD (1) /vol1/ftp/release/20130502 ... done.\n",
"==> SIZE integrated_call_samples_v3.20130502.ALL.panel ... 55156\n",
"==> PASV ... done. ==> RETR integrated_call_samples_v3.20130502.ALL.panel ... done.\n",
"Length: 55156 (54K) (unauthoritative)\n",
"\n",
"integrated_call_sam 100%[===================>] 53.86K --.-KB/s in 0.03s \n",
"\n",
"2018-05-01 18:19:02 (1.51 MB/s) - ‘sample_information.csv’ saved [55156]\n",
"\n"
]
}
],
"source": [
"!wget -O sample_information.csv ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/release/20130502/integrated_call_samples_v3.20130502.ALL.panel"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Ας \"φορτώσουμε\" αυτό το αρχείο μέσω pandas:"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import pandas as pd\n",
"samples = pd.read_csv('sample_information.csv', sep=r'\\s+')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Ας τυπώσουμε τις πρώτες 10 γραμμές:"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\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>pop</th>\n",
" <th>super_pop</th>\n",
" <th>gender</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>HG00096</td>\n",
" <td>GBR</td>\n",
" <td>EUR</td>\n",
" <td>male</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>HG00097</td>\n",
" <td>GBR</td>\n",
" <td>EUR</td>\n",
" <td>female</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>HG00099</td>\n",
" <td>GBR</td>\n",
" <td>EUR</td>\n",
" <td>female</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>HG00100</td>\n",
" <td>GBR</td>\n",
" <td>EUR</td>\n",
" <td>female</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>HG00101</td>\n",
" <td>GBR</td>\n",
" <td>EUR</td>\n",
" <td>male</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>HG00102</td>\n",
" <td>GBR</td>\n",
" <td>EUR</td>\n",
" <td>female</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>HG00103</td>\n",
" <td>GBR</td>\n",
" <td>EUR</td>\n",
" <td>male</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>HG00105</td>\n",
" <td>GBR</td>\n",
" <td>EUR</td>\n",
" <td>male</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>HG00106</td>\n",
" <td>GBR</td>\n",
" <td>EUR</td>\n",
" <td>female</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>HG00107</td>\n",
" <td>GBR</td>\n",
" <td>EUR</td>\n",
" <td>male</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" sample pop super_pop gender\n",
"0 HG00096 GBR EUR male\n",
"1 HG00097 GBR EUR female\n",
"2 HG00099 GBR EUR female\n",
"3 HG00100 GBR EUR female\n",
"4 HG00101 GBR EUR male\n",
"5 HG00102 GBR EUR female\n",
"6 HG00103 GBR EUR male\n",
"7 HG00105 GBR EUR male\n",
"8 HG00106 GBR EUR female\n",
"9 HG00107 GBR EUR male"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"samples[:10]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Τώρα ας εγκαταστήσουμε το plink:"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Reading package lists... Done\n",
"Building dependency tree \n",
"Reading state information... Done\n",
"Suggested packages:\n",
" zip\n",
"The following NEW packages will be installed:\n",
" unzip\n",
"0 upgraded, 1 newly installed, 0 to remove and 113 not upgraded.\n",
"Need to get 158 kB of archives.\n",
"After this operation, 530 kB of additional disk space will be used.\n",
"Get:1 http://eu-central-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 unzip amd64 6.0-20ubuntu1 [158 kB]\n",
"Fetched 158 kB in 0s (12.5 MB/s)\n",
"Selecting previously unselected package unzip.\n",
"(Reading database ... 51121 files and directories currently installed.)\n",
"Preparing to unpack .../unzip_6.0-20ubuntu1_amd64.deb ...\n",
"Unpacking unzip (6.0-20ubuntu1) ...\n",
"Processing triggers for mime-support (3.59ubuntu1) ...\n",
"Processing triggers for man-db (2.7.5-1) ...\n",
"Setting up unzip (6.0-20ubuntu1) ...\n"
]
}
],
"source": [
"!sudo apt-get install -y unzip"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"--2018-05-01 18:19:20-- http://www.cog-genomics.org/static/bin/plink180410/plink_linux_x86_64.zip\n",
"Resolving www.cog-genomics.org (www.cog-genomics.org)... 54.243.100.91, 23.21.104.182, 50.16.250.62\n",
"Connecting to www.cog-genomics.org (www.cog-genomics.org)|54.243.100.91|:80... connected.\n",
"HTTP request sent, awaiting response... 200 OK\n",
"Length: 2285389 (2.2M) [application/zip]\n",
"Saving to: ‘plink_linux_x86_64.zip’\n",
"\n",
"plink_linux_x86_64. 100%[===================>] 2.18M 3.48MB/s in 0.6s \n",
"\n",
"2018-05-01 18:19:21 (3.48 MB/s) - ‘plink_linux_x86_64.zip’ saved [2285389/2285389]\n",
"\n"
]
}
],
"source": [
"!wget http://www.cog-genomics.org/static/bin/plink180410/plink_linux_x86_64.zip"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Archive: plink_linux_x86_64.zip\n",
" inflating: plink \n",
" inflating: LICENSE \n",
" inflating: toy.ped \n",
" inflating: toy.map \n",
" inflating: prettify \n"
]
}
],
"source": [
"!unzip plink_linux_x86_64.zip"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Για αρχή θα αποσυμπιέσουμε το VCF αρχείο:"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"!gunzip 1kgp_chr22.vcf.gz "
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"Τώρα θα το μετατρέψουμε από VCF στο φορμάτ του plink (το οποίο ονομάζεται BED/BIM/FAM)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"PLINK v1.90b5.4 64-bit (10 Apr 2018) www.cog-genomics.org/plink/1.9/\n",
"(C) 2005-2018 Shaun Purcell, Christopher Chang GNU General Public License v3\n",
"Logging to 1kgp_chr22.vcf.log.\n",
"Options in effect:\n",
" --make-bed\n",
" --out 1kgp_chr22.vcf\n",
" --recode\n",
" --vcf 1kgp_chr22.vcf\n",
"\n",
"1998 MB RAM detected; reserving 999 MB for main workspace.\n",
"\r",
"--vcf: 1k variants complete.\r",
"--vcf: 2k variants complete.\r",
"--vcf: 3k variants complete.\r",
"--vcf: 4k variants complete.\r",
"--vcf: 5k variants complete.\r",
"--vcf: 6k variants complete.\r",
"--vcf: 7k variants complete.\r",
"--vcf: 8k variants complete.\r",
"--vcf: 9k variants complete.\r",
"--vcf: 10k variants complete.\r",
"--vcf: 11k variants complete.\r",
"--vcf: 12k variants complete.\r",
"--vcf: 13k variants complete.\r",
"--vcf: 14k variants complete.\r",
"--vcf: 15k variants complete.\r",
"--vcf: 16k variants complete.\r",
"--vcf: 17k variants complete.\r",
"--vcf: 18k variants complete.\r",
"--vcf: 19k variants complete.\r",
"--vcf: 20k variants complete.\r",
"--vcf: 21k variants complete.\r",
"--vcf: 22k variants complete.\r",
"--vcf: 23k variants complete.\r",
"--vcf: 24k variants complete.\r",
"--vcf: 25k variants complete.\r",
"--vcf: 26k variants complete.\r",
"--vcf: 27k variants complete.\r",
"--vcf: 28k variants complete.\r",
"--vcf: 29k variants complete.\r",
"--vcf: 30k variants complete.\r",
"--vcf: 31k variants complete.\r",
"--vcf: 32k variants complete.\r",
"--vcf: 33k variants complete.\r",
"--vcf: 34k variants complete.\r",
"--vcf: 35k variants complete.\r",
"--vcf: 36k variants complete.\r",
"--vcf: 37k variants complete.\r",
"--vcf: 38k variants complete.\r",
"--vcf: 39k variants complete.\r",
"--vcf: 40k variants complete.\r",
"--vcf: 41k variants complete.\r",
"--vcf: 42k variants complete.\r",
"--vcf: 43k variants complete.\r",
"--vcf: 44k variants complete.\r",
"--vcf: 45k variants complete.\r",
"--vcf: 46k variants complete.\r",
"--vcf: 47k variants complete.\r",
"--vcf: 48k variants complete.\r",
"--vcf: 49k variants complete.\r",
"--vcf: 50k variants complete.\r",
"--vcf: 51k variants complete.\r",
"--vcf: 52k variants complete.\r",
"--vcf: 53k variants complete.\r",
"--vcf: 54k variants complete.\r",
"--vcf: 55k variants complete.\r",
"--vcf: 56k variants complete.\r",
"--vcf: 57k variants complete.\r",
"--vcf: 58k variants complete.\r",
"--vcf: 59k variants complete.\r",
"--vcf: 60k variants complete.\r",
"--vcf: 61k variants complete.\r",
"--vcf: 62k variants complete.\r",
"--vcf: 63k variants complete.\r",
"--vcf: 64k variants complete.\r",
"--vcf: 65k variants complete.\r",
"--vcf: 66k variants complete.\r",
"--vcf: 67k variants complete.\r",
"--vcf: 68k variants complete.\r",
"--vcf: 69k variants complete.\r",
"--vcf: 70k variants complete.\r",
"--vcf: 71k variants complete.\r",
"--vcf: 72k variants complete.\r",
"--vcf: 73k variants complete.\r",
"--vcf: 74k variants complete.\r",
"--vcf: 75k variants complete.\r",
"--vcf: 76k variants complete.\r",
"--vcf: 77k variants complete.\r",
"--vcf: 78k variants complete.\r",
"--vcf: 79k variants complete.\r",
"--vcf: 80k variants complete.\r",
"--vcf: 81k variants complete.\r",
"--vcf: 82k variants complete.\r",
"--vcf: 83k variants complete.\r",
"--vcf: 84k variants complete.\r",
"--vcf: 85k variants complete.\r",
"--vcf: 86k variants complete.\r",
"--vcf: 87k variants complete.\r",
"--vcf: 88k variants complete.\r",
"--vcf: 89k variants complete.\r",
"--vcf: 90k variants complete.\r",
"--vcf: 91k variants complete.\r",
"--vcf: 92k variants complete.\r",
"--vcf: 93k variants complete.\r",
"--vcf: 94k variants complete.\r",
"--vcf: 95k variants complete.\r",
"--vcf: 96k variants complete.\r",
"--vcf: 97k variants complete.\r",
"--vcf: 98k variants complete.\r",
"--vcf: 99k variants complete.\r",
"--vcf: 100k variants complete.\r",
"--vcf: 101k variants complete.\r",
"--vcf: 102k variants complete.\r",
"--vcf: 103k variants complete.\r",
"--vcf: 104k variants complete.\r",
"--vcf: 105k variants complete.\r",
"--vcf: 106k variants complete.\r",
"--vcf: 107k variants complete.\r",
"--vcf: 108k variants complete.\r",
"--vcf: 109k variants complete.\r",
"--vcf: 110k variants complete.\r",
"--vcf: 111k variants complete.\r",
"--vcf: 112k variants complete.\r",
"--vcf: 113k variants complete.\r",
"--vcf: 114k variants complete.\r",
"--vcf: 115k variants complete.\r",
"--vcf: 116k variants complete.\r",
"--vcf: 117k variants complete.\r",
"--vcf: 118k variants complete.\r",
"--vcf: 119k variants complete.\r",
"--vcf: 120k variants complete.\r",
"--vcf: 121k variants complete.\r",
"--vcf: 122k variants complete.\r",
"--vcf: 123k variants complete.\r",
"--vcf: 124k variants complete.\r",
"--vcf: 125k variants complete.\r",
"--vcf: 126k variants complete.\r",
"--vcf: 127k variants complete.\r",
"--vcf: 128k variants complete.\r",
"--vcf: 129k variants complete.\r",
"--vcf: 130k variants complete.\r",
"--vcf: 131k variants complete.\r",
"--vcf: 132k variants complete.\r",
"--vcf: 133k variants complete.\r",
"--vcf: 134k variants complete.\r",
"--vcf: 135k variants complete.\r",
"--vcf: 136k variants complete.\r",
"--vcf: 137k variants complete.\r",
"--vcf: 138k variants complete.\r",
"--vcf: 139k variants complete.\r",
"--vcf: 140k variants complete.\r",
"--vcf: 141k variants complete.\r",
"--vcf: 142k variants complete.\r",
"--vcf: 143k variants complete.\r",
"--vcf: 144k variants complete.\r",
"--vcf: 145k variants complete.\r",
"--vcf: 146k variants complete.\r",
"--vcf: 147k variants complete.\r",
"--vcf: 148k variants complete.\r",
"--vcf: 149k variants complete.\r",
"--vcf: 150k variants complete.\r",
"--vcf: 151k variants complete.\r",
"--vcf: 152k variants complete.\r",
"--vcf: 153k variants complete.\r",
"--vcf: 154k variants complete.\r",
"--vcf: 155k variants complete.\r",
"--vcf: 156k variants complete.\r",
"--vcf: 157k variants complete.\r",
"--vcf: 158k variants complete.\r",
"--vcf: 159k variants complete.\r",
"--vcf: 160k variants complete.\r",
"--vcf: 161k variants complete.\r",
"--vcf: 162k variants complete.\r",
"--vcf: 163k variants complete.\r",
"--vcf: 164k variants complete.\r",
"--vcf: 165k variants complete.\r",
"--vcf: 166k variants complete.\r",
"--vcf: 167k variants complete.\r",
"--vcf: 168k variants complete.\r",
"--vcf: 169k variants complete.\r",
"--vcf: 170k variants complete.\r",
"--vcf: 171k variants complete.\r",
"--vcf: 172k variants complete.\r",
"--vcf: 173k variants complete.\r",
"--vcf: 174k variants complete.\r",
"--vcf: 175k variants complete.\r",
"--vcf: 176k variants complete.\r",
"--vcf: 177k variants complete.\r",
"--vcf: 178k variants complete.\r",
"--vcf: 179k variants complete.\r",
"--vcf: 180k variants complete.\r",
"--vcf: 181k variants complete.\r",
"--vcf: 182k variants complete.\r",
"--vcf: 183k variants complete.\r",
"--vcf: 184k variants complete.\r",
"--vcf: 185k variants complete.\r",
"--vcf: 186k variants complete.\r",
"--vcf: 187k variants complete.\r",
"--vcf: 188k variants complete.\r",
"--vcf: 189k variants complete.\r",
"--vcf: 190k variants complete.\r",
"--vcf: 191k variants complete.\r",
"--vcf: 192k variants complete.\r",
"--vcf: 193k variants complete.\r",
"--vcf: 194k variants complete.\r",
"--vcf: 195k variants complete.\r",
"--vcf: 196k variants complete.\r",
"--vcf: 197k variants complete.\r",
"--vcf: 198k variants complete.\r",
"--vcf: 199k variants complete.\r",
"--vcf: 200k variants complete.\r",
"--vcf: 201k variants complete.\r",
"--vcf: 202k variants complete.\r",
"--vcf: 203k variants complete.\r",
"--vcf: 204k variants complete.\r",
"--vcf: 205k variants complete.\r",
"--vcf: 206k variants complete.\r",
"--vcf: 207k variants complete.\r",
"--vcf: 208k variants complete.\r",
"--vcf: 209k variants complete.\r",
"--vcf: 210k variants complete.\r",
"--vcf: 211k variants complete.\r",
"--vcf: 212k variants complete.\r",
"--vcf: 213k variants complete.\r",
"--vcf: 214k variants complete.\r",
"--vcf: 215k variants complete.\r",
"--vcf: 216k variants complete.\r",
"--vcf: 217k variants complete.\r",
"--vcf: 218k variants complete.\r",
"--vcf: 219k variants complete.\r",
"--vcf: 220k variants complete.\r",
"--vcf: 221k variants complete.\r",
"--vcf: 222k variants complete.\r",
"--vcf: 223k variants complete.\r",
"--vcf: 224k variants complete.\r",
"--vcf: 225k variants complete.\r",
"--vcf: 226k variants complete.\r",
"--vcf: 227k variants complete.\r",
"--vcf: 228k variants complete.\r",
"--vcf: 229k variants complete.\r",
"--vcf: 230k variants complete.\r",
"--vcf: 231k variants complete.\r",
"--vcf: 232k variants complete.\r",
"--vcf: 233k variants complete.\r",
"--vcf: 234k variants complete.\r",
"--vcf: 235k variants complete.\r",
"--vcf: 236k variants complete.\r",
"--vcf: 237k variants complete.\r",
"--vcf: 238k variants complete.\r",
"--vcf: 239k variants complete.\r",
"--vcf: 240k variants complete.\r",
"--vcf: 241k variants complete.\r",
"--vcf: 242k variants complete.\r",
"--vcf: 243k variants complete.\r",
"--vcf: 244k variants complete.\r",
"--vcf: 245k variants complete.\r",
"--vcf: 246k variants complete.\r",
"--vcf: 247k variants complete.\r",
"--vcf: 248k variants complete.\r",
"--vcf: 249k variants complete.\r",
"--vcf: 250k variants complete.\r",
"--vcf: 251k variants complete.\r",
"--vcf: 252k variants complete.\r",
"--vcf: 253k variants complete.\r",
"--vcf: 254k variants complete.\r",
"--vcf: 255k variants complete.\r",
"--vcf: 256k variants complete.\r",
"--vcf: 257k variants complete.\r",
"--vcf: 258k variants complete.\r",
"--vcf: 259k variants complete.\r",
"--vcf: 260k variants complete.\r",
"--vcf: 261k variants complete.\r",
"--vcf: 262k variants complete.\r",
"--vcf: 263k variants complete.\r",
"--vcf: 264k variants complete.\r",
"--vcf: 265k variants complete.\r",
"--vcf: 266k variants complete.\r",
"--vcf: 267k variants complete.\r",
"--vcf: 268k variants complete.\r",
"--vcf: 269k variants complete.\r",
"--vcf: 270k variants complete.\r",
"--vcf: 271k variants complete.\r",
"--vcf: 272k variants complete.\r",
"--vcf: 273k variants complete.\r",
"--vcf: 274k variants complete.\r",
"--vcf: 275k variants complete.\r",
"--vcf: 276k variants complete.\r",
"--vcf: 277k variants complete.\r",
"--vcf: 278k variants complete.\r",
"--vcf: 279k variants complete.\r",
"--vcf: 280k variants complete.\r",
"--vcf: 281k variants complete.\r",
"--vcf: 282k variants complete.\r",
"--vcf: 283k variants complete.\r",
"--vcf: 284k variants complete.\r",
"--vcf: 285k variants complete.\r",
"--vcf: 286k variants complete.\r",
"--vcf: 287k variants complete.\r",
"--vcf: 288k variants complete.\r",
"--vcf: 289k variants complete.\r",
"--vcf: 290k variants complete.\r",
"--vcf: 291k variants complete.\r",
"--vcf: 292k variants complete.\r",
"--vcf: 293k variants complete.\r",
"--vcf: 294k variants complete.\r",
"--vcf: 295k variants complete.\r",
"--vcf: 296k variants complete.\r",
"--vcf: 297k variants complete.\r",
"--vcf: 298k variants complete.\r",
"--vcf: 299k variants complete.\r",
"--vcf: 300k variants complete.\r",
"--vcf: 301k variants complete.\r",
"--vcf: 302k variants complete.\r",
"--vcf: 303k variants complete.\r",
"--vcf: 304k variants complete.\r",
"--vcf: 305k variants complete.\r",
"--vcf: 306k variants complete.\r",
"--vcf: 307k variants complete.\r",
"--vcf: 308k variants complete.\r",
"--vcf: 309k variants complete.\r",
"--vcf: 310k variants complete.\r",
"--vcf: 311k variants complete.\r",
"--vcf: 312k variants complete.\r",
"--vcf: 313k variants complete.\r",
"--vcf: 314k variants complete.\r",
"--vcf: 315k variants complete.\r",
"--vcf: 316k variants complete.\r",
"--vcf: 317k variants complete.\r",
"--vcf: 318k variants complete.\r",
"--vcf: 319k variants complete.\r",
"--vcf: 320k variants complete.\r",
"--vcf: 321k variants complete.\r",
"--vcf: 322k variants complete.\r",
"--vcf: 323k variants complete.\r",
"--vcf: 324k variants complete.\r",
"--vcf: 325k variants complete.\r",
"--vcf: 326k variants complete.\r",
"--vcf: 327k variants complete.\r",
"--vcf: 328k variants complete.\r",
"--vcf: 329k variants complete.\r",
"--vcf: 330k variants complete.\r",
"--vcf: 331k variants complete.\r",
"--vcf: 332k variants complete.\r",
"--vcf: 333k variants complete.\r",
"--vcf: 334k variants complete.\r",
"--vcf: 335k variants complete.\r",
"--vcf: 336k variants complete.\r",
"--vcf: 337k variants complete.\r",
"--vcf: 338k variants complete.\r",
"--vcf: 339k variants complete.\r",
"--vcf: 340k variants complete.\r",
"--vcf: 341k variants complete.\r",
"--vcf: 342k variants complete.\r",
"--vcf: 343k variants complete.\r",
"--vcf: 344k variants complete.\r",
"--vcf: 345k variants complete.\r",
"--vcf: 346k variants complete.\r",
"--vcf: 347k variants complete.\r",
"--vcf: 348k variants complete.\r",
"--vcf: 349k variants complete.\r",
"--vcf: 350k variants complete.\r",
"--vcf: 351k variants complete.\r",
"--vcf: 352k variants complete.\r",
"--vcf: 353k variants complete.\r",
"--vcf: 354k variants complete.\r",
"--vcf: 355k variants complete.\r",
"--vcf: 356k variants complete.\r",
"--vcf: 357k variants complete.\r",
"--vcf: 358k variants complete.\r",
"--vcf: 359k variants complete.\r",
"--vcf: 360k variants complete.\r",
"--vcf: 361k variants complete.\r",
"--vcf: 362k variants complete.\r",
"--vcf: 363k variants complete.\r",
"--vcf: 364k variants complete.\r",
"--vcf: 365k variants complete.\r",
"--vcf: 366k variants complete.\r",
"--vcf: 367k variants complete.\r",
"--vcf: 368k variants complete.\r",
"--vcf: 369k variants complete.\r",
"--vcf: 370k variants complete.\r",
"--vcf: 371k variants complete.\r",
"--vcf: 372k variants complete.\r",
"--vcf: 373k variants complete.\r",
"--vcf: 374k variants complete.\r",
"--vcf: 375k variants complete.\r",
"--vcf: 376k variants complete.\r",
"--vcf: 377k variants complete.\r",
"--vcf: 378k variants complete.\r",
"--vcf: 379k variants complete.\r",
"--vcf: 380k variants complete.\r",
"--vcf: 381k variants complete.\r",
"--vcf: 382k variants complete.\r",
"--vcf: 383k variants complete.\r",
"--vcf: 384k variants complete.\r",
"--vcf: 385k variants complete.\r",
"--vcf: 386k variants complete.\r",
"--vcf: 387k variants complete.\r",
"--vcf: 388k variants complete.\r",
"--vcf: 389k variants complete.\r",
"--vcf: 390k variants complete.\r",
"--vcf: 391k variants complete.\r",
"--vcf: 392k variants complete.\r",
"--vcf: 393k variants complete.\r",
"--vcf: 394k variants complete.\r",
"--vcf: 395k variants complete.\r",
"--vcf: 396k variants complete.\r",
"--vcf: 397k variants complete.\r",
"--vcf: 398k variants complete.\r",
"--vcf: 399k variants complete.\r",
"--vcf: 400k variants complete.\r",
"--vcf: 401k variants complete.\r",
"--vcf: 402k variants complete.\r",
"--vcf: 403k variants complete.\r",
"--vcf: 404k variants complete.\r",
"--vcf: 405k variants complete.\r",
"--vcf: 406k variants complete.\r",
"--vcf: 407k variants complete.\r",
"--vcf: 408k variants complete.\r",
"--vcf: 409k variants complete.\r",
"--vcf: 410k variants complete.\r",
"--vcf: 411k variants complete.\r",
"--vcf: 412k variants complete.\r",
"--vcf: 413k variants complete.\r",
"--vcf: 414k variants complete.\r",
"--vcf: 415k variants complete.\r",
"--vcf: 416k variants complete.\r",
"--vcf: 417k variants complete.\r",
"--vcf: 418k variants complete.\r",
"--vcf: 419k variants complete.\r",
"--vcf: 420k variants complete.\r",
"--vcf: 421k variants complete.\r",
"--vcf: 422k variants complete.\r",
"--vcf: 423k variants complete.\r",
"--vcf: 424k variants complete.\r",
"--vcf: 425k variants complete.\r",
"--vcf: 426k variants complete.\r",
"--vcf: 427k variants complete.\r",
"--vcf: 428k variants complete.\r",
"--vcf: 429k variants complete.\r",
"--vcf: 430k variants complete.\r",
"--vcf: 431k variants complete.\r",
"--vcf: 432k variants complete.\r",
"--vcf: 433k variants complete.\r",
"--vcf: 434k variants complete.\r",
"--vcf: 435k variants complete.\r",
"--vcf: 436k variants complete.\r",
"--vcf: 437k variants complete.\r",
"--vcf: 438k variants complete.\r",
"--vcf: 439k variants complete.\r",
"--vcf: 440k variants complete.\r",
"--vcf: 441k variants complete.\r",
"--vcf: 442k variants complete.\r",
"--vcf: 443k variants complete.\r",
"--vcf: 444k variants complete.\r",
"--vcf: 445k variants complete.\r",
"--vcf: 446k variants complete.\r",
"--vcf: 447k variants complete.\r",
"--vcf: 448k variants complete.\r",
"--vcf: 449k variants complete.\r",
"--vcf: 450k variants complete.\r",
"--vcf: 451k variants complete.\r",
"--vcf: 452k variants complete.\r",
"--vcf: 453k variants complete.\r",
"--vcf: 454k variants complete.\r",
"--vcf: 455k variants complete.\r",
"--vcf: 456k variants complete.\r",
"--vcf: 457k variants complete.\r",
"--vcf: 458k variants complete.\r",
"--vcf: 459k variants complete.\r",
"--vcf: 460k variants complete.\r",
"--vcf: 461k variants complete.\r",
"--vcf: 462k variants complete.\r",
"--vcf: 463k variants complete.\r",
"--vcf: 464k variants complete.\r",
"--vcf: 465k variants complete.\r",
"--vcf: 466k variants complete.\r",
"--vcf: 467k variants complete.\r",
"--vcf: 468k variants complete.\r",
"--vcf: 469k variants complete.\r",
"--vcf: 470k variants complete.\r",
"--vcf: 471k variants complete.\r",
"--vcf: 472k variants complete.\r",
"--vcf: 473k variants complete.\r",
"--vcf: 474k variants complete.\r",
"--vcf: 475k variants complete.\r",
"--vcf: 476k variants complete.\r",
"--vcf: 477k variants complete.\r",
"--vcf: 478k variants complete.\r",
"--vcf: 479k variants complete.\r",
"--vcf: 480k variants complete.\r",
"--vcf: 481k variants complete.\r",
"--vcf: 482k variants complete.\r",
"--vcf: 483k variants complete.\r",
"--vcf: 484k variants complete.\r",
"--vcf: 485k variants complete.\r",
"--vcf: 486k variants complete.\r",
"--vcf: 487k variants complete.\r",
"--vcf: 488k variants complete.\r",
"--vcf: 489k variants complete.\r",
"--vcf: 490k variants complete.\r",
"--vcf: 491k variants complete.\r",
"--vcf: 492k variants complete.\r",
"--vcf: 493k variants complete.\r",
"--vcf: 494k variants complete.\r",
"--vcf: 495k variants complete.\r",
"--vcf: 496k variants complete.\r",
"--vcf: 497k variants complete.\r",
"--vcf: 498k variants complete.\r",
"--vcf: 499k variants complete.\r",
"--vcf: 500k variants complete.\r",
"--vcf: 501k variants complete.\r",
"--vcf: 502k variants complete.\r",
"--vcf: 503k variants complete.\r",
"--vcf: 504k variants complete.\r",
"--vcf: 505k variants complete.\r",
"--vcf: 506k variants complete.\r",
"--vcf: 507k variants complete.\r",
"--vcf: 508k variants complete.\r",
"--vcf: 509k variants complete.\r",
"--vcf: 510k variants complete.\r",
"--vcf: 511k variants complete.\r",
"--vcf: 512k variants complete.\r",
"--vcf: 513k variants complete.\r",
"--vcf: 514k variants complete.\r",
"--vcf: 515k variants complete.\r",
"--vcf: 516k variants complete.\r",
"--vcf: 517k variants complete.\r",
"--vcf: 518k variants complete.\r",
"--vcf: 519k variants complete.\r",
"--vcf: 520k variants complete.\r",
"--vcf: 521k variants complete.\r",
"--vcf: 522k variants complete.\r",
"--vcf: 523k variants complete.\r",
"--vcf: 524k variants complete.\r",
"--vcf: 525k variants complete.\r",
"--vcf: 526k variants complete.\r",
"--vcf: 527k variants complete.\r",
"--vcf: 528k variants complete.\r",
"--vcf: 529k variants complete.\r",
"--vcf: 530k variants complete.\r",
"--vcf: 531k variants complete.\r",
"--vcf: 532k variants complete.\r",
"--vcf: 533k variants complete.\r",
"--vcf: 534k variants complete.\r",
"--vcf: 535k variants complete.\r",
"--vcf: 536k variants complete.\r",
"--vcf: 537k variants complete.\r",
"--vcf: 538k variants complete.\r",
"--vcf: 539k variants complete.\r",
"--vcf: 540k variants complete.\r",
"--vcf: 541k variants complete.\r",
"--vcf: 542k variants complete.\r",
"--vcf: 543k variants complete.\r",
"--vcf: 544k variants complete.\r",
"--vcf: 545k variants complete.\r",
"--vcf: 546k variants complete.\r",
"--vcf: 547k variants complete.\r",
"--vcf: 548k variants complete.\r",
"--vcf: 549k variants complete.\r",
"--vcf: 550k variants complete.\r",
"--vcf: 551k variants complete.\r",
"--vcf: 552k variants complete.\r",
"--vcf: 553k variants complete.\r",
"--vcf: 554k variants complete.\r",
"--vcf: 555k variants complete.\r",
"--vcf: 556k variants complete.\r",
"--vcf: 557k variants complete.\r",
"--vcf: 558k variants complete.\r",
"--vcf: 559k variants complete.\r",
"--vcf: 560k variants complete.\r",
"--vcf: 561k variants complete.\r",
"--vcf: 562k variants complete.\r",
"--vcf: 563k variants complete.\r",
"--vcf: 564k variants complete.\r",
"--vcf: 565k variants complete.\r",
"--vcf: 566k variants complete.\r",
"--vcf: 567k variants complete.\r",
"--vcf: 568k variants complete.\r",
"--vcf: 569k variants complete.\r",
"--vcf: 570k variants complete.\r",
"--vcf: 571k variants complete.\r",
"--vcf: 572k variants complete.\r",
"--vcf: 573k variants complete.\r",
"--vcf: 574k variants complete.\r",
"--vcf: 575k variants complete.\r",
"--vcf: 576k variants complete.\r",
"--vcf: 577k variants complete.\r",
"--vcf: 578k variants complete.\r",
"--vcf: 579k variants complete.\r",
"--vcf: 580k variants complete.\r",
"--vcf: 581k variants complete.\r",
"--vcf: 582k variants complete.\r",
"--vcf: 583k variants complete.\r",
"--vcf: 584k variants complete.\r",
"--vcf: 585k variants complete.\r",
"--vcf: 586k variants complete.\r",
"--vcf: 587k variants complete.\r",
"--vcf: 588k variants complete.\r",
"--vcf: 589k variants complete.\r",
"--vcf: 590k variants complete.\r",
"--vcf: 591k variants complete.\r",
"--vcf: 592k variants complete.\r",
"--vcf: 593k variants complete.\r",
"--vcf: 594k variants complete.\r",
"--vcf: 595k variants complete.\r",
"--vcf: 596k variants complete.\r",
"--vcf: 597k variants complete.\r",
"--vcf: 598k variants complete.\r",
"--vcf: 599k variants complete.\r",
"--vcf: 600k variants complete.\r",
"--vcf: 601k variants complete.\r",
"--vcf: 602k variants complete.\r",
"--vcf: 603k variants complete.\r",
"--vcf: 604k variants complete.\r",
"--vcf: 605k variants complete.\r",
"--vcf: 606k variants complete.\r",
"--vcf: 607k variants complete.\r",
"--vcf: 608k variants complete.\r",
"--vcf: 609k variants complete.\r",
"--vcf: 610k variants complete.\r",
"--vcf: 611k variants complete.\r",
"--vcf: 612k variants complete.\r",
"--vcf: 613k variants complete.\r",
"--vcf: 614k variants complete.\r",
"--vcf: 615k variants complete.\r",
"--vcf: 616k variants complete.\r",
"--vcf: 617k variants complete.\r",
"--vcf: 618k variants complete.\r",
"--vcf: 619k variants complete.\r",
"--vcf: 620k variants complete.\r",
"--vcf: 621k variants complete.\r",
"--vcf: 622k variants complete.\r",
"--vcf: 623k variants complete.\r",
"--vcf: 624k variants complete.\r",
"--vcf: 625k variants complete.\r",
"--vcf: 626k variants complete.\r",
"--vcf: 627k variants complete.\r",
"--vcf: 628k variants complete.\r",
"--vcf: 629k variants complete.\r",
"--vcf: 630k variants complete.\r",
"--vcf: 631k variants complete.\r",
"--vcf: 632k variants complete.\r",
"--vcf: 633k variants complete.\r",
"--vcf: 634k variants complete.\r",
"--vcf: 635k variants complete.\r",
"--vcf: 636k variants complete.\r",
"--vcf: 637k variants complete.\r",
"--vcf: 638k variants complete.\r",
"--vcf: 639k variants complete.\r",
"--vcf: 640k variants complete.\r",
"--vcf: 641k variants complete.\r",
"--vcf: 642k variants complete.\r",
"--vcf: 643k variants complete.\r",
"--vcf: 644k variants complete.\r",
"--vcf: 645k variants complete.\r",
"--vcf: 646k variants complete.\r",
"--vcf: 647k variants complete.\r",
"--vcf: 648k variants complete.\r",
"--vcf: 649k variants complete.\r",
"--vcf: 650k variants complete.\r",
"--vcf: 651k variants complete.\r",
"--vcf: 652k variants complete.\r",
"--vcf: 653k variants complete.\r",
"--vcf: 654k variants complete.\r",
"--vcf: 655k variants complete.\r",
"--vcf: 656k variants complete.\r",
"--vcf: 657k variants complete.\r",
"--vcf: 658k variants complete.\r",
"--vcf: 659k variants complete.\r",
"--vcf: 660k variants complete.\r",
"--vcf: 661k variants complete.\r",
"--vcf: 662k variants complete.\r",
"--vcf: 663k variants complete.\r",
"--vcf: 664k variants complete.\r",
"--vcf: 665k variants complete.\r",
"--vcf: 666k variants complete.\r",
"--vcf: 667k variants complete.\r",
"--vcf: 668k variants complete.\r",
"--vcf: 669k variants complete.\r",
"--vcf: 670k variants complete.\r",
"--vcf: 671k variants complete.\r",
"--vcf: 672k variants complete.\r",
"--vcf: 673k variants complete.\r",
"--vcf: 674k variants complete.\r",
"--vcf: 675k variants complete.\r",
"--vcf: 676k variants complete.\r",
"--vcf: 677k variants complete.\r",
"--vcf: 678k variants complete.\r",
"--vcf: 679k variants complete.\r",
"--vcf: 680k variants complete.\r",
"--vcf: 681k variants complete.\r",
"--vcf: 682k variants complete.\r",
"--vcf: 683k variants complete.\r",
"--vcf: 684k variants complete.\r",
"--vcf: 685k variants complete.\r",
"--vcf: 686k variants complete.\r",
"--vcf: 687k variants complete.\r",
"--vcf: 688k variants complete.\r",
"--vcf: 689k variants complete.\r",
"--vcf: 690k variants complete.\r",
"--vcf: 691k variants complete.\r",
"--vcf: 692k variants complete.\r",
"--vcf: 693k variants complete.\r",
"--vcf: 694k variants complete.\r",
"--vcf: 695k variants complete.\r",
"--vcf: 696k variants complete.\r",
"--vcf: 697k variants complete.\r",
"--vcf: 698k variants complete.\r",
"--vcf: 699k variants complete.\r",
"--vcf: 700k variants complete.\r",
"--vcf: 701k variants complete.\r",
"--vcf: 702k variants complete.\r",
"--vcf: 703k variants complete.\r",
"--vcf: 704k variants complete.\r",
"--vcf: 705k variants complete.\r",
"--vcf: 706k variants complete.\r",
"--vcf: 707k variants complete.\r",
"--vcf: 708k variants complete.\r",
"--vcf: 709k variants complete.\r",
"--vcf: 710k variants complete.\r",
"--vcf: 711k variants complete.\r",
"--vcf: 712k variants complete.\r",
"--vcf: 713k variants complete.\r",
"--vcf: 714k variants complete.\r",
"--vcf: 715k variants complete.\r",
"--vcf: 716k variants complete.\r",
"--vcf: 717k variants complete.\r",
"--vcf: 718k variants complete.\r",
"--vcf: 719k variants complete.\r",
"--vcf: 720k variants complete.\r",
"--vcf: 721k variants complete.\r",
"--vcf: 722k variants complete.\r",
"--vcf: 723k variants complete.\r",
"--vcf: 724k variants complete.\r",
"--vcf: 725k variants complete.\r",
"--vcf: 726k variants complete.\r",
"--vcf: 727k variants complete.\r",
"--vcf: 728k variants complete.\r",
"--vcf: 729k variants complete.\r",
"--vcf: 730k variants complete.\r",
"--vcf: 731k variants complete.\r",
"--vcf: 732k variants complete.\r",
"--vcf: 733k variants complete.\r",
"--vcf: 734k variants complete.\r",
"--vcf: 735k variants complete.\r",
"--vcf: 736k variants complete.\r",
"--vcf: 737k variants complete.\r",
"--vcf: 738k variants complete.\r",
"--vcf: 739k variants complete.\r",
"--vcf: 740k variants complete.\r",
"--vcf: 741k variants complete.\r",
"--vcf: 742k variants complete.\r",
"--vcf: 743k variants complete.\r",
"--vcf: 744k variants complete.\r",
"--vcf: 745k variants complete.\r",
"--vcf: 746k variants complete.\r",
"--vcf: 747k variants complete.\r",
"--vcf: 748k variants complete.\r",
"--vcf: 749k variants complete.\r",
"--vcf: 750k variants complete.\r",
"--vcf: 751k variants complete.\r",
"--vcf: 752k variants complete.\r",
"--vcf: 753k variants complete.\r",
"--vcf: 754k variants complete.\r",
"--vcf: 755k variants complete.\r",
"--vcf: 756k variants complete.\r",
"--vcf: 757k variants complete.\r",
"--vcf: 758k variants complete.\r",
"--vcf: 759k variants complete.\r",
"--vcf: 760k variants complete.\r",
"--vcf: 761k variants complete.\r",
"--vcf: 762k variants complete.\r",
"--vcf: 763k variants complete.\r",
"--vcf: 764k variants complete.\r",
"--vcf: 765k variants complete.\r",
"--vcf: 766k variants complete.\r",
"--vcf: 767k variants complete.\r",
"--vcf: 768k variants complete.\r",
"--vcf: 769k variants complete.\r",
"--vcf: 770k variants complete.\r",
"--vcf: 771k variants complete.\r",
"--vcf: 772k variants complete.\r",
"--vcf: 773k variants complete.\r",
"--vcf: 774k variants complete.\r",
"--vcf: 775k variants complete.\r",
"--vcf: 776k variants complete.\r",
"--vcf: 777k variants complete.\r",
"--vcf: 778k variants complete.\r",
"--vcf: 779k variants complete.\r",
"--vcf: 780k variants complete.\r",
"--vcf: 781k variants complete.\r",
"--vcf: 782k variants complete.\r",
"--vcf: 783k variants complete.\r",
"--vcf: 784k variants complete.\r",
"--vcf: 785k variants complete.\r",
"--vcf: 786k variants complete.\r",
"--vcf: 787k variants complete.\r",
"--vcf: 788k variants complete.\r",
"--vcf: 789k variants complete.\r",
"--vcf: 790k variants complete.\r",
"--vcf: 791k variants complete.\r",
"--vcf: 792k variants complete.\r",
"--vcf: 793k variants complete.\r",
"--vcf: 794k variants complete.\r",
"--vcf: 795k variants complete.\r",
"--vcf: 796k variants complete.\r",
"--vcf: 797k variants complete.\r",
"--vcf: 798k variants complete.\r",
"--vcf: 799k variants complete.\r",
"--vcf: 800k variants complete.\r",
"--vcf: 801k variants complete.\r",
"--vcf: 802k variants complete.\r",
"--vcf: 803k variants complete.\r",
"--vcf: 804k variants complete.\r",
"--vcf: 805k variants complete.\r",
"--vcf: 806k variants complete.\r",
"--vcf: 807k variants complete.\r",
"--vcf: 808k variants complete.\r",
"--vcf: 809k variants complete.\r",
"--vcf: 810k variants complete.\r",
"--vcf: 811k variants complete.\r",
"--vcf: 812k variants complete.\r",
"--vcf: 813k variants complete.\r",
"--vcf: 814k variants complete.\r",
"--vcf: 815k variants complete.\r",
"--vcf: 816k variants complete.\r",
"--vcf: 817k variants complete.\r",
"--vcf: 818k variants complete.\r",
"--vcf: 819k variants complete.\r",
"--vcf: 820k variants complete.\r",
"--vcf: 821k variants complete.\r",
"--vcf: 822k variants complete.\r",
"--vcf: 823k variants complete.\r",
"--vcf: 824k variants complete.\r",
"--vcf: 825k variants complete.\r",
"--vcf: 826k variants complete.\r",
"--vcf: 827k variants complete.\r",
"--vcf: 828k variants complete.\r",
"--vcf: 829k variants complete.\r",
"--vcf: 830k variants complete.\r",
"--vcf: 831k variants complete.\r",
"--vcf: 832k variants complete.\r",
"--vcf: 833k variants complete.\r",
"--vcf: 834k variants complete.\r",
"--vcf: 835k variants complete.\r",
"--vcf: 836k variants complete.\r",
"--vcf: 837k variants complete.\r",
"--vcf: 838k variants complete.\r",
"--vcf: 839k variants complete.\r",
"--vcf: 840k variants complete.\r",
"--vcf: 841k variants complete.\r",
"--vcf: 842k variants complete.\r",
"--vcf: 843k variants complete.\r",
"--vcf: 844k variants complete.\r",
"--vcf: 845k variants complete.\r",
"--vcf: 846k variants complete.\r",
"--vcf: 847k variants complete.\r",
"--vcf: 848k variants complete.\r",
"--vcf: 849k variants complete.\r",
"--vcf: 850k variants complete.\r",
"--vcf: 851k variants complete.\r",
"--vcf: 852k variants complete.\r",
"--vcf: 853k variants complete.\r",
"--vcf: 854k variants complete.\r",
"--vcf: 855k variants complete.\r",
"--vcf: 856k variants complete.\r",
"--vcf: 857k variants complete.\r",
"--vcf: 858k variants complete.\r",
"--vcf: 859k variants complete.\r",
"--vcf: 860k variants complete.\r",
"--vcf: 861k variants complete.\r",
"--vcf: 862k variants complete.\r",
"--vcf: 863k variants complete.\r",
"--vcf: 864k variants complete.\r",
"--vcf: 865k variants complete.\r",
"--vcf: 866k variants complete.\r",
"--vcf: 867k variants complete.\r",
"--vcf: 868k variants complete.\r",
"--vcf: 869k variants complete.\r",
"--vcf: 870k variants complete.\r",
"--vcf: 871k variants complete.\r",
"--vcf: 872k variants complete.\r",
"--vcf: 873k variants complete.\r",
"--vcf: 874k variants complete.\r",
"--vcf: 875k variants complete.\r",
"--vcf: 876k variants complete.\r",
"--vcf: 877k variants complete.\r",
"--vcf: 878k variants complete.\r",
"--vcf: 879k variants complete.\r",
"--vcf: 880k variants complete.\r",
"--vcf: 881k variants complete.\r",
"--vcf: 882k variants complete.\r",
"--vcf: 883k variants complete.\r",
"--vcf: 884k variants complete.\r",
"--vcf: 885k variants complete.\r",
"--vcf: 886k variants complete.\r",
"--vcf: 887k variants complete.\r",
"--vcf: 888k variants complete.\r",
"--vcf: 889k variants complete.\r",
"--vcf: 890k variants complete.\r",
"--vcf: 891k variants complete.\r",
"--vcf: 892k variants complete.\r",
"--vcf: 893k variants complete.\r",
"--vcf: 894k variants complete.\r",
"--vcf: 895k variants complete.\r",
"--vcf: 896k variants complete.\r",
"--vcf: 897k variants complete.\r",
"--vcf: 898k variants complete.\r",
"--vcf: 899k variants complete.\r",
"--vcf: 900k variants complete.\r",
"--vcf: 901k variants complete.\r",
"--vcf: 902k variants complete.\r",
"--vcf: 903k variants complete.\r",
"--vcf: 904k variants complete.\r",
"--vcf: 905k variants complete.\r",
"--vcf: 906k variants complete.\r",
"--vcf: 907k variants complete.\r",
"--vcf: 908k variants complete.\r",
"--vcf: 909k variants complete.\r",
"--vcf: 910k variants complete.\r",
"--vcf: 911k variants complete.\r",
"--vcf: 912k variants complete.\r",
"--vcf: 913k variants complete.\r",
"--vcf: 914k variants complete.\r",
"--vcf: 915k variants complete.\r",
"--vcf: 916k variants complete.\r",
"--vcf: 917k variants complete.\r",
"--vcf: 918k variants complete.\r",
"--vcf: 919k variants complete.\r",
"--vcf: 920k variants complete.\r",
"--vcf: 921k variants complete.\r",
"--vcf: 922k variants complete.\r",
"--vcf: 923k variants complete.\r",
"--vcf: 924k variants complete.\r",
"--vcf: 925k variants complete.\r",
"--vcf: 926k variants complete.\r",
"--vcf: 927k variants complete.\r",
"--vcf: 928k variants complete.\r",
"--vcf: 929k variants complete.\r",
"--vcf: 930k variants complete.\r",
"--vcf: 931k variants complete.\r",
"--vcf: 932k variants complete.\r",
"--vcf: 933k variants complete.\r",
"--vcf: 934k variants complete.\r",
"--vcf: 935k variants complete.\r",
"--vcf: 936k variants complete.\r",
"--vcf: 937k variants complete.\r",
"--vcf: 938k variants complete.\r",
"--vcf: 939k variants complete.\r",
"--vcf: 940k variants complete.\r",
"--vcf: 941k variants complete.\r",
"--vcf: 942k variants complete.\r",
"--vcf: 943k variants complete.\r",
"--vcf: 944k variants complete.\r",
"--vcf: 945k variants complete.\r",
"--vcf: 946k variants complete.\r",
"--vcf: 947k variants complete.\r",
"--vcf: 948k variants complete.\r",
"--vcf: 949k variants complete.\r",
"--vcf: 950k variants complete.\r",
"--vcf: 951k variants complete.\r",
"--vcf: 952k variants complete.\r",
"--vcf: 953k variants complete.\r",
"--vcf: 954k variants complete.\r",
"--vcf: 955k variants complete.\r",
"--vcf: 956k variants complete.\r",
"--vcf: 957k variants complete.\r",
"--vcf: 958k variants complete.\r",
"--vcf: 959k variants complete.\r",
"--vcf: 960k variants complete.\r",
"--vcf: 961k variants complete.\r",
"--vcf: 962k variants complete.\r",
"--vcf: 963k variants complete.\r",
"--vcf: 964k variants complete.\r",
"--vcf: 965k variants complete.\r",
"--vcf: 966k variants complete.\r",
"--vcf: 967k variants complete.\r",
"--vcf: 968k variants complete.\r",
"--vcf: 969k variants complete.\r",
"--vcf: 970k variants complete.\r",
"--vcf: 971k variants complete.\r",
"--vcf: 972k variants complete.\r",
"--vcf: 973k variants complete.\r",
"--vcf: 974k variants complete.\r",
"--vcf: 975k variants complete.\r",
"--vcf: 976k variants complete.\r",
"--vcf: 977k variants complete.\r",
"--vcf: 978k variants complete.\r",
"--vcf: 979k variants complete.\r",
"--vcf: 980k variants complete.\r",
"--vcf: 981k variants complete.\r",
"--vcf: 982k variants complete.\r",
"--vcf: 983k variants complete.\r",
"--vcf: 984k variants complete.\r",
"--vcf: 985k variants complete.\r",
"--vcf: 986k variants complete.\r",
"--vcf: 987k variants complete.\r",
"--vcf: 988k variants complete.\r",
"--vcf: 989k variants complete.\r",
"--vcf: 990k variants complete.\r",
"--vcf: 991k variants complete.\r",
"--vcf: 992k variants complete.\r",
"--vcf: 993k variants complete.\r",
"--vcf: 994k variants complete.\r",
"--vcf: 995k variants complete.\r",
"--vcf: 996k variants complete.\r",
"--vcf: 997k variants complete.\r",
"--vcf: 998k variants complete.\r",
"--vcf: 999k variants complete.\r",
"--vcf: 1000k variants complete.\r",
"--vcf: 1001k variants complete.\r",
"--vcf: 1002k variants complete.\r",
"--vcf: 1003k variants complete.\r",
"--vcf: 1004k variants complete.\r",
"--vcf: 1005k variants complete.\r",
"--vcf: 1006k variants complete.\r",
"--vcf: 1007k variants complete.\r",
"--vcf: 1008k variants complete.\r",
"--vcf: 1009k variants complete.\r",
"--vcf: 1010k variants complete.\r",
"--vcf: 1011k variants complete.\r",
"--vcf: 1012k variants complete.\r",
"--vcf: 1013k variants complete.\r",
"--vcf: 1014k variants complete.\r",
"--vcf: 1015k variants complete.\r",
"--vcf: 1016k variants complete.\r",
"--vcf: 1017k variants complete.\r",
"--vcf: 1018k variants complete.\r",
"--vcf: 1019k variants complete.\r",
"--vcf: 1020k variants complete.\r",
"--vcf: 1021k variants complete.\r",
"--vcf: 1022k variants complete.\r",
"--vcf: 1023k variants complete.\r",
"--vcf: 1024k variants complete.\r",
"--vcf: 1025k variants complete.\r",
"--vcf: 1026k variants complete.\r",
"--vcf: 1027k variants complete.\r",
"--vcf: 1028k variants complete.\r",
"--vcf: 1029k variants complete.\r",
"--vcf: 1030k variants complete.\r",
"--vcf: 1031k variants complete.\r",
"--vcf: 1032k variants complete.\r",
"--vcf: 1033k variants complete.\r",
"--vcf: 1034k variants complete.\r",
"--vcf: 1035k variants complete.\r",
"--vcf: 1036k variants complete.\r",
"--vcf: 1037k variants complete.\r",
"--vcf: 1038k variants complete.\r",
"--vcf: 1039k variants complete.\r",
"--vcf: 1040k variants complete.\r",
"--vcf: 1041k variants complete.\r",
"--vcf: 1042k variants complete.\r",
"--vcf: 1043k variants complete.\r",
"--vcf: 1044k variants complete.\r",
"--vcf: 1045k variants complete.\r",
"--vcf: 1046k variants complete.\r",
"--vcf: 1047k variants complete.\r",
"--vcf: 1048k variants complete.\r",
"--vcf: 1049k variants complete.\r",
"--vcf: 1050k variants complete.\r",
"--vcf: 1051k variants complete.\r",
"--vcf: 1052k variants complete.\r",
"--vcf: 1053k variants complete.\r",
"--vcf: 1054k variants complete.\r",
"--vcf: 1055k variants complete.\r",
"--vcf: 1056k variants complete.\r",
"--vcf: 1057k variants complete.\r",
"--vcf: 1058k variants complete.\r",
"--vcf: 1059k variants complete.\r",
"--vcf: 1060k variants complete.\r",
"--vcf: 1061k variants complete.\r",
"--vcf: 1062k variants complete.\r",
"--vcf: 1063k variants complete.\r",
"--vcf: 1064k variants complete.\r",
"--vcf: 1065k variants complete.\r",
"--vcf: 1066k variants complete.\r",
"--vcf: 1067k variants complete.\r",
"--vcf: 1068k variants complete.\r",
"--vcf: 1069k variants complete.\r",
"--vcf: 1070k variants complete.\r",
"--vcf: 1071k variants complete.\r",
"--vcf: 1072k variants complete.\r",
"--vcf: 1073k variants complete.\r",
"--vcf: 1074k variants complete.\r",
"--vcf: 1075k variants complete.\r",
"--vcf: 1076k variants complete.\r",
"--vcf: 1077k variants complete.\r",
"--vcf: 1078k variants complete.\r",
"--vcf: 1079k variants complete.\r",
"--vcf: 1080k variants complete.\r",
"--vcf: 1081k variants complete.\r",
"--vcf: 1082k variants complete.\r",
"--vcf: 1083k variants complete.\r",
"--vcf: 1084k variants complete.\r",
"--vcf: 1085k variants complete.\r",
"--vcf: 1086k variants complete.\r",
"--vcf: 1087k variants complete.\r",
"--vcf: 1088k variants complete.\r",
"--vcf: 1089k variants complete.\r",
"--vcf: 1090k variants complete.\r",
"--vcf: 1091k variants complete.\r",
"--vcf: 1092k variants complete.\r",
"--vcf: 1093k variants complete.\r",
"--vcf: 1094k variants complete.\r",
"--vcf: 1095k variants complete.\r",
"--vcf: 1096k variants complete.\r",
"--vcf: 1097k variants complete.\r",
"--vcf: 1098k variants complete.\r",
"--vcf: 1099k variants complete.\r",
"--vcf: 1100k variants complete.\r",
"--vcf: 1101k variants complete.\r",
"--vcf: 1102k variants complete.\r",
"--vcf: 1103k variants complete.\r",
"--vcf: 1kgp_chr22.vcf-temporary.bed + 1kgp_chr22.vcf-temporary.bim +\n",
"1kgp_chr22.vcf-temporary.fam written.\n",
"1103547 variants loaded from .bim file.\n",
"2504 people (0 males, 0 females, 2504 ambiguous) loaded from .fam.\n",
"Ambiguous sex IDs written to 1kgp_chr22.vcf.nosex .\n",
"Using 1 thread.\n",
"Before main variant filters, 2504 founders and 0 nonfounders present.\n",
"Calculating allele frequencies... 0%\b\b1%\b\b2%\b\b3%\b\b4%\b\b5%\b\b6%\b\b7%\b\b8%\b\b9%\b\b10%\b\b\b11%\b\b\b12%\b\b\b13%\b\b\b14%\b\b\b15%\b\b\b16%\b\b\b17%\b\b\b18%\b\b\b19%\b\b\b20%\b\b\b21%\b\b\b22%\b\b\b23%\b\b\b24%\b\b\b25%\b\b\b26%\b\b\b27%\b\b\b28%\b\b\b29%\b\b\b30%\b\b\b31%\b\b\b32%\b\b\b33%\b\b\b34%\b\b\b35%\b\b\b36%\b\b\b37%\b\b\b38%\b\b\b39%\b\b\b40%\b\b\b41%\b\b\b42%\b\b\b43%\b\b\b44%\b\b\b45%\b\b\b46%\b\b\b47%\b\b\b48%\b\b\b49%\b\b\b50%\b\b\b51%\b\b\b52%\b\b\b53%\b\b\b54%\b\b\b55%\b\b\b56%\b\b\b57%\b\b\b58%\b\b\b59%\b\b\b60%\b\b\b61%\b\b\b62%\b\b\b63%\b\b\b64%\b\b\b65%\b\b\b66%\b\b\b67%\b\b\b68%\b\b\b69%\b\b\b70%\b\b\b71%\b\b\b72%\b\b\b73%\b\b\b74%\b\b\b75%\b\b\b76%\b\b\b77%\b\b\b78%\b\b\b79%\b\b\b80%\b\b\b81%\b\b\b82%\b\b\b83%\b\b\b84%\b\b\b85%\b\b\b86%\b\b\b87%\b\b\b88%\b\b\b89%\b\b\b90%\b\b\b91%\b\b\b92%\b\b\b93%\b\b\b94%\b\b\b95%\b\b\b96%\b\b\b97%\b\b\b98%\b\b\b99%\b\b\b\b done.\n",
"Total genotyping rate is 0.99984.\n",
"1103547 variants and 2504 people pass filters and QC.\n",
"Note: No phenotypes present.\n",
"--make-bed to 1kgp_chr22.vcf.bed + 1kgp_chr22.vcf.bim + 1kgp_chr22.vcf.fam ...\n",
"0%\b\b1%\b\b2%\b\b3%\b\b4%\b\b5%\b\b6%\b\b7%\b\b8%\b\b9%\b\b10%\b\b\b11%\b\b\b12%\b\b\b13%\b\b\b14%\b\b\b15%\b\b\b16%\b\b\b17%\b\b\b18%\b\b\b19%\b\b\b20%\b\b\b21%\b\b\b22%\b\b\b23%\b\b\b24%\b\b\b25%\b\b\b26%\b\b\b27%\b\b\b28%\b\b\b29%\b\b\b30%\b\b\b31%\b\b\b32%\b\b\b33%\b\b\b34%\b\b\b35%\b\b\b36%\b\b\b37%\b\b\b38%\b\b\b39%\b\b\b40%\b\b\b41%\b\b\b42%\b\b\b43%\b\b\b44%\b\b\b45%\b\b\b46%\b\b\b47%\b\b\b48%\b\b\b49%\b\b\b50%\b\b\b51%\b\b\b52%\b\b\b53%\b\b\b54%\b\b\b55%\b\b\b56%\b\b\b57%\b\b\b58%\b\b\b59%\b\b\b60%\b\b\b61%\b\b\b62%\b\b\b63%\b\b\b64%\b\b\b65%\b\b\b66%\b\b\b67%\b\b\b68%\b\b\b69%\b\b\b70%\b\b\b71%\b\b\b72%\b\b\b73%\b\b\b74%\b\b\b75%\b\b\b76%\b\b\b77%\b\b\b78%\b\b\b79%\b\b\b80%\b\b\b81%\b\b\b82%\b\b\b83%\b\b\b84%\b\b\b85%\b\b\b86%\b\b\b87%\b\b\b88%\b\b\b89%\b\b\b90%\b\b\b91%\b\b\b92%\b\b\b93%\b\b\b94%\b\b\b95%\b\b\b96%\b\b\b97%\b\b\b98%\b\b\b99%\b\b\bdone.\n",
"--recode ped to 1kgp_chr22.vcf.ped + 1kgp_chr22.vcf.map ... 0%\b\b1%\b\b2%\b\b3%\b\b4%\b\b5%\b\b6%\b\b7%\b\b8%\b\b9%\b\b10%\b\b\b11%\b\b\b12%\b\b\b13%\b\b\b14%\b\b\b15%\b\b\b16%\b\b\b17%\b\b\b18%\b\b\b19%\b\b\b20%\b\b\b21%\b\b\b22%\b\b\b23%\b\b\b24%\b\b\b25%\b\b\b26%\b\b\b27%\b\b\b28%\b\b\b29%\b\b\b30%\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"Error: File write failure.\n"
]
}
],
"source": [
"%%bash\n",
"./plink --vcf 1kgp_chr22.vcf \\\n",
" --make-bed --recode \\\n",
" --out 1kgp_chr22"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Παρατηρούμε ότι το αρχείο μας έχει 1103547 γονότυπους από 2504 ανθρώπους. (Αγνοήστε το λάθος)\n",
"\n",
"Ας αφαιρέσουμε τους γονότυπους που έχουν Allele Frequency μικρότερο από 5%:"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"PLINK v1.90b5.4 64-bit (10 Apr 2018) www.cog-genomics.org/plink/1.9/\n",
"(C) 2005-2018 Shaun Purcell, Christopher Chang GNU General Public License v3\n",
"Logging to 1kgp_chr22_maf.log.\n",
"Options in effect:\n",
" --bfile 1kgp_chr22\n",
" --maf 0.05\n",
" --make-bed\n",
" --out 1kgp_chr22_maf\n",
" --recode\n",
"\n",
"1998 MB RAM detected; reserving 999 MB for main workspace.\n",
"1103547 variants loaded from .bim file.\n",
"2504 people (0 males, 0 females, 2504 ambiguous) loaded from .fam.\n",
"Ambiguous sex IDs written to 1kgp_chr22_maf.nosex .\n",
"Using 1 thread.\n",
"Before main variant filters, 2504 founders and 0 nonfounders present.\n",
"Calculating allele frequencies... 0%\b\b1%\b\b2%\b\b3%\b\b4%\b\b5%\b\b6%\b\b7%\b\b8%\b\b9%\b\b10%\b\b\b11%\b\b\b12%\b\b\b13%\b\b\b14%\b\b\b15%\b\b\b16%\b\b\b17%\b\b\b18%\b\b\b19%\b\b\b20%\b\b\b21%\b\b\b22%\b\b\b23%\b\b\b24%\b\b\b25%\b\b\b26%\b\b\b27%\b\b\b28%\b\b\b29%\b\b\b30%\b\b\b31%\b\b\b32%\b\b\b33%\b\b\b34%\b\b\b35%\b\b\b36%\b\b\b37%\b\b\b38%\b\b\b39%\b\b\b40%\b\b\b41%\b\b\b42%\b\b\b43%\b\b\b44%\b\b\b45%\b\b\b46%\b\b\b47%\b\b\b48%\b\b\b49%\b\b\b50%\b\b\b51%\b\b\b52%\b\b\b53%\b\b\b54%\b\b\b55%\b\b\b56%\b\b\b57%\b\b\b58%\b\b\b59%\b\b\b60%\b\b\b61%\b\b\b62%\b\b\b63%\b\b\b64%\b\b\b65%\b\b\b66%\b\b\b67%\b\b\b68%\b\b\b69%\b\b\b70%\b\b\b71%\b\b\b72%\b\b\b73%\b\b\b74%\b\b\b75%\b\b\b76%\b\b\b77%\b\b\b78%\b\b\b79%\b\b\b80%\b\b\b81%\b\b\b82%\b\b\b83%\b\b\b84%\b\b\b85%\b\b\b86%\b\b\b87%\b\b\b88%\b\b\b89%\b\b\b90%\b\b\b91%\b\b\b92%\b\b\b93%\b\b\b94%\b\b\b95%\b\b\b96%\b\b\b97%\b\b\b98%\b\b\b99%\b\b\b\b done.\n",
"Total genotyping rate is 0.99984.\n",
"991032 variants removed due to minor allele threshold(s)\n",
"(--maf/--max-maf/--mac/--max-mac).\n",
"112515 variants and 2504 people pass filters and QC.\n",
"Note: No phenotypes present.\n",
"--make-bed to 1kgp_chr22_maf.bed + 1kgp_chr22_maf.bim + 1kgp_chr22_maf.fam ...\n",
"0%\b\b1%\b\b2%\b\b3%\b\b4%\b\b5%\b\b6%\b\b7%\b\b8%\b\b9%\b\b10%\b\b\b11%\b\b\b12%\b\b\b13%\b\b\b14%\b\b\b15%\b\b\b16%\b\b\b17%\b\b\b18%\b\b\b19%\b\b\b20%\b\b\b21%\b\b\b22%\b\b\b23%\b\b\b24%\b\b\b25%\b\b\b26%\b\b\b27%\b\b\b28%\b\b\b29%\b\b\b30%\b\b\b31%\b\b\b32%\b\b\b33%\b\b\b34%\b\b\b35%\b\b\b36%\b\b\b37%\b\b\b38%\b\b\b39%\b\b\b40%\b\b\b41%\b\b\b42%\b\b\b43%\b\b\b44%\b\b\b45%\b\b\b46%\b\b\b47%\b\b\b48%\b\b\b49%\b\b\b50%\b\b\b51%\b\b\b52%\b\b\b53%\b\b\b54%\b\b\b55%\b\b\b56%\b\b\b57%\b\b\b58%\b\b\b59%\b\b\b60%\b\b\b61%\b\b\b62%\b\b\b63%\b\b\b64%\b\b\b65%\b\b\b66%\b\b\b67%\b\b\b68%\b\b\b69%\b\b\b70%\b\b\b71%\b\b\b72%\b\b\b73%\b\b\b74%\b\b\b75%\b\b\b76%\b\b\b77%\b\b\b78%\b\b\b79%\b\b\b80%\b\b\b81%\b\b\b82%\b\b\b83%\b\b\b84%\b\b\b85%\b\b\b86%\b\b\b87%\b\b\b88%\b\b\b89%\b\b\b90%\b\b\b91%\b\b\b92%\b\b\b93%\b\b\b94%\b\b\b95%\b\b\b96%\b\b\b97%\b\b\b98%\b\b\b99%\b\b\bdone.\n",
"--recode ped to 1kgp_chr22_maf.ped + 1kgp_chr22_maf.map ... 0%\b\b1%\b\b2%\b\b3%\b\b4%\b\b5%\b\b6%\b\b7%\b\b8%\b\b9%\b\b10%\b\b\b11%\b\b\b12%\b\b\b13%\b\b\b14%\b\b\b15%\b\b\b16%\b\b\b17%\b\b\b18%\b\b\b19%\b\b\b20%\b\b\b21%\b\b\b22%\b\b\b23%\b\b\b24%\b\b\b25%\b\b\b26%\b\b\b27%\b\b\b28%\b\b\b29%\b\b\b30%\b\b\b31%\b\b\b32%\b\b\b33%\b\b\b34%\b\b\b35%\b\b\b36%\b\b\b37%\b\b\b38%\b\b\b39%\b\b\b40%\b\b\b41%\b\b\b42%\b\b\b43%\b\b\b44%\b\b\b45%\b\b\b46%\b\b\b47%\b\b\b48%\b\b\b49%\b\b\b50%\b\b\b51%\b\b\b52%\b\b\b53%\b\b\b54%\b\b\b55%\b\b\b56%\b\b\b57%\b\b\b58%\b\b\b59%\b\b\b60%\b\b\b61%\b\b\b62%\b\b\b63%\b\b\b64%\b\b\b65%\b\b\b66%\b\b\b67%\b\b\b68%\b\b\b69%\b\b\b70%\b\b\b71%\b\b\b72%\b\b\b73%\b\b\b74%\b\b\b75%\b\b\b76%\b\b\b77%\b\b\b78%\b\b\b79%\b\b\b80%\b\b\b81%\b\b\b82%\b\b\b83%\b\b\b84%\b\b\b85%\b\b\b86%\b\b\b87%\b\b\b88%\b\b\b89%\b\b\b90%\b\b\b91%\b\b\b92%\b\b\b93%\b\b\b94%\b\b\b95%\b\b\b96%\b\b\b97%\b\b\b98%\b\b\b99%\b\b\bdone.\n"
]
}
],
"source": [
"%%bash\n",
"\n",
"./plink --bfile 1kgp_chr22 \\\n",
" --maf 0.05 \\\n",
" --make-bed --recode \\\n",
" --out 1kgp_chr22_maf"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Παρατηρούμε ότι από τους 1103547 γονότυπους φιλτράραμε τα 991032 και κρατήσαμε τα 112515. Ας φιτράρουμε και τους γονότυπους που έχουν Hardy Weinberg μικρότερο από 0.0001:"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"PLINK v1.90b5.4 64-bit (10 Apr 2018) www.cog-genomics.org/plink/1.9/\n",
"(C) 2005-2018 Shaun Purcell, Christopher Chang GNU General Public License v3\n",
"Logging to 1kgp_chr22_maf_hwe.log.\n",
"Options in effect:\n",
" --bfile 1kgp_chr22_maf\n",
" --hwe 0.0001\n",
" --make-bed\n",
" --out 1kgp_chr22_maf_hwe\n",
" --recode\n",
"\n",
"1998 MB RAM detected; reserving 999 MB for main workspace.\n",
"112515 variants loaded from .bim file.\n",
"2504 people (0 males, 0 females, 2504 ambiguous) loaded from .fam.\n",
"Ambiguous sex IDs written to 1kgp_chr22_maf_hwe.nosex .\n",
"Using 1 thread.\n",
"Before main variant filters, 2504 founders and 0 nonfounders present.\n",
"Calculating allele frequencies... 0%\b\b1%\b\b2%\b\b3%\b\b4%\b\b5%\b\b6%\b\b7%\b\b8%\b\b9%\b\b10%\b\b\b11%\b\b\b12%\b\b\b13%\b\b\b14%\b\b\b15%\b\b\b16%\b\b\b17%\b\b\b18%\b\b\b19%\b\b\b20%\b\b\b21%\b\b\b22%\b\b\b23%\b\b\b24%\b\b\b25%\b\b\b26%\b\b\b27%\b\b\b28%\b\b\b29%\b\b\b30%\b\b\b31%\b\b\b32%\b\b\b33%\b\b\b34%\b\b\b35%\b\b\b36%\b\b\b37%\b\b\b38%\b\b\b39%\b\b\b40%\b\b\b41%\b\b\b42%\b\b\b43%\b\b\b44%\b\b\b45%\b\b\b46%\b\b\b47%\b\b\b48%\b\b\b49%\b\b\b50%\b\b\b51%\b\b\b52%\b\b\b53%\b\b\b54%\b\b\b55%\b\b\b56%\b\b\b57%\b\b\b58%\b\b\b59%\b\b\b60%\b\b\b61%\b\b\b62%\b\b\b63%\b\b\b64%\b\b\b65%\b\b\b66%\b\b\b67%\b\b\b68%\b\b\b69%\b\b\b70%\b\b\b71%\b\b\b72%\b\b\b73%\b\b\b74%\b\b\b75%\b\b\b76%\b\b\b77%\b\b\b78%\b\b\b79%\b\b\b80%\b\b\b81%\b\b\b82%\b\b\b83%\b\b\b84%\b\b\b85%\b\b\b86%\b\b\b87%\b\b\b88%\b\b\b89%\b\b\b90%\b\b\b91%\b\b\b92%\b\b\b93%\b\b\b94%\b\b\b95%\b\b\b96%\b\b\b97%\b\b\b98%\b\b\b99%\b\b\b\b done.\n",
"Total genotyping rate is 0.99861.\n",
"--hwe: 54981 variants removed due to Hardy-Weinberg exact test.\n",
"57534 variants and 2504 people pass filters and QC.\n",
"Note: No phenotypes present.\n",
"--make-bed to 1kgp_chr22_maf_hwe.bed + 1kgp_chr22_maf_hwe.bim +\n",
"1kgp_chr22_maf_hwe.fam ... 0%\b\b1%\b\b2%\b\b3%\b\b4%\b\b5%\b\b6%\b\b7%\b\b8%\b\b9%\b\b10%\b\b\b11%\b\b\b12%\b\b\b13%\b\b\b14%\b\b\b15%\b\b\b16%\b\b\b17%\b\b\b18%\b\b\b19%\b\b\b20%\b\b\b21%\b\b\b22%\b\b\b23%\b\b\b24%\b\b\b25%\b\b\b26%\b\b\b27%\b\b\b28%\b\b\b29%\b\b\b30%\b\b\b31%\b\b\b32%\b\b\b33%\b\b\b34%\b\b\b35%\b\b\b36%\b\b\b37%\b\b\b38%\b\b\b39%\b\b\b40%\b\b\b41%\b\b\b42%\b\b\b43%\b\b\b44%\b\b\b45%\b\b\b46%\b\b\b47%\b\b\b48%\b\b\b49%\b\b\b50%\b\b\b51%\b\b\b52%\b\b\b53%\b\b\b54%\b\b\b55%\b\b\b56%\b\b\b57%\b\b\b58%\b\b\b59%\b\b\b60%\b\b\b61%\b\b\b62%\b\b\b63%\b\b\b64%\b\b\b65%\b\b\b66%\b\b\b67%\b\b\b68%\b\b\b69%\b\b\b70%\b\b\b71%\b\b\b72%\b\b\b73%\b\b\b74%\b\b\b75%\b\b\b76%\b\b\b77%\b\b\b78%\b\b\b79%\b\b\b80%\b\b\b81%\b\b\b82%\b\b\b83%\b\b\b84%\b\b\b85%\b\b\b86%\b\b\b87%\b\b\b88%\b\b\b89%\b\b\b90%\b\b\b91%\b\b\b92%\b\b\b93%\b\b\b94%\b\b\b95%\b\b\b96%\b\b\b97%\b\b\b98%\b\b\b99%\b\b\bdone.\n",
"--recode ped to 1kgp_chr22_maf_hwe.ped + 1kgp_chr22_maf_hwe.map ... 0%\b\b1%\b\b2%\b\b3%\b\b4%\b\b5%\b\b6%\b\b7%\b\b8%\b\b9%\b\b10%\b\b\b11%\b\b\b12%\b\b\b13%\b\b\b14%\b\b\b15%\b\b\b16%\b\b\b17%\b\b\b18%\b\b\b19%\b\b\b20%\b\b\b21%\b\b\b22%\b\b\b23%\b\b\b24%\b\b\b25%\b\b\b26%\b\b\b27%\b\b\b28%\b\b\b29%\b\b\b30%\b\b\b31%\b\b\b32%\b\b\b33%\b\b\b34%\b\b\b35%\b\b\b36%\b\b\b37%\b\b\b38%\b\b\b39%\b\b\b40%\b\b\b41%\b\b\b42%\b\b\b43%\b\b\b44%\b\b\b45%\b\b\b46%\b\b\b47%\b\b\b48%\b\b\b49%\b\b\b50%\b\b\b51%\b\b\b52%\b\b\b53%\b\b\b54%\b\b\b55%\b\b\b56%\b\b\b57%\b\b\b58%\b\b\b59%\b\b\b60%\b\b\b61%\b\b\b62%\b\b\b63%\b\b\b64%\b\b\b65%\b\b\b66%\b\b\b67%\b\b\b68%\b\b\b69%\b\b\b70%\b\b\b71%\b\b\b72%\b\b\b73%\b\b\b74%\b\b\b75%\b\b\b76%\b\b\b77%\b\b\b78%\b\b\b79%\b\b\b80%\b\b\b81%\b\b\b82%\b\b\b83%\b\b\b84%\b\b\b85%\b\b\b86%\b\b\b87%\b\b\b88%\b\b\b89%\b\b\b90%\b\b\b91%\b\b\b92%\b\b\b93%\b\b\b94%\b\b\b95%\b\b\b96%\b\b\b97%\b\b\b98%\b\b\b99%\b\b\bdone.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"Warning: --hwe observation counts vary by more than 10%. Consider using\n",
"--geno, and/or applying different p-value thresholds to distinct subsets of\n",
"your data.\n"
]
}
],
"source": [
"%%bash\n",
"./plink --bfile 1kgp_chr22_maf \\\n",
" --hwe 0.0001 \\\n",
" --make-bed --recode \\\n",
" --out 1kgp_chr22_maf_hwe"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Παρατηρούμε οτι από τους 112515 γονότυπους έμειναν 57534. Αφαίρεσε πολλά επειδή τα δεδομένα μας αποτελούντε από πολλούς πληθυσμούς. \n",
"\n",
"Ας δημιουργήσουμε ένα dataset που θα έχει μόνο τους Άγγλους:"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [],
"source": [
"# Για αρχή φτιάχνουμε ένα αρχείο το οποίο θα έχει τα sample IDs των Άγγλων:\n",
"GBR = samples[samples['pop'] == 'GBR']['sample'].tolist()\n",
"with open('GBR.txt', 'w') as f:\n",
" f.write('\\n'.join(['{} {}'.format(x,x) for x in GBR]) + '\\n')"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"PLINK v1.90b5.4 64-bit (10 Apr 2018) www.cog-genomics.org/plink/1.9/\n",
"(C) 2005-2018 Shaun Purcell, Christopher Chang GNU General Public License v3\n",
"Logging to 1kgp_chr22_maf_GBR.log.\n",
"Options in effect:\n",
" --bfile 1kgp_chr22_maf\n",
" --keep GBR.txt\n",
" --make-bed\n",
" --out 1kgp_chr22_maf_GBR\n",
" --recode\n",
"\n",
"1998 MB RAM detected; reserving 999 MB for main workspace.\n",
"112515 variants loaded from .bim file.\n",
"2504 people (0 males, 0 females, 2504 ambiguous) loaded from .fam.\n",
"Ambiguous sex IDs written to 1kgp_chr22_maf_GBR.nosex .\n",
"--keep: 91 people remaining.\n",
"Using 1 thread.\n",
"Before main variant filters, 91 founders and 0 nonfounders present.\n",
"Calculating allele frequencies... 0%\b\b1%\b\b2%\b\b3%\b\b4%\b\b5%\b\b6%\b\b7%\b\b8%\b\b9%\b\b10%\b\b\b11%\b\b\b12%\b\b\b13%\b\b\b14%\b\b\b15%\b\b\b16%\b\b\b17%\b\b\b18%\b\b\b19%\b\b\b20%\b\b\b21%\b\b\b22%\b\b\b23%\b\b\b24%\b\b\b25%\b\b\b26%\b\b\b27%\b\b\b28%\b\b\b29%\b\b\b30%\b\b\b31%\b\b\b32%\b\b\b33%\b\b\b34%\b\b\b35%\b\b\b36%\b\b\b37%\b\b\b38%\b\b\b39%\b\b\b40%\b\b\b41%\b\b\b42%\b\b\b43%\b\b\b44%\b\b\b45%\b\b\b46%\b\b\b47%\b\b\b48%\b\b\b49%\b\b\b50%\b\b\b51%\b\b\b52%\b\b\b53%\b\b\b54%\b\b\b55%\b\b\b56%\b\b\b57%\b\b\b58%\b\b\b59%\b\b\b60%\b\b\b61%\b\b\b62%\b\b\b63%\b\b\b64%\b\b\b65%\b\b\b66%\b\b\b67%\b\b\b68%\b\b\b69%\b\b\b70%\b\b\b71%\b\b\b72%\b\b\b73%\b\b\b74%\b\b\b75%\b\b\b76%\b\b\b77%\b\b\b78%\b\b\b79%\b\b\b80%\b\b\b81%\b\b\b82%\b\b\b83%\b\b\b84%\b\b\b85%\b\b\b86%\b\b\b87%\b\b\b88%\b\b\b89%\b\b\b90%\b\b\b91%\b\b\b92%\b\b\b93%\b\b\b94%\b\b\b95%\b\b\b96%\b\b\b97%\b\b\b98%\b\b\b99%\b\b\b\b done.\n",
"Total genotyping rate in remaining samples is 0.99895.\n",
"112515 variants and 91 people pass filters and QC.\n",
"Note: No phenotypes present.\n",
"--make-bed to 1kgp_chr22_maf_GBR.bed + 1kgp_chr22_maf_GBR.bim +\n",
"1kgp_chr22_maf_GBR.fam ... 0%\b\b1%\b\b2%\b\b3%\b\b4%\b\b5%\b\b6%\b\b7%\b\b8%\b\b9%\b\b10%\b\b\b11%\b\b\b12%\b\b\b13%\b\b\b14%\b\b\b15%\b\b\b16%\b\b\b17%\b\b\b18%\b\b\b19%\b\b\b20%\b\b\b21%\b\b\b22%\b\b\b23%\b\b\b24%\b\b\b25%\b\b\b26%\b\b\b27%\b\b\b28%\b\b\b29%\b\b\b30%\b\b\b31%\b\b\b32%\b\b\b33%\b\b\b34%\b\b\b35%\b\b\b36%\b\b\b37%\b\b\b38%\b\b\b39%\b\b\b40%\b\b\b41%\b\b\b42%\b\b\b43%\b\b\b44%\b\b\b45%\b\b\b46%\b\b\b47%\b\b\b48%\b\b\b49%\b\b\b50%\b\b\b51%\b\b\b52%\b\b\b53%\b\b\b54%\b\b\b55%\b\b\b56%\b\b\b57%\b\b\b58%\b\b\b59%\b\b\b60%\b\b\b61%\b\b\b62%\b\b\b63%\b\b\b64%\b\b\b65%\b\b\b66%\b\b\b67%\b\b\b68%\b\b\b69%\b\b\b70%\b\b\b71%\b\b\b72%\b\b\b73%\b\b\b74%\b\b\b75%\b\b\b76%\b\b\b77%\b\b\b78%\b\b\b79%\b\b\b80%\b\b\b81%\b\b\b82%\b\b\b83%\b\b\b84%\b\b\b85%\b\b\b86%\b\b\b87%\b\b\b88%\b\b\b89%\b\b\b90%\b\b\b91%\b\b\b92%\b\b\b93%\b\b\b94%\b\b\b95%\b\b\b96%\b\b\b97%\b\b\b98%\b\b\b99%\b\b\bdone.\n",
"--recode ped to 1kgp_chr22_maf_GBR.ped + 1kgp_chr22_maf_GBR.map ... 0%\b\b1%\b\b2%\b\b3%\b\b4%\b\b5%\b\b6%\b\b7%\b\b8%\b\b9%\b\b10%\b\b\b11%\b\b\b12%\b\b\b13%\b\b\b14%\b\b\b15%\b\b\b16%\b\b\b17%\b\b\b18%\b\b\b19%\b\b\b20%\b\b\b21%\b\b\b22%\b\b\b23%\b\b\b24%\b\b\b25%\b\b\b26%\b\b\b27%\b\b\b28%\b\b\b29%\b\b\b30%\b\b\b31%\b\b\b32%\b\b\b33%\b\b\b34%\b\b\b35%\b\b\b36%\b\b\b37%\b\b\b38%\b\b\b39%\b\b\b40%\b\b\b41%\b\b\b42%\b\b\b43%\b\b\b44%\b\b\b45%\b\b\b46%\b\b\b47%\b\b\b48%\b\b\b49%\b\b\b50%\b\b\b51%\b\b\b52%\b\b\b53%\b\b\b54%\b\b\b55%\b\b\b56%\b\b\b57%\b\b\b58%\b\b\b59%\b\b\b60%\b\b\b61%\b\b\b62%\b\b\b63%\b\b\b64%\b\b\b65%\b\b\b66%\b\b\b67%\b\b\b68%\b\b\b69%\b\b\b70%\b\b\b71%\b\b\b72%\b\b\b73%\b\b\b74%\b\b\b75%\b\b\b76%\b\b\b77%\b\b\b78%\b\b\b79%\b\b\b80%\b\b\b81%\b\b\b82%\b\b\b83%\b\b\b84%\b\b\b85%\b\b\b86%\b\b\b87%\b\b\b88%\b\b\b89%\b\b\b90%\b\b\b91%\b\b\b92%\b\b\b93%\b\b\b94%\b\b\b95%\b\b\b96%\b\b\b97%\b\b\b98%\b\b\b99%\b\b\bdone.\n"
]
}
],
"source": [
"%%bash\n",
"# Κρατάμε μόνο τους Αγγλους\n",
"./plink --bfile 1kgp_chr22_maf \\\n",
" --keep GBR.txt \\\n",
" --make-bed --recode \\\n",
" --out 1kgp_chr22_maf_GBR"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Ας αφαιρέσουμε τους γονότυπους οι οποίοι συνδέονται με άλλους γονότυπους μέσω Linkage Disequilibrium. Για να το κάνει αυτο παίρνει ένα \"παράθυρο\" από 50 γονότυπους. Στη συνέχεια αφαιρεί όλους τους γονότυπους μέσα σε αυτό το παράθυρο των οποίων το $r^2$ του Linkage Disequilibrium (όπως το υπολογίσαμε στη προηγούμενη διάλεξη) μεταξύ τους (pairwise) είναι μεγαλύτερο από 0.2. Όταν τελειώσει μετακινεί το \"παράθυρο\" 5 θέσεις πιο κάτω:"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"PLINK v1.90b5.4 64-bit (10 Apr 2018) www.cog-genomics.org/plink/1.9/\n",
"(C) 2005-2018 Shaun Purcell, Christopher Chang GNU General Public License v3\n",
"Logging to 1kgp_chr22_maf_GBR_LD.log.\n",
"Options in effect:\n",
" --bfile 1kgp_chr22_maf_GBR\n",
" --indep-pairwise 50 5 0.5\n",
" --out 1kgp_chr22_maf_GBR_LD\n",
"\n",
"1998 MB RAM detected; reserving 999 MB for main workspace.\n",
"112515 variants loaded from .bim file.\n",
"91 people (0 males, 0 females, 91 ambiguous) loaded from .fam.\n",
"Ambiguous sex IDs written to 1kgp_chr22_maf_GBR_LD.nosex .\n",
"Using 1 thread.\n",
"Before main variant filters, 91 founders and 0 nonfounders present.\n",
"Calculating allele frequencies... 0%\b\b1%\b\b2%\b\b3%\b\b4%\b\b5%\b\b6%\b\b7%\b\b8%\b\b9%\b\b10%\b\b\b11%\b\b\b12%\b\b\b13%\b\b\b14%\b\b\b15%\b\b\b16%\b\b\b17%\b\b\b18%\b\b\b19%\b\b\b20%\b\b\b21%\b\b\b22%\b\b\b23%\b\b\b24%\b\b\b25%\b\b\b26%\b\b\b27%\b\b\b28%\b\b\b29%\b\b\b30%\b\b\b31%\b\b\b32%\b\b\b33%\b\b\b34%\b\b\b35%\b\b\b36%\b\b\b37%\b\b\b38%\b\b\b39%\b\b\b40%\b\b\b41%\b\b\b42%\b\b\b43%\b\b\b44%\b\b\b45%\b\b\b46%\b\b\b47%\b\b\b48%\b\b\b49%\b\b\b50%\b\b\b51%\b\b\b52%\b\b\b53%\b\b\b54%\b\b\b55%\b\b\b56%\b\b\b57%\b\b\b58%\b\b\b59%\b\b\b60%\b\b\b61%\b\b\b62%\b\b\b63%\b\b\b64%\b\b\b65%\b\b\b66%\b\b\b67%\b\b\b68%\b\b\b69%\b\b\b70%\b\b\b71%\b\b\b72%\b\b\b73%\b\b\b74%\b\b\b75%\b\b\b76%\b\b\b77%\b\b\b78%\b\b\b79%\b\b\b80%\b\b\b81%\b\b\b82%\b\b\b83%\b\b\b84%\b\b\b85%\b\b\b86%\b\b\b87%\b\b\b88%\b\b\b89%\b\b\b90%\b\b\b91%\b\b\b92%\b\b\b93%\b\b\b94%\b\b\b95%\b\b\b96%\b\b\b97%\b\b\b98%\b\b\b99%\b\b\b\b done.\n",
"Total genotyping rate is 0.99895.\n",
"112515 variants and 91 people pass filters and QC.\n",
"Note: No phenotypes present.\n",
"\r",
"0%\r",
"1%\r",
"1%\r",
"2%\r",
"2%\r",
"3%\r",
"3%\r",
"4%\r",
"4%\r",
"5%\r",
"5%\r",
"6%\r",
"7%\r",
"8%\r",
"9%\r",
"10%\r",
"11%\r",
"12%\r",
"13%\r",
"14%\r",
"15%\r",
"16%\r",
"17%\r",
"18%\r",
"19%\r",
"20%\r",
"21%\r",
"22%\r",
"23%\r",
"24%\r",
"25%\r",
"26%\r",
"27%\r",
"28%\r",
"29%\r",
"30%\r",
"31%\r",
"32%\r",
"33%\r",
"33%\r",
"34%\r",
"34%\r",
"35%\r",
"35%\r",
"36%\r",
"36%\r",
"37%\r",
"37%\r",
"38%\r",
"38%\r",
"39%\r",
"40%\r",
"41%\r",
"42%\r",
"43%\r",
"44%\r",
"45%\r",
"46%\r",
"47%\r",
"48%\r",
"49%\r",
"50%\r",
"51%\r",
"52%\r",
"53%\r",
"54%\r",
"55%\r",
"56%\r",
"57%\r",
"58%\r",
"59%\r",
"60%\r",
"61%\r",
"62%\r",
"63%\r",
"64%\r",
"65%\r",
"66%\r",
"66%\r",
"67%\r",
"67%\r",
"68%\r",
"68%\r",
"69%\r",
"69%\r",
"70%\r",
"70%\r",
"71%\r",
"71%\r",
"72%\r",
"72%\r",
"73%\r",
"74%\r",
"75%\r",
"76%\r",
"77%\r",
"78%\r",
"79%\r",
"80%\r",
"81%\r",
"82%\r",
"83%\r",
"84%\r",
"85%\r",
"86%\r",
"87%\r",
"88%\r",
"89%\r",
"90%\r",
"91%\r",
"92%\r",
"93%\r",
"94%\r",
"95%\r",
"96%\r",
"97%\r",
"98%\r",
"99%\r",
"Pruned 94335 variants from chromosome 22, leaving 18180.\n",
"Pruning complete. 94335 of 112515 variants removed.\n",
"Writing...\r",
"Marker lists written to 1kgp_chr22_maf_GBR_LD.prune.in and\n",
"1kgp_chr22_maf_GBR_LD.prune.out .\n"
]
}
],
"source": [
"%%bash\n",
"./plink --bfile 1kgp_chr22_maf_GBR \\\n",
" --indep-pairwise 50 5 0.5 \\\n",
" --out 1kgp_chr22_maf_GBR_LD"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Παρατηρούμε ότι από τους 112515 γονότυπους αφαίρεσε ως εξαρτημένους μέσω LD τους 94335. Μπορούμε να τους αφαιρέσουμε ως εξής:"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"PLINK v1.90b5.4 64-bit (10 Apr 2018) www.cog-genomics.org/plink/1.9/\n",
"(C) 2005-2018 Shaun Purcell, Christopher Chang GNU General Public License v3\n",
"Logging to 1kgp_chr22_maf_GBR_LD.log.\n",
"Options in effect:\n",
" --bfile 1kgp_chr22_maf_GBR\n",
" --extract 1kgp_chr22_maf_GBR_LD.prune.in\n",
" --make-bed\n",
" --out 1kgp_chr22_maf_GBR_LD\n",
" --recode\n",
"\n",
"1998 MB RAM detected; reserving 999 MB for main workspace.\n",
"112515 variants loaded from .bim file.\n",
"91 people (0 males, 0 females, 91 ambiguous) loaded from .fam.\n",
"Ambiguous sex IDs written to 1kgp_chr22_maf_GBR_LD.nosex .\n",
"--extract: 18187 variants remaining.\n",
"Using 1 thread.\n",
"Before main variant filters, 91 founders and 0 nonfounders present.\n",
"Calculating allele frequencies... 0%\b\b1%\b\b2%\b\b3%\b\b4%\b\b5%\b\b6%\b\b7%\b\b8%\b\b9%\b\b10%\b\b\b11%\b\b\b12%\b\b\b13%\b\b\b14%\b\b\b15%\b\b\b16%\b\b\b17%\b\b\b18%\b\b\b19%\b\b\b20%\b\b\b21%\b\b\b22%\b\b\b23%\b\b\b24%\b\b\b25%\b\b\b26%\b\b\b27%\b\b\b28%\b\b\b29%\b\b\b30%\b\b\b31%\b\b\b32%\b\b\b33%\b\b\b34%\b\b\b35%\b\b\b36%\b\b\b37%\b\b\b38%\b\b\b39%\b\b\b40%\b\b\b41%\b\b\b42%\b\b\b43%\b\b\b44%\b\b\b45%\b\b\b46%\b\b\b47%\b\b\b48%\b\b\b49%\b\b\b50%\b\b\b51%\b\b\b52%\b\b\b53%\b\b\b54%\b\b\b55%\b\b\b56%\b\b\b57%\b\b\b58%\b\b\b59%\b\b\b60%\b\b\b61%\b\b\b62%\b\b\b63%\b\b\b64%\b\b\b65%\b\b\b66%\b\b\b67%\b\b\b68%\b\b\b69%\b\b\b70%\b\b\b71%\b\b\b72%\b\b\b73%\b\b\b74%\b\b\b75%\b\b\b76%\b\b\b77%\b\b\b78%\b\b\b79%\b\b\b80%\b\b\b81%\b\b\b82%\b\b\b83%\b\b\b84%\b\b\b85%\b\b\b86%\b\b\b87%\b\b\b88%\b\b\b89%\b\b\b90%\b\b\b91%\b\b\b92%\b\b\b93%\b\b\b94%\b\b\b95%\b\b\b96%\b\b\b97%\b\b\b98%\b\b\b99%\b\b\b\b done.\n",
"Total genotyping rate is 0.997813.\n",
"18187 variants and 91 people pass filters and QC.\n",
"Note: No phenotypes present.\n",
"--make-bed to 1kgp_chr22_maf_GBR_LD.bed + 1kgp_chr22_maf_GBR_LD.bim +\n",
"1kgp_chr22_maf_GBR_LD.fam ... 0%\b\b1%\b\b2%\b\b3%\b\b4%\b\b5%\b\b6%\b\b7%\b\b8%\b\b9%\b\b10%\b\b\b11%\b\b\b12%\b\b\b13%\b\b\b14%\b\b\b15%\b\b\b16%\b\b\b17%\b\b\b18%\b\b\b19%\b\b\b20%\b\b\b21%\b\b\b22%\b\b\b23%\b\b\b24%\b\b\b25%\b\b\b26%\b\b\b27%\b\b\b28%\b\b\b29%\b\b\b30%\b\b\b31%\b\b\b32%\b\b\b33%\b\b\b34%\b\b\b35%\b\b\b36%\b\b\b37%\b\b\b38%\b\b\b39%\b\b\b40%\b\b\b41%\b\b\b42%\b\b\b43%\b\b\b44%\b\b\b45%\b\b\b46%\b\b\b47%\b\b\b48%\b\b\b49%\b\b\b50%\b\b\b51%\b\b\b52%\b\b\b53%\b\b\b54%\b\b\b55%\b\b\b56%\b\b\b57%\b\b\b58%\b\b\b59%\b\b\b60%\b\b\b61%\b\b\b62%\b\b\b63%\b\b\b64%\b\b\b65%\b\b\b66%\b\b\b67%\b\b\b68%\b\b\b69%\b\b\b70%\b\b\b71%\b\b\b72%\b\b\b73%\b\b\b74%\b\b\b75%\b\b\b76%\b\b\b77%\b\b\b78%\b\b\b79%\b\b\b80%\b\b\b81%\b\b\b82%\b\b\b83%\b\b\b84%\b\b\b85%\b\b\b86%\b\b\b87%\b\b\b88%\b\b\b89%\b\b\b90%\b\b\b91%\b\b\b92%\b\b\b93%\b\b\b94%\b\b\b95%\b\b\b96%\b\b\b97%\b\b\b98%\b\b\b99%\b\b\bdone.\n",
"--recode ped to 1kgp_chr22_maf_GBR_LD.ped + 1kgp_chr22_maf_GBR_LD.map ... 0%\b\b1%\b\b2%\b\b3%\b\b4%\b\b5%\b\b6%\b\b7%\b\b8%\b\b9%\b\b10%\b\b\b11%\b\b\b12%\b\b\b13%\b\b\b14%\b\b\b15%\b\b\b16%\b\b\b17%\b\b\b18%\b\b\b19%\b\b\b20%\b\b\b21%\b\b\b22%\b\b\b23%\b\b\b24%\b\b\b25%\b\b\b26%\b\b\b27%\b\b\b28%\b\b\b29%\b\b\b30%\b\b\b31%\b\b\b32%\b\b\b33%\b\b\b34%\b\b\b35%\b\b\b36%\b\b\b37%\b\b\b38%\b\b\b39%\b\b\b40%\b\b\b41%\b\b\b42%\b\b\b43%\b\b\b44%\b\b\b45%\b\b\b46%\b\b\b47%\b\b\b48%\b\b\b49%\b\b\b50%\b\b\b51%\b\b\b52%\b\b\b53%\b\b\b54%\b\b\b55%\b\b\b56%\b\b\b57%\b\b\b58%\b\b\b59%\b\b\b60%\b\b\b61%\b\b\b62%\b\b\b63%\b\b\b64%\b\b\b65%\b\b\b66%\b\b\b67%\b\b\b68%\b\b\b69%\b\b\b70%\b\b\b71%\b\b\b72%\b\b\b73%\b\b\b74%\b\b\b75%\b\b\b76%\b\b\b77%\b\b\b78%\b\b\b79%\b\b\b80%\b\b\b81%\b\b\b82%\b\b\b83%\b\b\b84%\b\b\b85%\b\b\b86%\b\b\b87%\b\b\b88%\b\b\b89%\b\b\b90%\b\b\b91%\b\b\b92%\b\b\b93%\b\b\b94%\b\b\b95%\b\b\b96%\b\b\b97%\b\b\b98%\b\b\b99%\b\b\bdone.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"Warning: At least 5 duplicate IDs in --extract file.\n"
]
}
],
"source": [
"%%bash\n",
"./plink --bfile 1kgp_chr22_maf_GBR \\\n",
" --extract 1kgp_chr22_maf_GBR_LD.prune.in \\\n",
" --recode --make-bed \\\n",
" --out 1kgp_chr22_maf_GBR_LD"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Άραγε υπάρχουν συγγενείς ανάμεσα στους Άγγλους; Με τη παράμετρο --genome μπορεί να ελέγξει όλα τα δυνατά ζευγάρια για τυχών γενετικές συγγένειες:"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"PLINK v1.90b5.4 64-bit (10 Apr 2018) www.cog-genomics.org/plink/1.9/\n",
"(C) 2005-2018 Shaun Purcell, Christopher Chang GNU General Public License v3\n",
"Logging to 1kgp_chr22_maf_GBR_LD_RELATED.log.\n",
"Options in effect:\n",
" --bfile 1kgp_chr22_maf_GBR_LD\n",
" --genome full\n",
" --out 1kgp_chr22_maf_GBR_LD_RELATED\n",
"\n",
"1998 MB RAM detected; reserving 999 MB for main workspace.\n",
"18187 variants loaded from .bim file.\n",
"91 people (0 males, 0 females, 91 ambiguous) loaded from .fam.\n",
"Ambiguous sex IDs written to 1kgp_chr22_maf_GBR_LD_RELATED.nosex .\n",
"Using 1 thread.\n",
"Before main variant filters, 91 founders and 0 nonfounders present.\n",
"Calculating allele frequencies... 0%\b\b1%\b\b2%\b\b3%\b\b4%\b\b5%\b\b6%\b\b7%\b\b8%\b\b9%\b\b10%\b\b\b11%\b\b\b12%\b\b\b13%\b\b\b14%\b\b\b15%\b\b\b16%\b\b\b17%\b\b\b18%\b\b\b19%\b\b\b20%\b\b\b21%\b\b\b22%\b\b\b23%\b\b\b24%\b\b\b25%\b\b\b26%\b\b\b27%\b\b\b28%\b\b\b29%\b\b\b30%\b\b\b31%\b\b\b32%\b\b\b33%\b\b\b34%\b\b\b35%\b\b\b36%\b\b\b37%\b\b\b38%\b\b\b39%\b\b\b40%\b\b\b41%\b\b\b42%\b\b\b43%\b\b\b44%\b\b\b45%\b\b\b46%\b\b\b47%\b\b\b48%\b\b\b49%\b\b\b50%\b\b\b51%\b\b\b52%\b\b\b53%\b\b\b54%\b\b\b55%\b\b\b56%\b\b\b57%\b\b\b58%\b\b\b59%\b\b\b60%\b\b\b61%\b\b\b62%\b\b\b63%\b\b\b64%\b\b\b65%\b\b\b66%\b\b\b67%\b\b\b68%\b\b\b69%\b\b\b70%\b\b\b71%\b\b\b72%\b\b\b73%\b\b\b74%\b\b\b75%\b\b\b76%\b\b\b77%\b\b\b78%\b\b\b79%\b\b\b80%\b\b\b81%\b\b\b82%\b\b\b83%\b\b\b84%\b\b\b85%\b\b\b86%\b\b\b87%\b\b\b88%\b\b\b89%\b\b\b90%\b\b\b91%\b\b\b92%\b\b\b93%\b\b\b94%\b\b\b95%\b\b\b96%\b\b\b97%\b\b\b98%\b\b\b99%\b\b\b\b done.\n",
"Total genotyping rate is 0.997813.\n",
"18187 variants and 91 people pass filters and QC.\n",
"Note: No phenotypes present.\n",
"\r",
"1152 markers complete.\r",
"2304 markers complete.\r",
"3456 markers complete.\r",
"4608 markers complete.\r",
"5760 markers complete.\r",
"6912 markers complete.\r",
"8064 markers complete.\r",
"9216 markers complete.\r",
"10368 markers complete.\r",
"11520 markers complete.\r",
"12672 markers complete.\r",
"13824 markers complete.\r",
"14976 markers complete.\r",
"16128 markers complete.\r",
"17280 markers complete.\r",
"18187 markers complete.\r",
"IBD calculations complete. \n",
"\r",
"Writing... 20%\r",
"Writing... 42%\r",
"Writing... 63%\r",
"Writing... 86%\r",
"Writing... 99%\r",
"Finished writing 1kgp_chr22_maf_GBR_LD_RELATED.genome .\n"
]
}
],
"source": [
"%%bash\n",
"./plink --bfile 1kgp_chr22_maf_GBR_LD \\\n",
" --genome full \\\n",
" --out 1kgp_chr22_maf_GBR_LD_RELATED"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Το αποτέλεσμα είναι ένα αρχείο το οποίο στις γραμμές περιέχει όλα τα δυνατα ζευγάρια. Η πιο σημαντική στήλη είναι η PI_HAT η οποία περιέχει το [coefficient of relationship](https://en.wikipedia.org/wiki/Coefficient_of_relationship). Οι τιμές αυτής της στήλης παίρνουν τιμές από το 1 (μονοζυγωτικοί δίδυμοι) μέχρι το 0 (καμία συγγένεια). Μπορούμε να βγάλουμε συμπέρασμα για τη συγγένεια σύμφωνα με [τον πίνακα της σελίδας](https://en.wikipedia.org/wiki/Coefficient_of_relationship#Human_relationships)\n",
"\n",
"Για παράδειγμα ας δείξουμε όλα τα ζευγάρια με PI_HAT > 0.2:"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>IID1</th>\n",
" <th>IID2</th>\n",
" <th>PI_HAT</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1179</th>\n",
" <td>HG00112</td>\n",
" <td>HG00123</td>\n",
" <td>0.3561</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1470</th>\n",
" <td>HG00116</td>\n",
" <td>HG00120</td>\n",
" <td>0.3977</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2158</th>\n",
" <td>HG00127</td>\n",
" <td>HG00148</td>\n",
" <td>0.2381</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3690</th>\n",
" <td>HG00238</td>\n",
" <td>HG00240</td>\n",
" <td>0.3133</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" IID1 IID2 PI_HAT\n",
"1179 HG00112 HG00123 0.3561\n",
"1470 HG00116 HG00120 0.3977\n",
"2158 HG00127 HG00148 0.2381\n",
"3690 HG00238 HG00240 0.3133"
]
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"GBR_Related = pd.read_csv('1kgp_chr22_maf_GBR_LD_RELATED.genome', sep=r'\\s+')\n",
"GBR_Related[GBR_Related['PI_HAT'] > 0.2][['IID1','IID2', 'PI_HAT']]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Εδώ φίανεται για παρλαδειγμα ότι το δείγμα HG00127 και το δείγμα HG00148 φαίνεται να είναι ξαδέλφια! **ΠΡΟΣΟΧΗ** Αυτή η ανάλυση δεν ευσταθεί για νομικούς λόγους (μεγάλη πιθανότητα λάθους). Μία πολύ καλή παρουσίαση για την ανάλυση που γίνεται για την επαλήθευση συγγένειας η οποία χρησιμοποιείται ως νομικό τεκμήριο βρίσκεται εδώ: https://www.promega.com/-/media/files/resources/conference-proceedings/ishi-15/parentage-and-mixture-statistics-workshop/parentagestatisticsinnon-typicalcases.pdf?la=en"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Τέλος, μπορούμε να κάνουμε ένα PCA plot το οποία δείχνει τις γενετικές αποστάσεις μεταξύ πληθυσμών. Για αρχή ας πάρουμε τα LD ανεξάρτητα που βρίκαμε για τους Άγγλους και να τα εφαρμόσουμε για όλους τους πληθυσμούς:"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"PLINK v1.90b5.4 64-bit (10 Apr 2018) www.cog-genomics.org/plink/1.9/\n",
"(C) 2005-2018 Shaun Purcell, Christopher Chang GNU General Public License v3\n",
"Logging to 1kgp_chr22_maf_LD.log.\n",
"Options in effect:\n",
" --bfile 1kgp_chr22_maf\n",
" --extract 1kgp_chr22_maf_GBR_LD.prune.in\n",
" --make-bed\n",
" --out 1kgp_chr22_maf_LD\n",
" --recode\n",
"\n",
"1998 MB RAM detected; reserving 999 MB for main workspace.\n",
"112515 variants loaded from .bim file.\n",
"2504 people (0 males, 0 females, 2504 ambiguous) loaded from .fam.\n",
"Ambiguous sex IDs written to 1kgp_chr22_maf_LD.nosex .\n",
"--extract: 18187 variants remaining.\n",
"Using 1 thread.\n",
"Before main variant filters, 2504 founders and 0 nonfounders present.\n",
"Calculating allele frequencies... 0%\b\b1%\b\b2%\b\b3%\b\b4%\b\b5%\b\b6%\b\b7%\b\b8%\b\b9%\b\b10%\b\b\b11%\b\b\b12%\b\b\b13%\b\b\b14%\b\b\b15%\b\b\b16%\b\b\b17%\b\b\b18%\b\b\b19%\b\b\b20%\b\b\b21%\b\b\b22%\b\b\b23%\b\b\b24%\b\b\b25%\b\b\b26%\b\b\b27%\b\b\b28%\b\b\b29%\b\b\b30%\b\b\b31%\b\b\b32%\b\b\b33%\b\b\b34%\b\b\b35%\b\b\b36%\b\b\b37%\b\b\b38%\b\b\b39%\b\b\b40%\b\b\b41%\b\b\b42%\b\b\b43%\b\b\b44%\b\b\b45%\b\b\b46%\b\b\b47%\b\b\b48%\b\b\b49%\b\b\b50%\b\b\b51%\b\b\b52%\b\b\b53%\b\b\b54%\b\b\b55%\b\b\b56%\b\b\b57%\b\b\b58%\b\b\b59%\b\b\b60%\b\b\b61%\b\b\b62%\b\b\b63%\b\b\b64%\b\b\b65%\b\b\b66%\b\b\b67%\b\b\b68%\b\b\b69%\b\b\b70%\b\b\b71%\b\b\b72%\b\b\b73%\b\b\b74%\b\b\b75%\b\b\b76%\b\b\b77%\b\b\b78%\b\b\b79%\b\b\b80%\b\b\b81%\b\b\b82%\b\b\b83%\b\b\b84%\b\b\b85%\b\b\b86%\b\b\b87%\b\b\b88%\b\b\b89%\b\b\b90%\b\b\b91%\b\b\b92%\b\b\b93%\b\b\b94%\b\b\b95%\b\b\b96%\b\b\b97%\b\b\b98%\b\b\b99%\b\b\b\b done.\n",
"Total genotyping rate is 0.997566.\n",
"18187 variants and 2504 people pass filters and QC.\n",
"Note: No phenotypes present.\n",
"--make-bed to 1kgp_chr22_maf_LD.bed + 1kgp_chr22_maf_LD.bim +\n",
"1kgp_chr22_maf_LD.fam ... 0%\b\b1%\b\b2%\b\b3%\b\b4%\b\b5%\b\b6%\b\b7%\b\b8%\b\b9%\b\b10%\b\b\b11%\b\b\b12%\b\b\b13%\b\b\b14%\b\b\b15%\b\b\b16%\b\b\b17%\b\b\b18%\b\b\b19%\b\b\b20%\b\b\b21%\b\b\b22%\b\b\b23%\b\b\b24%\b\b\b25%\b\b\b26%\b\b\b27%\b\b\b28%\b\b\b29%\b\b\b30%\b\b\b31%\b\b\b32%\b\b\b33%\b\b\b34%\b\b\b35%\b\b\b36%\b\b\b37%\b\b\b38%\b\b\b39%\b\b\b40%\b\b\b41%\b\b\b42%\b\b\b43%\b\b\b44%\b\b\b45%\b\b\b46%\b\b\b47%\b\b\b48%\b\b\b49%\b\b\b50%\b\b\b51%\b\b\b52%\b\b\b53%\b\b\b54%\b\b\b55%\b\b\b56%\b\b\b57%\b\b\b58%\b\b\b59%\b\b\b60%\b\b\b61%\b\b\b62%\b\b\b63%\b\b\b64%\b\b\b65%\b\b\b66%\b\b\b67%\b\b\b68%\b\b\b69%\b\b\b70%\b\b\b71%\b\b\b72%\b\b\b73%\b\b\b74%\b\b\b75%\b\b\b76%\b\b\b77%\b\b\b78%\b\b\b79%\b\b\b80%\b\b\b81%\b\b\b82%\b\b\b83%\b\b\b84%\b\b\b85%\b\b\b86%\b\b\b87%\b\b\b88%\b\b\b89%\b\b\b90%\b\b\b91%\b\b\b92%\b\b\b93%\b\b\b94%\b\b\b95%\b\b\b96%\b\b\b97%\b\b\b98%\b\b\b99%\b\b\bdone.\n",
"--recode ped to 1kgp_chr22_maf_LD.ped + 1kgp_chr22_maf_LD.map ... 0%\b\b1%\b\b2%\b\b3%\b\b4%\b\b5%\b\b6%\b\b7%\b\b8%\b\b9%\b\b10%\b\b\b11%\b\b\b12%\b\b\b13%\b\b\b14%\b\b\b15%\b\b\b16%\b\b\b17%\b\b\b18%\b\b\b19%\b\b\b20%\b\b\b21%\b\b\b22%\b\b\b23%\b\b\b24%\b\b\b25%\b\b\b26%\b\b\b27%\b\b\b28%\b\b\b29%\b\b\b30%\b\b\b31%\b\b\b32%\b\b\b33%\b\b\b34%\b\b\b35%\b\b\b36%\b\b\b37%\b\b\b38%\b\b\b39%\b\b\b40%\b\b\b41%\b\b\b42%\b\b\b43%\b\b\b44%\b\b\b45%\b\b\b46%\b\b\b47%\b\b\b48%\b\b\b49%\b\b\b50%\b\b\b51%\b\b\b52%\b\b\b53%\b\b\b54%\b\b\b55%\b\b\b56%\b\b\b57%\b\b\b58%\b\b\b59%\b\b\b60%\b\b\b61%\b\b\b62%\b\b\b63%\b\b\b64%\b\b\b65%\b\b\b66%\b\b\b67%\b\b\b68%\b\b\b69%\b\b\b70%\b\b\b71%\b\b\b72%\b\b\b73%\b\b\b74%\b\b\b75%\b\b\b76%\b\b\b77%\b\b\b78%\b\b\b79%\b\b\b80%\b\b\b81%\b\b\b82%\b\b\b83%\b\b\b84%\b\b\b85%\b\b\b86%\b\b\b87%\b\b\b88%\b\b\b89%\b\b\b90%\b\b\b91%\b\b\b92%\b\b\b93%\b\b\b94%\b\b\b95%\b\b\b96%\b\b\b97%\b\b\b98%\b\b\b99%\b\b\bdone.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"Warning: At least 5 duplicate IDs in --extract file.\n"
]
}
],
"source": [
"%%bash\n",
"./plink --bfile 1kgp_chr22_maf \\\n",
" --extract 1kgp_chr22_maf_GBR_LD.prune.in \\\n",
" --recode --make-bed \\\n",
" --out 1kgp_chr22_maf_LD"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Τώρα μπορούμε να τρέξουμε το PCA ως εξής (κάνουμε reduce σε 2 διαστάσεις):"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"PLINK v1.90b5.4 64-bit (10 Apr 2018) www.cog-genomics.org/plink/1.9/\n",
"(C) 2005-2018 Shaun Purcell, Christopher Chang GNU General Public License v3\n",
"Logging to 1kgp_chr22_maf_LD_PCA.log.\n",
"Options in effect:\n",
" --bfile 1kgp_chr22_maf_LD\n",
" --out 1kgp_chr22_maf_LD_PCA\n",
" --pca 2\n",
"\n",
"1998 MB RAM detected; reserving 999 MB for main workspace.\n",
"18187 variants loaded from .bim file.\n",
"2504 people (0 males, 0 females, 2504 ambiguous) loaded from .fam.\n",
"Ambiguous sex IDs written to 1kgp_chr22_maf_LD_PCA.nosex .\n",
"Using 1 thread.\n",
"Before main variant filters, 2504 founders and 0 nonfounders present.\n",
"Calculating allele frequencies... 0%\b\b1%\b\b2%\b\b3%\b\b4%\b\b5%\b\b6%\b\b7%\b\b8%\b\b9%\b\b10%\b\b\b11%\b\b\b12%\b\b\b13%\b\b\b14%\b\b\b15%\b\b\b16%\b\b\b17%\b\b\b18%\b\b\b19%\b\b\b20%\b\b\b21%\b\b\b22%\b\b\b23%\b\b\b24%\b\b\b25%\b\b\b26%\b\b\b27%\b\b\b28%\b\b\b29%\b\b\b30%\b\b\b31%\b\b\b32%\b\b\b33%\b\b\b34%\b\b\b35%\b\b\b36%\b\b\b37%\b\b\b38%\b\b\b39%\b\b\b40%\b\b\b41%\b\b\b42%\b\b\b43%\b\b\b44%\b\b\b45%\b\b\b46%\b\b\b47%\b\b\b48%\b\b\b49%\b\b\b50%\b\b\b51%\b\b\b52%\b\b\b53%\b\b\b54%\b\b\b55%\b\b\b56%\b\b\b57%\b\b\b58%\b\b\b59%\b\b\b60%\b\b\b61%\b\b\b62%\b\b\b63%\b\b\b64%\b\b\b65%\b\b\b66%\b\b\b67%\b\b\b68%\b\b\b69%\b\b\b70%\b\b\b71%\b\b\b72%\b\b\b73%\b\b\b74%\b\b\b75%\b\b\b76%\b\b\b77%\b\b\b78%\b\b\b79%\b\b\b80%\b\b\b81%\b\b\b82%\b\b\b83%\b\b\b84%\b\b\b85%\b\b\b86%\b\b\b87%\b\b\b88%\b\b\b89%\b\b\b90%\b\b\b91%\b\b\b92%\b\b\b93%\b\b\b94%\b\b\b95%\b\b\b96%\b\b\b97%\b\b\b98%\b\b\b99%\b\b\b\b done.\n",
"Total genotyping rate is 0.997566.\n",
"18187 variants and 2504 people pass filters and QC.\n",
"Note: No phenotypes present.\n",
"\r",
"60 markers complete.\r",
"120 markers complete.\r",
"180 markers complete.\r",
"240 markers complete.\r",
"300 markers complete.\r",
"360 markers complete.\r",
"420 markers complete.\r",
"480 markers complete.\r",
"540 markers complete.\r",
"600 markers complete.\r",
"660 markers complete.\r",
"720 markers complete.\r",
"780 markers complete.\r",
"840 markers complete.\r",
"900 markers complete.\r",
"960 markers complete.\r",
"1020 markers complete.\r",
"1080 markers complete.\r",
"1140 markers complete.\r",
"1200 markers complete.\r",
"1260 markers complete.\r",
"1320 markers complete.\r",
"1380 markers complete.\r",
"1440 markers complete.\r",
"1500 markers complete.\r",
"1560 markers complete.\r",
"1620 markers complete.\r",
"1680 markers complete.\r",
"1740 markers complete.\r",
"1800 markers complete.\r",
"1860 markers complete.\r",
"1920 markers complete.\r",
"1980 markers complete.\r",
"2040 markers complete.\r",
"2100 markers complete.\r",
"2160 markers complete.\r",
"2220 markers complete.\r",
"2280 markers complete.\r",
"2340 markers complete.\r",
"2400 markers complete.\r",
"2460 markers complete.\r",
"2520 markers complete.\r",
"2580 markers complete.\r",
"2640 markers complete.\r",
"2700 markers complete.\r",
"2760 markers complete.\r",
"2820 markers complete.\r",
"2880 markers complete.\r",
"2940 markers complete.\r",
"3000 markers complete.\r",
"3060 markers complete.\r",
"3120 markers complete.\r",
"3180 markers complete.\r",
"3240 markers complete.\r",
"3300 markers complete.\r",
"3360 markers complete.\r",
"3420 markers complete.\r",
"3480 markers complete.\r",
"3540 markers complete.\r",
"3600 markers complete.\r",
"3660 markers complete.\r",
"3720 markers complete.\r",
"3780 markers complete.\r",
"3840 markers complete.\r",
"3900 markers complete.\r",
"3960 markers complete.\r",
"4020 markers complete.\r",
"4080 markers complete.\r",
"4140 markers complete.\r",
"4200 markers complete.\r",
"4260 markers complete.\r",
"4320 markers complete.\r",
"4380 markers complete.\r",
"4440 markers complete.\r",
"4500 markers complete.\r",
"4560 markers complete.\r",
"4620 markers complete.\r",
"4680 markers complete.\r",
"4740 markers complete.\r",
"4800 markers complete.\r",
"4860 markers complete.\r",
"4920 markers complete.\r",
"4980 markers complete.\r",
"5040 markers complete.\r",
"5100 markers complete.\r",
"5160 markers complete.\r",
"5220 markers complete.\r",
"5280 markers complete.\r",
"5340 markers complete.\r",
"5400 markers complete.\r",
"5460 markers complete.\r",
"5520 markers complete.\r",
"5580 markers complete.\r",
"5640 markers complete.\r",
"5700 markers complete.\r",
"5760 markers complete.\r",
"5820 markers complete.\r",
"5880 markers complete.\r",
"5940 markers complete.\r",
"6000 markers complete.\r",
"6060 markers complete.\r",
"6120 markers complete.\r",
"6180 markers complete.\r",
"6240 markers complete.\r",
"6300 markers complete.\r",
"6360 markers complete.\r",
"6420 markers complete.\r",
"6480 markers complete.\r",
"6540 markers complete.\r",
"6600 markers complete.\r",
"6660 markers complete.\r",
"6720 markers complete.\r",
"6780 markers complete.\r",
"6840 markers complete.\r",
"6900 markers complete.\r",
"6960 markers complete.\r",
"7020 markers complete.\r",
"7080 markers complete.\r",
"7140 markers complete.\r",
"7200 markers complete.\r",
"7260 markers complete.\r",
"7320 markers complete.\r",
"7380 markers complete.\r",
"7440 markers complete.\r",
"7500 markers complete.\r",
"7560 markers complete.\r",
"7620 markers complete.\r",
"7680 markers complete.\r",
"7740 markers complete.\r",
"7800 markers complete.\r",
"7860 markers complete.\r",
"7920 markers complete.\r",
"7980 markers complete.\r",
"8040 markers complete.\r",
"8100 markers complete.\r",
"8160 markers complete.\r",
"8220 markers complete.\r",
"8280 markers complete.\r",
"8340 markers complete.\r",
"8400 markers complete.\r",
"8460 markers complete.\r",
"8520 markers complete.\r",
"8580 markers complete.\r",
"8640 markers complete.\r",
"8700 markers complete.\r",
"8760 markers complete.\r",
"8820 markers complete.\r",
"8880 markers complete.\r",
"8940 markers complete.\r",
"9000 markers complete.\r",
"9060 markers complete.\r",
"9120 markers complete.\r",
"9180 markers complete.\r",
"9240 markers complete.\r",
"9300 markers complete.\r",
"9360 markers complete.\r",
"9420 markers complete.\r",
"9480 markers complete.\r",
"9540 markers complete.\r",
"9600 markers complete.\r",
"9660 markers complete.\r",
"9720 markers complete.\r",
"9780 markers complete.\r",
"9840 markers complete.\r",
"9900 markers complete.\r",
"9960 markers complete.\r",
"10020 markers complete.\r",
"10080 markers complete.\r",
"10140 markers complete.\r",
"10200 markers complete.\r",
"10260 markers complete.\r",
"10320 markers complete.\r",
"10380 markers complete.\r",
"10440 markers complete.\r",
"10500 markers complete.\r",
"10560 markers complete.\r",
"10620 markers complete.\r",
"10680 markers complete.\r",
"10740 markers complete.\r",
"10800 markers complete.\r",
"10860 markers complete.\r",
"10920 markers complete.\r",
"10980 markers complete.\r",
"11040 markers complete.\r",
"11100 markers complete.\r",
"11160 markers complete.\r",
"11220 markers complete.\r",
"11280 markers complete.\r",
"11340 markers complete.\r",
"11400 markers complete.\r",
"11460 markers complete.\r",
"11520 markers complete.\r",
"11580 markers complete.\r",
"11640 markers complete.\r",
"11700 markers complete.\r",
"11760 markers complete.\r",
"11820 markers complete.\r",
"11880 markers complete.\r",
"11940 markers complete.\r",
"12000 markers complete.\r",
"12060 markers complete.\r",
"12120 markers complete.\r",
"12180 markers complete.\r",
"12240 markers complete.\r",
"12300 markers complete.\r",
"12360 markers complete.\r",
"12420 markers complete.\r",
"12480 markers complete.\r",
"12540 markers complete.\r",
"12600 markers complete.\r",
"12660 markers complete.\r",
"12720 markers complete.\r",
"12780 markers complete.\r",
"12840 markers complete.\r",
"12900 markers complete.\r",
"12960 markers complete.\r",
"13020 markers complete.\r",
"13080 markers complete.\r",
"13140 markers complete.\r",
"13200 markers complete.\r",
"13260 markers complete.\r",
"13320 markers complete.\r",
"13380 markers complete.\r",
"13440 markers complete.\r",
"13500 markers complete.\r",
"13560 markers complete.\r",
"13620 markers complete.\r",
"13680 markers complete.\r",
"13740 markers complete.\r",
"13800 markers complete.\r",
"13860 markers complete.\r",
"13920 markers complete.\r",
"13980 markers complete.\r",
"14040 markers complete.\r",
"14100 markers complete.\r",
"14160 markers complete.\r",
"14220 markers complete.\r",
"14280 markers complete.\r",
"14340 markers complete.\r",
"14400 markers complete.\r",
"14460 markers complete.\r",
"14520 markers complete.\r",
"14580 markers complete.\r",
"14640 markers complete.\r",
"14700 markers complete.\r",
"14760 markers complete.\r",
"14820 markers complete.\r",
"14880 markers complete.\r",
"14940 markers complete.\r",
"15000 markers complete.\r",
"15060 markers complete.\r",
"15120 markers complete.\r",
"15180 markers complete.\r",
"15240 markers complete.\r",
"15300 markers complete.\r",
"15360 markers complete.\r",
"15420 markers complete.\r",
"15480 markers complete.\r",
"15540 markers complete.\r",
"15600 markers complete.\r",
"15660 markers complete.\r",
"15720 markers complete.\r",
"15780 markers complete.\r",
"15840 markers complete.\r",
"15900 markers complete.\r",
"15960 markers complete.\r",
"16020 markers complete.\r",
"16080 markers complete.\r",
"16140 markers complete.\r",
"16200 markers complete.\r",
"16260 markers complete.\r",
"16320 markers complete.\r",
"16380 markers complete.\r",
"16440 markers complete.\r",
"16500 markers complete.\r",
"16560 markers complete.\r",
"16620 markers complete.\r",
"16680 markers complete.\r",
"16740 markers complete.\r",
"16800 markers complete.\r",
"16860 markers complete.\r",
"16920 markers complete.\r",
"16980 markers complete.\r",
"17040 markers complete.\r",
"17100 markers complete.\r",
"17160 markers complete.\r",
"17220 markers complete.\r",
"17280 markers complete.\r",
"17340 markers complete.\r",
"17400 markers complete.\r",
"17460 markers complete.\r",
"17520 markers complete.\r",
"17580 markers complete.\r",
"17640 markers complete.\r",
"17700 markers complete.\r",
"17760 markers complete.\r",
"17820 markers complete.\r",
"17880 markers complete.\r",
"17940 markers complete.\r",
"18000 markers complete.\r",
"18060 markers complete.\r",
"18120 markers complete.\r",
"18180 markers complete.\r",
"18187 markers complete.\r",
"Relationship matrix calculation complete.\n",
"[extracting eigenvalues and eigenvectors]\r",
"--pca: Results saved to 1kgp_chr22_maf_LD_PCA.eigenval and\n",
"1kgp_chr22_maf_LD_PCA.eigenvec .\n"
]
}
],
"source": [
"%%bash\n",
"./plink --bfile 1kgp_chr22_maf_LD \\\n",
" --pca 2 \\\n",
" --out 1kgp_chr22_maf_LD_PCA"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Μπορούμε να κάνουμε plot τα αποτελέσματα του PCA με τον παρακάτω κώδικα:"
]
},
{
"cell_type": "code",
"execution_count": 64,
"metadata": {
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Plotting: EUR\n",
"Plotting: EAS\n",
"Plotting: AMR\n",
"Plotting: SAS\n",
"Plotting: AFR\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fe4c8bda5c0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"\n",
"super_populations = samples['super_pop'].unique().tolist()\n",
"\n",
"color_list = plt.cm.Set1(np.linspace(0, 1, len(super_populations)))\n",
"\n",
"pca_samples = []\n",
"dim_1 = []\n",
"dim_2 = []\n",
"\n",
"with open('1kgp_chr22_maf_LD_PCA.eigenvec') as f:\n",
" for l in f:\n",
" ls = l.replace('\\n', '').split()\n",
" pca_samples.append(ls[0])\n",
" dim_1.append(float(ls[2]))\n",
" dim_2.append(float(ls[3]))\n",
"\n",
"legends = []\n",
"legends_names = []\n",
"fig, ax = plt.subplots(figsize=(10,10))\n",
"for sp_index, sp in enumerate(super_populations):\n",
" print ('Plotting:', sp)\n",
" sp_samples = samples[samples['super_pop'] == sp]['sample'].tolist()\n",
" \n",
" these_data = [(x,y) for x,y,z in zip(dim_1, dim_2, pca_samples) if z in sp_samples]\n",
" \n",
" leg, = ax.plot([x[0] for x in these_data], [x[1] for x in these_data], '.', c = color_list[sp_index])\n",
" legends.append(leg)\n",
" legends_names.append(sp)\n",
" \n",
"plt.legend(legends, legends_names)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Το αποτέλεσμα είναι πολύ κοντά στο αποτέλεσμα που βγάζει το google για \"[1000 Genomes PCA](https://www.google.com/search?q=1000+genomes+PCA&client=firefox-b-ab&source=lnms&tbm=isch&sa=X&biw=1280&bih=640#imgrc=rNEE-Q8SgYYnvM)\""
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.3"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment