{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Loading libraries and setting up" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import scipy" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# PCA Plotting" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Defining the column names:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "names = [\"Individual\", \"PC1\", \"PC2\", \"PC3\", \"PC4\", \"Population\"]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Loading the eigenVec file from the pca run" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## West-Eurasian PCA" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "pcaDat = pd.read_csv(\"/data/pca/results/pca.WestEurasia.evec\",\n", " delim_whitespace=True, skiprows=1, names=names)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Looking at the data, we find that it is a matrix, with each individual on one row, and the columns denoting the first 10 principal components. The last column contains the population for each individual:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | Individual | \n", "PC1 | \n", "PC2 | \n", "PC3 | \n", "PC4 | \n", "Population | \n", "
---|---|---|---|---|---|---|
0 | \n", "Yuk_009 | \n", "0.0123 | \n", "0.1252 | \n", "0.1147 | \n", "0.0567 | \n", "Yukagir | \n", "
1 | \n", "Yuk_025 | \n", "0.0120 | \n", "0.1258 | \n", "0.1168 | \n", "0.0576 | \n", "Yukagir | \n", "
2 | \n", "Yuk_022 | \n", "0.0136 | \n", "0.1303 | \n", "0.1186 | \n", "0.0564 | \n", "Yukagir | \n", "
3 | \n", "Yuk_020 | \n", "0.0170 | \n", "0.1278 | \n", "0.1176 | \n", "0.0584 | \n", "Yukagir | \n", "
4 | \n", "MC_40 | \n", "0.0183 | \n", "0.1226 | \n", "0.1123 | \n", "0.0537 | \n", "Chukchi | \n", "
5 | \n", "Yuk_024 | \n", "0.0144 | \n", "0.1271 | \n", "0.1124 | \n", "0.0584 | \n", "Yukagir | \n", "
6 | \n", "Yuk_023 | \n", "0.0124 | \n", "0.1348 | \n", "0.1238 | \n", "0.0642 | \n", "Yukagir | \n", "
7 | \n", "MC_16 | \n", "0.0144 | \n", "0.1266 | \n", "0.1169 | \n", "0.0541 | \n", "Chukchi | \n", "
8 | \n", "MC_15 | \n", "0.0146 | \n", "0.1250 | \n", "0.1119 | \n", "0.0559 | \n", "Chukchi | \n", "
9 | \n", "MC_18 | \n", "0.0175 | \n", "0.1238 | \n", "0.1167 | \n", "0.0523 | \n", "Chukchi | \n", "
10 | \n", "Yuk_004 | \n", "0.0110 | \n", "0.1273 | \n", "0.1117 | \n", "0.0573 | \n", "Yukagir | \n", "
11 | \n", "MC_08 | \n", "0.0187 | \n", "0.1253 | \n", "0.1185 | \n", "0.0564 | \n", "Chukchi | \n", "
12 | \n", "Nov_005 | \n", "0.0152 | \n", "0.1349 | \n", "0.1285 | \n", "0.0618 | \n", "Nganasan | \n", "
13 | \n", "MC_25 | \n", "0.0182 | \n", "0.1258 | \n", "0.1196 | \n", "0.0532 | \n", "Chukchi | \n", "
14 | \n", "Yuk_019 | \n", "0.0161 | \n", "0.1327 | \n", "0.1229 | \n", "0.0617 | \n", "Yukagir | \n", "
15 | \n", "Yuk_011 | \n", "0.0152 | \n", "0.1217 | \n", "0.1148 | \n", "0.0569 | \n", "Yukagir | \n", "
16 | \n", "Sesk_47 | \n", "0.0167 | \n", "0.1241 | \n", "0.1177 | \n", "0.0549 | \n", "Chukchi1 | \n", "
17 | \n", "MC_17 | \n", "0.0180 | \n", "0.1268 | \n", "0.1147 | \n", "0.0544 | \n", "Chukchi | \n", "
18 | \n", "Yuk_021 | \n", "0.0141 | \n", "0.1329 | \n", "0.1210 | \n", "0.0653 | \n", "Yukagir | \n", "
19 | \n", "MC_06 | \n", "0.0159 | \n", "0.1264 | \n", "0.1135 | \n", "0.0557 | \n", "Chukchi | \n", "
20 | \n", "MC_38 | \n", "0.0178 | \n", "0.1240 | \n", "0.1143 | \n", "0.0534 | \n", "Chukchi | \n", "
21 | \n", "MC_14 | \n", "0.0165 | \n", "0.1238 | \n", "0.1114 | \n", "0.0524 | \n", "Chukchi | \n", "
22 | \n", "Ul5 | \n", "0.0070 | \n", "0.1306 | \n", "0.1144 | \n", "0.0540 | \n", "Ulchi | \n", "
23 | \n", "Ul31 | \n", "0.0056 | \n", "0.1289 | \n", "0.1182 | \n", "0.0550 | \n", "Ulchi | \n", "
24 | \n", "Ul65 | \n", "0.0051 | \n", "0.1331 | \n", "0.1117 | \n", "0.0599 | \n", "Ulchi | \n", "
25 | \n", "Tuba12 | \n", "0.0172 | \n", "0.0906 | \n", "0.0790 | \n", "0.0362 | \n", "Tubalar | \n", "
26 | \n", "Tuba20 | \n", "0.0129 | \n", "0.0894 | \n", "0.0767 | \n", "0.0308 | \n", "Tubalar | \n", "
27 | \n", "Nel19 | \n", "0.0273 | \n", "0.0605 | \n", "0.0608 | \n", "0.0333 | \n", "Yukagir | \n", "
28 | \n", "Nlk16 | \n", "0.0217 | \n", "0.0744 | \n", "0.0753 | \n", "0.0360 | \n", "Even | \n", "
29 | \n", "Kor66 | \n", "0.0148 | \n", "0.1259 | \n", "0.1157 | \n", "0.0531 | \n", "Koryak | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
1259 | \n", "I0429 | \n", "0.0413 | \n", "0.0447 | \n", "0.0440 | \n", "0.0098 | \n", "Yamnaya_Samara | \n", "
1260 | \n", "I0438 | \n", "0.0384 | \n", "0.0497 | \n", "0.0399 | \n", "0.0020 | \n", "Yamnaya_Samara | \n", "
1261 | \n", "I0585 | \n", "0.0770 | \n", "-0.0424 | \n", "0.0372 | \n", "0.0355 | \n", "WHG | \n", "
1262 | \n", "I0797 | \n", "-0.0101 | \n", "-0.0452 | \n", "-0.0342 | \n", "-0.0124 | \n", "LBK_EN | \n", "
1263 | \n", "I0795 | \n", "-0.0057 | \n", "-0.0495 | \n", "-0.0429 | \n", "0.0098 | \n", "LBK_EN | \n", "
1264 | \n", "I0022 | \n", "-0.0133 | \n", "-0.0433 | \n", "-0.0356 | \n", "-0.0089 | \n", "LBK_EN | \n", "
1265 | \n", "I0026 | \n", "-0.0142 | \n", "-0.0438 | \n", "-0.0430 | \n", "-0.0027 | \n", "LBK_EN | \n", "
1266 | \n", "I1507 | \n", "0.0866 | \n", "-0.0455 | \n", "0.0393 | \n", "0.0311 | \n", "WHG | \n", "
1267 | \n", "I0025 | \n", "-0.0103 | \n", "-0.0449 | \n", "-0.0404 | \n", "-0.0023 | \n", "LBK_EN | \n", "
1268 | \n", "I0443 | \n", "0.0350 | \n", "0.0401 | \n", "0.0412 | \n", "0.0028 | \n", "Yamnaya_Samara | \n", "
1269 | \n", "I0054 | \n", "-0.0054 | \n", "-0.0413 | \n", "-0.0410 | \n", "-0.0124 | \n", "LBK_EN | \n", "
1270 | \n", "I0046 | \n", "-0.0066 | \n", "-0.0446 | \n", "-0.0386 | \n", "-0.0092 | \n", "LBK_EN | \n", "
1271 | \n", "I0048 | \n", "-0.0128 | \n", "-0.0367 | \n", "-0.0388 | \n", "-0.0129 | \n", "LBK_EN | \n", "
1272 | \n", "I0056 | \n", "-0.0067 | \n", "-0.0472 | \n", "-0.0388 | \n", "-0.0054 | \n", "LBK_EN | \n", "
1273 | \n", "I0057 | \n", "-0.0113 | \n", "-0.0442 | \n", "-0.0357 | \n", "-0.0008 | \n", "LBK_EN | \n", "
1274 | \n", "I0100 | \n", "-0.0063 | \n", "-0.0455 | \n", "-0.0410 | \n", "-0.0051 | \n", "LBK_EN | \n", "
1275 | \n", "I0659 | \n", "-0.0084 | \n", "-0.0437 | \n", "-0.0431 | \n", "-0.0099 | \n", "LBK_EN | \n", "
1276 | \n", "I0821 | \n", "-0.0071 | \n", "-0.0428 | \n", "-0.0380 | \n", "-0.0103 | \n", "LBK_EN | \n", "
1277 | \n", "I1550 | \n", "-0.0107 | \n", "-0.0386 | \n", "-0.0402 | \n", "-0.0039 | \n", "LBK_EN | \n", "
1278 | \n", "BOO001 | \n", "0.0399 | \n", "0.0760 | \n", "0.0915 | \n", "0.0453 | \n", "BolshoyOleniOstrov | \n", "
1279 | \n", "BOO002 | \n", "0.0445 | \n", "0.0735 | \n", "0.0925 | \n", "0.0379 | \n", "BolshoyOleniOstrov | \n", "
1280 | \n", "BOO003 | \n", "0.0466 | \n", "0.0765 | \n", "0.0862 | \n", "0.0415 | \n", "BolshoyOleniOstrov | \n", "
1281 | \n", "BOO004 | \n", "0.0411 | \n", "0.0723 | \n", "0.0938 | \n", "0.0419 | \n", "BolshoyOleniOstrov | \n", "
1282 | \n", "BOO005 | \n", "0.0461 | \n", "0.0731 | \n", "0.0909 | \n", "0.0401 | \n", "BolshoyOleniOstrov | \n", "
1283 | \n", "BOO006 | \n", "0.0394 | \n", "0.0917 | \n", "0.1002 | \n", "0.0438 | \n", "BolshoyOleniOstrov | \n", "
1284 | \n", "CHV001 | \n", "0.0441 | \n", "0.0331 | \n", "0.0587 | \n", "0.0325 | \n", "ChalmnyVarre | \n", "
1285 | \n", "CHV002 | \n", "0.0442 | \n", "0.0351 | \n", "0.0610 | \n", "0.0373 | \n", "ChalmnyVarre | \n", "
1286 | \n", "JK1968 | \n", "0.0398 | \n", "0.0385 | \n", "0.0661 | \n", "0.0299 | \n", "Levanluhta | \n", "
1287 | \n", "JK1970 | \n", "0.0408 | \n", "0.0466 | \n", "0.0600 | \n", "0.0363 | \n", "Levanluhta | \n", "
1288 | \n", "JK2065 | \n", "0.0392 | \n", "-0.0065 | \n", "0.0195 | \n", "0.0043 | \n", "JK2065 | \n", "
1289 rows × 6 columns
\n", "\n", " | Population | \n", "colorIndex | \n", "symbolIndex | \n", "
---|---|---|---|
1 | \n", "Abkhasian | \n", "0 | \n", "0 | \n", "
2 | \n", "Adygei | \n", "0 | \n", "1 | \n", "
3 | \n", "Albanian | \n", "0 | \n", "2 | \n", "
4 | \n", "Armenian | \n", "0 | \n", "3 | \n", "
5 | \n", "Assyrian | \n", "0 | \n", "4 | \n", "
6 | \n", "Balkar | \n", "0 | \n", "5 | \n", "
7 | \n", "Basque | \n", "0 | \n", "6 | \n", "
8 | \n", "BedouinA | \n", "0 | \n", "7 | \n", "
9 | \n", "BedouinB | \n", "1 | \n", "0 | \n", "
10 | \n", "Belarusian | \n", "1 | \n", "1 | \n", "
11 | \n", "Bulgarian | \n", "1 | \n", "2 | \n", "
12 | \n", "Canary_Islander | \n", "1 | \n", "3 | \n", "
13 | \n", "Chechen | \n", "1 | \n", "4 | \n", "
0 | \n", "Chuvash | \n", "1 | \n", "5 | \n", "
14 | \n", "Croatian | \n", "1 | \n", "6 | \n", "
15 | \n", "Cypriot | \n", "1 | \n", "7 | \n", "
16 | \n", "Czech | \n", "2 | \n", "0 | \n", "
17 | \n", "Druze | \n", "2 | \n", "1 | \n", "
18 | \n", "English | \n", "2 | \n", "2 | \n", "
19 | \n", "Estonian | \n", "2 | \n", "3 | \n", "
20 | \n", "Finnish | \n", "2 | \n", "4 | \n", "
21 | \n", "French | \n", "2 | \n", "5 | \n", "
22 | \n", "Georgian | \n", "2 | \n", "6 | \n", "
23 | \n", "German | \n", "2 | \n", "7 | \n", "
24 | \n", "Greek | \n", "3 | \n", "0 | \n", "
25 | \n", "Hungarian | \n", "3 | \n", "1 | \n", "
26 | \n", "Icelandic | \n", "3 | \n", "2 | \n", "
27 | \n", "Iranian | \n", "3 | \n", "3 | \n", "
28 | \n", "Irish | \n", "3 | \n", "4 | \n", "
29 | \n", "Irish_Ulster | \n", "3 | \n", "5 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "
38 | \n", "Jew_Tunisian | \n", "4 | \n", "6 | \n", "
39 | \n", "Jew_Turkish | \n", "4 | \n", "7 | \n", "
40 | \n", "Jew_Yemenite | \n", "5 | \n", "0 | \n", "
41 | \n", "Jordanian | \n", "5 | \n", "1 | \n", "
42 | \n", "Kumyk | \n", "5 | \n", "2 | \n", "
44 | \n", "Lebanese | \n", "5 | \n", "3 | \n", "
43 | \n", "Lebanese_Christian | \n", "5 | \n", "4 | \n", "
45 | \n", "Lebanese_Muslim | \n", "5 | \n", "5 | \n", "
46 | \n", "Lezgin | \n", "5 | \n", "6 | \n", "
47 | \n", "Lithuanian | \n", "5 | \n", "7 | \n", "
48 | \n", "Maltese | \n", "6 | \n", "0 | \n", "
49 | \n", "Mordovian | \n", "6 | \n", "1 | \n", "
50 | \n", "North_Ossetian | \n", "6 | \n", "2 | \n", "
51 | \n", "Norwegian | \n", "6 | \n", "3 | \n", "
52 | \n", "Orcadian | \n", "6 | \n", "4 | \n", "
53 | \n", "Palestinian | \n", "6 | \n", "5 | \n", "
54 | \n", "Polish | \n", "6 | \n", "6 | \n", "
55 | \n", "Romanian | \n", "6 | \n", "7 | \n", "
56 | \n", "Russian | \n", "7 | \n", "0 | \n", "
57 | \n", "Sardinian | \n", "7 | \n", "1 | \n", "
58 | \n", "Saudi | \n", "7 | \n", "2 | \n", "
59 | \n", "Scottish | \n", "7 | \n", "3 | \n", "
60 | \n", "Shetlandic | \n", "7 | \n", "4 | \n", "
61 | \n", "Sicilian | \n", "7 | \n", "5 | \n", "
62 | \n", "Sorb | \n", "7 | \n", "6 | \n", "
64 | \n", "Spanish | \n", "7 | \n", "7 | \n", "
63 | \n", "Spanish_North | \n", "8 | \n", "0 | \n", "
65 | \n", "Syrian | \n", "8 | \n", "1 | \n", "
66 | \n", "Turkish | \n", "8 | \n", "2 | \n", "
67 | \n", "Ukrainian | \n", "8 | \n", "3 | \n", "
68 rows × 3 columns
\n", "\n", " | Population | \n", "colorIndex | \n", "symbolIndex | \n", "
---|---|---|---|
0 | \n", "Abkhasian | \n", "0 | \n", "0 | \n", "
1 | \n", "Adygei | \n", "0 | \n", "1 | \n", "
2 | \n", "Albanian | \n", "0 | \n", "2 | \n", "
3 | \n", "Aleut | \n", "0 | \n", "3 | \n", "
4 | \n", "Aleut_Tlingit | \n", "0 | \n", "4 | \n", "
5 | \n", "Altaian | \n", "0 | \n", "5 | \n", "
6 | \n", "Ami | \n", "0 | \n", "6 | \n", "
7 | \n", "Armenian | \n", "0 | \n", "7 | \n", "
8 | \n", "Assyrian | \n", "0 | \n", "8 | \n", "
9 | \n", "Atayal | \n", "0 | \n", "9 | \n", "
10 | \n", "Avar | \n", "0 | \n", "10 | \n", "
11 | \n", "Azeri | \n", "0 | \n", "11 | \n", "
12 | \n", "Balkar | \n", "0 | \n", "12 | \n", "
13 | \n", "Basque | \n", "1 | \n", "0 | \n", "
14 | \n", "BedouinA | \n", "1 | \n", "1 | \n", "
15 | \n", "BedouinB | \n", "1 | \n", "2 | \n", "
16 | \n", "Belarusian | \n", "1 | \n", "3 | \n", "
17 | \n", "Borneo | \n", "1 | \n", "4 | \n", "
18 | \n", "Bulgarian | \n", "1 | \n", "5 | \n", "
19 | \n", "Buryat | \n", "1 | \n", "6 | \n", "
20 | \n", "Cambodian | \n", "1 | \n", "7 | \n", "
21 | \n", "Chechen | \n", "1 | \n", "8 | \n", "
22 | \n", "Chukchi | \n", "1 | \n", "9 | \n", "
23 | \n", "Chukchi1 | \n", "1 | \n", "10 | \n", "
24 | \n", "Chuvash | \n", "1 | \n", "11 | \n", "
25 | \n", "Croatian | \n", "1 | \n", "12 | \n", "
26 | \n", "Cypriot | \n", "2 | \n", "0 | \n", "
27 | \n", "Czech | \n", "2 | \n", "1 | \n", "
28 | \n", "Dai | \n", "2 | \n", "2 | \n", "
29 | \n", "Daur | \n", "2 | \n", "3 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "
89 | \n", "Saami.DG | \n", "6 | \n", "11 | \n", "
90 | \n", "Saami_WGA | \n", "6 | \n", "12 | \n", "
91 | \n", "Sardinian | \n", "7 | \n", "0 | \n", "
92 | \n", "Saudi | \n", "7 | \n", "1 | \n", "
93 | \n", "Scottish | \n", "7 | \n", "2 | \n", "
94 | \n", "Selkup | \n", "7 | \n", "3 | \n", "
95 | \n", "Semende | \n", "7 | \n", "4 | \n", "
96 | \n", "She | \n", "7 | \n", "5 | \n", "
97 | \n", "Sherpa.DG | \n", "7 | \n", "6 | \n", "
98 | \n", "Sicilian | \n", "7 | \n", "7 | \n", "
99 | \n", "Spanish | \n", "7 | \n", "8 | \n", "
100 | \n", "Spanish_North | \n", "7 | \n", "9 | \n", "
101 | \n", "Syrian | \n", "7 | \n", "10 | \n", "
102 | \n", "Tajik | \n", "7 | \n", "11 | \n", "
103 | \n", "Thai | \n", "7 | \n", "12 | \n", "
104 | \n", "Tibetan.DG | \n", "8 | \n", "0 | \n", "
105 | \n", "Tu | \n", "8 | \n", "1 | \n", "
106 | \n", "Tubalar | \n", "8 | \n", "2 | \n", "
107 | \n", "Tujia | \n", "8 | \n", "3 | \n", "
108 | \n", "Turkish | \n", "8 | \n", "4 | \n", "
109 | \n", "Turkmen | \n", "8 | \n", "5 | \n", "
110 | \n", "Tuvinian | \n", "8 | \n", "6 | \n", "
111 | \n", "Ukrainian | \n", "8 | \n", "7 | \n", "
112 | \n", "Ulchi | \n", "8 | \n", "8 | \n", "
113 | \n", "Uygur | \n", "8 | \n", "9 | \n", "
114 | \n", "Uzbek | \n", "8 | \n", "10 | \n", "
115 | \n", "Xibo | \n", "8 | \n", "11 | \n", "
116 | \n", "Yakut | \n", "8 | \n", "12 | \n", "
117 | \n", "Yi | \n", "9 | \n", "0 | \n", "
118 | \n", "Yukagir | \n", "9 | \n", "1 | \n", "
119 rows × 3 columns
\n", "