R语言处理基因芯片测序得到的SNP数据的分析是怎样的

发布时间:2021-11-22 15:31:44 作者:柒染
来源:亿速云 阅读:507

这篇文章给大家介绍R语言处理基因芯片测序得到的SNP数据的分析是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

 最终拿到的数据格式如下
R语言处理基因芯片测序得到的SNP数据的分析是怎样的  
image.png

相当于是每行是一个位点,每列是一个样本

这个数据集下载自 链接 https://popgen.nescent.org/StartSNP.html

R语言处理基因芯片测序得到的SNP数据的分析是怎样的  
image.png

今天推文的主要内筒也是参考自这个链接,这个链接的数据集是500多个样本,3000多个位点,我只选取了其中30个样本,996个位点

 第一步是读入数据

因为是csv格式存储,直接使用read.csv()函数读入

df1<-read.csv("chip_snp_example.csv",header=T)
 

接下来是使用adegenet包中的df2genind()函数对数据进行整合R语言处理基因芯片测序得到的SNP数据的分析是怎样的

要求的是

这个要求样本是行,位点是列,所以要对读进来的数据进行转置

df2<-t(df1)
dim(df2)
df3<-df2[4:33,1:996]
df3[1:6,1:6]
 
R语言处理基因芯片测序得到的SNP数据的分析是怎样的  
image.png
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)
   接下来就是基于距离的upgma树
library(poppr)
tree<-aboot(mydata1,tree = "upgma", 
      distance = bitwise.dist, 
      sample = 1000, 
      showtree = F)
   接下来是使用ggtree进行展示结果
library(ggtree)
ggtree(tree,layout = "circular")+
  geom_tiplab()+
  xlim(NA,0.12)
 
R语言处理基因芯片测序得到的SNP数据的分析是怎样的  
image.png
 接下来是主成分分析PCA
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数据的分析是怎样的  
image.png

因为数据是随便构造的没有分组信息,就画一个简单的散点图就好了

关于R语言处理基因芯片测序得到的SNP数据的分析是怎样的就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

推荐阅读:
  1. R语言lubridate包处理时间数据的示例分析
  2. R语言画棒棒糖图展示snp在基因上的位置是怎样的

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

r语言

上一篇:C语言中经典的算法有哪些

下一篇:c语言怎么实现含递归清场版扫雷游戏

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》