中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

如何進行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

玉龙| 塘沽区| 望都县| 秭归县| 古浪县| 奎屯市| 精河县| 新化县| 尤溪县| 吴忠市| 嘉善县| 定安县| 临邑县| 吉隆县| 青州市| 施甸县| 炎陵县| 毕节市| 吴桥县| 呼伦贝尔市| 定陶县| 兴国县| 济阳县| 光山县| 琼中| 会昌县| 青河县| 东乌珠穆沁旗| 峡江县| 肃宁县| 昆山市| 宜兰县| 望谟县| 肥东县| 庆安县| 大厂| 贵州省| 华容县| 建瓯市| 时尚| 微山县|