【R】遺伝子頻度とアレル頻度を求める

#はじめに
仕事で統計遺伝学が必要になりそうなので、[実践でわかる!Rによる統計遺伝学](https://www.amazon.co.jp/%E5%AE%9F%E8%B7%B5%E3%81%A7%E3%82%8F%E3%81%8B%E3%82%8B-R%E3%81%AB%E3%82%88%E3%82%8B%E7%B5%B1%E8%A8%88%E9%81%BA%E4%BC%9D%E5%AD%A6-%E3%82%A2%E3%83%B3%E3%83%89%E3%83%AC%E3%82%A2%E3%83%BBS-%E3%83%95%E3%82%A9%E3%83%AB%E3%82%AF%E3%82%B9/dp/4621300059)を始めた。

備忘録的に記していく。

#問題1.3
**FAMuSSデータのactin3_16971064 SNPのマイナーアレルを調べ、その頻度を求めよ。次に変数Raceで層別化した場合のそのアレル頻度を求め、結果を解釈せよ。**

という問題。
FAMuSS研究は運動トレーニング前後での骨格筋の筋量と筋力の遺伝的決定要因を見つけるために、被験者の225個のSNPと筋・骨・皮下脂肪などの形質を調べたそうです。


#使用するデータ
使用するデータは本で指定されたURLから。

**FAMussデータ**
http://pub.maruzen.co.jp/book_magazine/support/r_toukeiidengaku/FMS_data.txt

#必要なパッケージ
**genetics**パッケージをインストールしておく。

```R
install.packages("genetics")
```
そして読み込む。

```R
library(genetics)
```

#データの読み込み
FAMuSSデータを読み込む。
**read.delim()**関数は、データ区切りがタブの場合。

参考
[ファイルからデータを読み込むとき](http://cse.naro.affrc.go.jp/takezawa/r-tips/r/40.html)


```R
df <- read.delim("http://pub.maruzen.co.jp/book_magazine/support/r_toukeiidengaku/FMS_data.txt")
```

#遺伝子頻度とアレル頻度を求める
**genetics**パッケージの**genotype()**関数を使って、**actin3_16971064 SNP**の遺伝子型頻度とアレル頻度を求める。

```R
#genotypeオブジェクトを作り、遺伝子頻度とアレル頻度を求める
Geno <- genotype(df$actn3_1671064, sep = "")
summary(Geno)
```

変数の区切りの指定は、元データがスペース区切りのため、`sep = ""`とする。

実行結果。

```R
> #genotypeオブジェクトを作り、遺伝子頻度とアレル頻度を求める
> Geno <- genotype(df$actn3_1671064, sep = "")
> summary(Geno)

Number of samples typed: 1221 (87.4%)

Allele Frequency: (2 alleles)
   Count Proportion
A   1382       0.57
G   1060       0.43
NA   352         NA


Genotype Frequency:
    Count Proportion
A/A   394       0.32
A/G   594       0.49
G/G   233       0.19
NA    176         NA

Heterozygosity (Hu)  = 0.4915079
Poly. Inf. Content   = 0.3706155
```

**actin3_16971064 SNP**のマイナーアレルはGでその頻度は43%、メジャーアレルはAでその頻度は57%という結果。
遺伝子型AA、GGはホモ接合型、AGはヘテロ接合型。
メジャーアレル2個の遺伝子型AAは野生型ホモ接合となる。


#民族で層別化した場合のアレル頻度
まず、変数Raceの要素を調べてみる。

```R
table(df$Race)
```
実行結果

```R
> table(df$Race)

African Am  Am Indian      Asian  Caucasian   Hispanic      Other 
        44          1         97        791         52         49 
```

この内、**Asian**、**Caucasian**、**Hispanic**をピックアップして、アレル頻度を見てみる。

```R
#Asianでのアレル頻度
GenoAsian <- genotype(df$actn3_1671064[df$Race=="Asian"], sep = "")
summary(GenoSAsian)

#Caucasianでのアレル頻度
GenoCaucasian <- genotype(df$actn3_1671064[df$Race=="Caucasian"], sep = "")
summary(GenoCaucasian)

#Hispanicでのアレル頻度
GenoHispanic <- genotype(df$actn3_1671064[df$Race=="Hispanic"], sep = "")
summary(GenoHispanic)
```
実行結果

```R
> #Asianでのアレル頻度
> GenoAsian <- genotype(df$actn3_1671064[df$Race=="Asian"], sep = "")
> summary(GenoAsian)

Number of samples typed: 94 (20.4%)

Allele Frequency: (2 alleles)
   Count Proportion
A    103       0.55
G     85       0.45
NA   732         NA


Genotype Frequency:
    Count Proportion
A/A    29       0.31
A/G    45       0.48
G/G    20       0.21
NA    366         NA

Heterozygosity (Hu)  = 0.4980658
Poly. Inf. Content   = 0.3726977

> 
> #Caucasianでのアレル頻度
> GenoCaucasian <- genotype(df$actn3_1671064[df$Race=="Caucasian"], sep = "")
> summary(GenoCaucasian)

Number of samples typed: 768 (66.6%)

Allele Frequency: (2 alleles)
   Count Proportion
A    874       0.57
G    662       0.43
NA   772         NA


Genotype Frequency:
    Count Proportion
A/A   245       0.32
A/G   384       0.50
G/G   139       0.18
NA    386         NA

Heterozygosity (Hu)  = 0.4907947
Poly. Inf. Content   = 0.3701922

> 
> #Hispanicでのアレル頻度
> GenoHispanic <- genotype(df$actn3_1671064[df$Race=="Hispanic"], sep = "")
> summary(GenoHispanic)

Number of samples typed: 49 (11.8%)

Allele Frequency: (2 alleles)
   Count Proportion
G     53       0.54
A     45       0.46
NA   732         NA


Genotype Frequency:
    Count Proportion
G/G    15       0.31
G/A    23       0.47
A/A    11       0.22
NA    366         NA

Heterozygosity (Hu)  = 0.5017883
Poly. Inf. Content   = 0.3733285
```

**Asian**、**Caucasian**、**Hispanic**の比較では顕著な差はなさそう...かな

#最終的なスクリプト

```R
#Rによる遺伝統計学
#問題1.3

#Rをきれいにする
rm(list = ls())

#geneticsパッケージを使う
library(genetics)

#データを読み込む
df <- read.delim("http://pub.maruzen.co.jp/book_magazine/support/r_toukeiidengaku/FMS_data.txt")

#genotypeオブジェクトを作り、遺伝子頻度とアレル頻度を求める
Geno <- genotype(df$actn3_1671064, sep = "")
summary(Geno)

#次に、変数Raceで層別化した場合のアレル頻度を求める
#変数Raceの要素の数を調べる
table(df$Race)

#Asianでのアレル頻度
GenoAsian <- genotype(df$actn3_1671064[df$Race=="Asian"], sep = "")
summary(GenoAsian)

#Caucasianでのアレル頻度
GenoCaucasian <- genotype(df$actn3_1671064[df$Race=="Caucasian"], sep = "")
summary(GenoCaucasian)

#Hispanicでのアレル頻度
GenoHispanic <- genotype(df$actn3_1671064[df$Race=="Hispanic"], sep = "")
summary(GenoHispanic)
```

#参考文献
- 実践でわかる!Rによる統計遺伝学（著／アンドレア・S. フォルクス、監訳／西山 毅）、丸善出版、2016