您好,登錄后才能下訂單哦!
這篇文章給大家介紹R語言處理基因芯片測序得到的SNP數據的分析是怎樣的,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
相當于是每行是一個位點,每列是一個樣本
這個數據集下載自 鏈接 https://popgen.nescent.org/StartSNP.html
今天推文的主要內筒也是參考自這個鏈接,這個鏈接的數據集是500多個樣本,3000多個位點,我只選取了其中30個樣本,996個位點
因為是csv格式存儲,直接使用read.csv()
函數讀入
df1<-read.csv("chip_snp_example.csv",header=T)
接下來是使用adegenet
包中的df2genind()
函數對數據進行整合
要求的是
這個要求樣本是行,位點是列,所以要對讀進來的數據進行轉置
df2<-t(df1)
dim(df2)
df3<-df2[4:33,1:996]
df3[1:6,1:6]
mydata<-df2genind(df3,ploidy = 2,ind.names = rownames(df3),
sep="")
到這里數據就讀入了,但是接下來我想構建一個分類樹,這個教程里是沒有的,想起來之前重復過的一個教程里有這個內容
教程的鏈接是 https://grunwaldlab.github.io/Population_Genetics_in_R/gbs_analysis.html
這個里的示例數據用到的是vcf格式文件,讀入R語言后的數據對象是genlight
,我們當前讀入的數據是genind
那么這兩個數據格式能否相互轉化呢?經過搜素找到了一個R語言包dartR
,對應的函數是gi2gl() Converts a genind object to genlight object
第一次使用進行安裝
install.packages("dartR")
加載的時候遇到報錯,提示沒有SNPRelate
這個包,再單獨安裝一下就好了
BiocManager::install("SNPRelate")
library(dartR)
mydata1<-gi2gl(mydata)
library(poppr)
tree<-aboot(mydata1,tree = "upgma",
distance = bitwise.dist,
sample = 1000,
showtree = F)
library(ggtree)
ggtree(tree,layout = "circular")+
geom_tiplab()+
xlim(NA,0.12)
df.pca<-glPca(mydata1,nf=3)
df.pca.scores<-as.data.frame(df.pca$scores)
df.pca.scores
library(ggplot2)
ggplot(df.pca.scores,aes(x=PC1,y=PC2))+
geom_point(size=2,color="blue")+
theme_bw()
因為數據是隨便構造的沒有分組信息,就畫一個簡單的散點圖就好了
關于R語言處理基因芯片測序得到的SNP數據的分析是怎樣的就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。