溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何進(jìn)行R語(yǔ)言用DNA序列做主成分的分析

發(fā)布時(shí)間:2021-11-22 15:47:53 來(lái)源:億速云 閱讀:298 作者:柒染 欄目:大數(shù)據(jù)

這篇文章將為大家詳細(xì)講解有關(guān)如何進(jìn)行R語(yǔ)言用DNA序列做主成分的分析,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

之前也有人留言問(wèn)過(guò)如何用DNA序列做主成分分析,當(dāng)時(shí)我也不知道,但是大體有一個(gè)思路 就是先比對(duì),然后把比對(duì)的數(shù)據(jù)轉(zhuǎn)換成通常用的snp數(shù)據(jù)應(yīng)該就可以了,但是也僅限于思路,完全不知道如何操作,今天坐車(chē)回家,路上無(wú)聊,翻了一下電腦上保存的一些資料,發(fā)現(xiàn)了一個(gè)辦法:可以借助R語(yǔ)言的adegenet包,用到的函數(shù)是fasta2genlight()

 fasta2genlight()函數(shù)的只要作用

The function fasta2genlight extracts SNPs from alignments with fasta format. 從比對(duì)好的fasta文件中提取snp數(shù)據(jù)

 下面開(kāi)始實(shí)際操作

adegenet這個(gè)包第一使用需要先安裝,直接運(yùn)行如下命令

install.packages("adegenet")
 

今天的推文使用的數(shù)據(jù)集是這個(gè)包的內(nèi)置數(shù)據(jù)集,首先是獲取這個(gè)數(shù)據(jù)集的存儲(chǔ)路徑

dfpath<-system.file("files/usflu.fasta",package="adegenet")
dfpath
   加載包讀入數(shù)據(jù)
library(adegenet)
flu<-fasta2genlight(dfpath,chunkSize = 10,parallel = F)
flu
   

數(shù)據(jù)讀入以后做一些分析就比較容易了

 首先是看一下snp位點(diǎn)在染色體上的分布密度
library(ggplot2)
snpposi.plot(position(flu),genome.size = 1700,codon = F)+
  theme_bw()
 
如何進(jìn)行R語(yǔ)言用DNA序列做主成分的分析  
image.png
 還可以劃分不同的密碼子位置
snpposi.plot(position(flu),genome.size = 1700,codon = T)+
  theme_bw()
 
如何進(jìn)行R語(yǔ)言用DNA序列做主成分的分析  
image.png

這個(gè)圖如果分面畫(huà)成山脊圖的形式可能會(huì)更好看,但是自己目前還不知道如何實(shí)現(xiàn)

 還能夠檢測(cè)snp在染色體上是否分布均勻
snpposi.test(position(flu),genome.size = 1700)
 

這一步的時(shí)間可能會(huì)比較長(zhǎng)如何進(jìn)行R語(yǔ)言用DNA序列做主成分的分析

 接下來(lái)是做主成分分析了
df.pca<-glPca(flu,nf=3)  
df.pca.scores<-as.data.frame(df.pca$scores)  
df.pca.scores
   
自己隨便構(gòu)造一個(gè)分組信息,然后用散點(diǎn)圖加置信橢圓的方式展示結(jié)果
df.pca.scores$population<-ifelse(df.pca.scores$PC1>0,"pop1",
                                 ifelse(df.pca.scores$PC2>1,"pop2","pop3"))
library(ggplot2)
ggplot()+
  geom_point(data=df.pca.scores,
             size=2,
             aes(x=PC1,y=PC2,
                 color=population))+
  theme_bw()+
  stat_ellipse(data=df.pca.scores,
               aes(x=PC1,y=PC2,fill=population),
               geom = "polygon",alpha=0.2,lty="dashed",color="black")
 
如何進(jìn)行R語(yǔ)言用DNA序列做主成分的分析  
image.png

關(guān)于如何進(jìn)行R語(yǔ)言用DNA序列做主成分的分析就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI