Suomen kuntien geneettinen rakenne

Paperilta ja verkosta löytyvä tieto; kirjat, lehdet, julkaisusarjat ja kotisivut.

Suomen kuntien geneettinen rakenne

ViestiKirjoittaja Jaska » 05 Maalis 2021 07:28

Täällä voi tarkastella Suomen kuntien geneettistä rakennetta; projekti liittyy aiemmin linkitettyyn Sini Kermisen väitöskirjaan.
https://geneviz.aalto.fi/genetic_ancestry_finland/
~ "Per aspera ad hominem - vaikeuksien kautta henkilökohtaisuuksiin" ~

Y-DNA: N1c1-YP1143 (Olavi Häkkinen 1620 Kuhmo? >> Juhani Häkkinen 1816 Eno)
mtDNA: H5a1e (Elina Mäkilä 1757 Kittilä >> Riitta Sassali 1843 Sodankylä)
Avatar
Jaska
Ylihärmiö
Ylihärmiö
 
Viestit: 10957
Liittynyt: 14 Helmi 2011 04:02

Re: Suomen kuntien geneettinen rakenne

ViestiKirjoittaja Lri » 05 Maalis 2021 23:55

Tässä on lämpökartta FST-arvoista Kermisen paperin taulukosta S2: https://journals.plos.org/plosgenetics/article?id=10.1371/journal.pgen.1009347#sec027.

Tässä arvot on kerrottu 10 000:lla eikä 100 000:lla.

Pisin etäisyys on itälappilaisten ja pohjanmaalaisten välillä. Länsilappilaiset puolestaan ovat kauimpana kainuulaisista. Evakot ovat vähän lähempänä keskisuomalaisia kuin savo-karjalaisia. Lounaissuomalaiset ovat paljon lähempänä länsilappilaisia kuin kainuulaisia tai kuusamolaisia.

Kuva

Koodi: Valitse kaikki
library(pheatmap)
library(colorspace)

download.file("https://pastebin.com/raw/QRkUDupj","fst")

t=read.csv("fst",header=T,row.names=1,check.names=F)

g=grep("^R",row.names(t))
t=t[g,g]

t[upper.tri(t)]=0
t=t+t(t)

k=hclust(as.dist(t))

pheatmap(
  t/10,
  filename="output.png",
  clustering_callback=function(...){c(k)},
  legend=F,
  cellwidth=16,
  cellheight=16,
  fontsize=8,
  border_color=NA,
  display_numbers=T,
  number_format="%.0f",
  fontsize_number=7,
  number_color="black",
  colorRampPalette(hex(HSV(c(210,180,150,120,90,60,30,0),.5,1)))(256)
)


R:n saa asennettua macOS:ssä ajamalla `brew install R`. Koodin saa sen jälkeen ajettua R:n komentotulkissa kun ajaa `R` ja ajaa `install.packages(c("pheatmap","colorspace"))`.

Tässä on FST-taulukko CSV-muodossa (missä yläkolmion arvot ovat keskihajontia):

,A-Southwest,A-West_Lapland,A-N_Karelia,A-Kainuu,A-Bothnia,A-Kuusamo,A-Evacuated,R10-Southwest,R10-East_Lapland,R10-West_Lapland,R10-Savo-Karelia,R10-Kainuu,R10-Bothnia,R10-Kuusamo,R10-Evacuated,R10-Kokkola,R10-Central_Finland
A-Southwest,,4,4,6,6,7,6,1,11,6,5,8,5,7,4,5,6
A-West_Lapland,271,,5,7,9,7,8,5,11,6,6,8,7,7,6,8,8
A-N_Karelia,366,262,,3,8,5,5,4,10,6,1,5,7,5,3,7,5
A-Kainuu,530,383,209,,10,6,8,7,12,8,4,4,9,6,6,8,7
A-Bothnia,227,333,406,565,,11,10,7,14,10,9,11,7,11,8,8,10
A-Kuusamo,531,367,305,326,570,,9,8,12,9,6,8,9,5,7,10,9
A-Evacuated,282,308,242,428,396,471,,7,14,9,6,9,9,10,6,9,9
R10-Southwest,6,266,360,522,222,524,278,,12,6,5,8,5,8,5,5,6
R10-East_Lapland,554,229,490,596,615,523,572,557,,13,11,13,14,12,11,14,14
R10-West_Lapland,379,162,466,605,457,589,472,369,497,,7,10,8,9,7,9,9
R10-Savo-Karelia,409,286,26,201,440,302,296,404,514,497,,5,8,6,4,7,6
R10-Kainuu,558,408,235,8,579,358,453,546,618,632,219,,10,8,7,10,8
R10-Bothnia,255,385,462,619,33,624,425,251,661,505,498,637,,9,7,8,8
R10-Kuusamo,545,374,305,336,574,57,481,538,538,602,302,363,639,,7,10,9
R10-Evacuated,248,254,150,338,333,385,118,238,503,415,185,362,371,392,,7,6
R10-Kokkola,269,328,384,526,214,534,390,267,582,472,405,542,338,544,343,,9
R10-Central_Finland,275,299,212,357,356,414,300,268,545,454,226,380,397,423,160,367,


Alta näkyy, että pohjanmaalaiset ovat suunnilleen yhtä kaukana lounaissuomalaisista kuin keskisuomalaiset. Itälappilaiset, länsilappilaiset, ja pohjanmaalaiset ovat suunnilleen yhtä kaukana savo-karjalaisista.

Kuva

Koodi: Valitse kaikki
library(tidyverse)

download.file("https://pastebin.com/raw/QRkUDupj","fst")

x="R10-Savo-Karelia"
y="R10-Southwest"

t=read.csv("fst",header=T,row.names=1,check.names=F)

g=grep("^R",row.names(t))
t=t[g,g]

t[upper.tri(t)]=0
t=t+t(t)
t[is.na(t)]=0

xy=as.data.frame(t[,c(x,y)])
names(xy)=c("x","y")

ggplot(xy,aes(x,y))+
geom_hline(yintercept=0,color="gray60")+
geom_vline(xintercept=0,color="gray60")+
geom_abline(linetype="dashed",color="gray70")+
geom_point(size=1)+
geom_text(label=rownames(xy),size=3.5,vjust=-.7)+
theme(
  legend.position="none",
  axis.ticks.x=element_blank(),
  axis.ticks.y=element_blank(),
  axis.ticks.length=unit(0,"pt"),
  plot.background=element_rect(fill="white"),
  panel.background=element_rect(fill="white"),
  panel.grid.major=element_line(color="gray80",size=.25),
  panel.grid.minor=element_blank(),
  axis.text=element_text(color="black")
)+
coord_fixed()+
scale_x_continuous(breaks=seq(0,1000,100),expand=expansion(mult=.12))+
scale_y_continuous(breaks=seq(0,1000,100),expand=expansion(mult=.05))+
xlab(paste("FST distance to",x))+
ylab(paste("FST distance to",y))+
ggsave("output.png")

system("/usr/local/bin/mogrify -trim -bordercolor white -border 16x16 output.png")
Lri
Mettänpeikko
Mettänpeikko
 
Viestit: 323
Liittynyt: 09 Maalis 2019 15:01


Paluu Kirjallisuus ja linkit

Paikallaolijat

Käyttäjiä lukemassa tätä aluetta: Ei rekisteröityneitä käyttäjiä ja 1 vierailijaa