亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何進行R語言用DNA序列做主成分的分析

發布時間:2021-11-22 15:47:53 來源:億速云 閱讀:308 作者:柒染 欄目:大數據

這篇文章將為大家詳細講解有關如何進行R語言用DNA序列做主成分的分析,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

之前也有人留言問過如何用DNA序列做主成分分析,當時我也不知道,但是大體有一個思路 就是先比對,然后把比對的數據轉換成通常用的snp數據應該就可以了,但是也僅限于思路,完全不知道如何操作,今天坐車回家,路上無聊,翻了一下電腦上保存的一些資料,發現了一個辦法:可以借助R語言的adegenet包,用到的函數是fasta2genlight()

 fasta2genlight()函數的只要作用

The function fasta2genlight extracts SNPs from alignments with fasta format. 從比對好的fasta文件中提取snp數據

 下面開始實際操作

adegenet這個包第一使用需要先安裝,直接運行如下命令

install.packages("adegenet")
 

今天的推文使用的數據集是這個包的內置數據集,首先是獲取這個數據集的存儲路徑

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

數據讀入以后做一些分析就比較容易了

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

這個圖如果分面畫成山脊圖的形式可能會更好看,但是自己目前還不知道如何實現

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

這一步的時間可能會比較長如何進行R語言用DNA序列做主成分的分析

 接下來是做主成分分析了
df.pca<-glPca(flu,nf=3)  
df.pca.scores<-as.data.frame(df.pca$scores)  
df.pca.scores
   
自己隨便構造一個分組信息,然后用散點圖加置信橢圓的方式展示結果
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")
 
如何進行R語言用DNA序列做主成分的分析  
image.png

關于如何進行R語言用DNA序列做主成分的分析就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

光泽县| 许昌县| 芦溪县| 九龙坡区| 永康市| 嘉鱼县| 武城县| 南陵县| 方山县| 孝昌县| 山西省| 上高县| 囊谦县| 虎林市| 新津县| 普兰县| 台湾省| 海安县| 津市市| 阿拉尔市| 巴彦县| 宜章县| 广东省| 兴文县| 蓬溪县| 康马县| 浦北县| 枣阳市| 綦江县| 乐业县| 静安区| 怀安县| 长白| 万盛区| 罗田县| 望江县| 静乐县| 子长县| 荣成市| 白河县| 灵丘县|