刚拿到手一个范围大约600KB的基因座的遗传数据。

356个SNP

1.对个体数据进行质控:

排除missing值>0.5的个体

2.检查遗传数据的性别是否与样本一致

3.对遗传数据进行质控:

3.1 哈温伯格定律检验:

> library(SNPassoc)
> idx <- grep("^rs", colnames(a))  #选择所有有“rs”的列
> a.s <- setupSNP(data=a, colSNPs=idx, sep="")  #识别这些列为SNPS,数据表中的"AA"变成“A/A”,并通过setupSNP语句进行计算
> summary(a.s, print=FALSE) #查看结果#只看HWE.P值?
> hwe <- tableHWE(a.s)
> head(hwe) > write.csv(hwe,file="HWE.csv") #导出结果

结果:

其中,常用的MAF是最小等位基因频率。而给出的结果是最大等位基因频率。排除 Missing>5.0%, MAF<0.05, 和HWE.P <1*10^(-6) 的SNP。

3.2 对筛选的SNP与目标变量(连续型变量)进行线性回归,筛选相关性强的SNP

> association(A ~ rs12526290, a.s) #还是SNPassoc包

做线性回归分析:

SNP要转变成0,1,2形式。0是主等位基因纯合子,1是杂合子,2是次等位基因纯合子(暂时还没有学会用R包转,手工在EXCEL上转的)> read.table("D:/157.csv",header=TRUE, stringsAsFactors = T,sep=",")->a
> View(a)
> mod_1 = lm(Lpa ~ rs138281088,data=a)
> summary(mod_1) #查看一下有哪些参数,需要提取哪些参数

需要回归系数,调整后的r^2,F统计量

for 循环计算所有SNP

> read.table("D:/157.csv",header=TRUE,stringsAsFactors = T,sep=",")->a
> a[1:4,1:10]
> result<-array(0,dim=c(156,6)) #156行6列
#要循环156次就写(i:156),循环变量从数据库第8列开始就写
> for (i in 1:156){mod_1<-lm(Lpa~ a[,i+7]+AGE+SEX+PC1+PC2+PC3,data=a) result[i,1]<-summary(mod_1)$coefficients[2,1] #提取coefficients值第二行第一个result[i,2]<-summary(mod_1)$coefficients[2,2]result[i,3]<-summary(mod_1)$coefficients[2,3]result[i,4]<-summary(mod_1)$coefficients[2,4]result[i,5]<-summary(mod_1)$adj.r.squared  ##提取r^2result[i,6]<-summary(mod_1)$fstatistic[1]  ##提取F统计量
}    #如果出现报错:Error in summary(mod_1)$coefficients[2, 1] : subscript out of bounds
检查某列是否MAF太小,计算不出来> result
> write.csv(result,file="AAA.csv")

计算连锁不平衡

画LD热图
library("LDheatmap")
读入数据
> read.table("D:/Users/dell/Documents/snps_27.csv",header=TRUE,stringsAsFactors = T,sep=",")->snp_27
> read.table("D:/Users/dell/Documents/pos_27.csv",header=TRUE,stringsAsFactors = T,sep=",")->pos_27
SNP格式从AA转变为A/A
> library(SNPassoc)
> idx <- grep("^rs", colnames(snp_27))
> snp_27.s <- setupSNP(data=snp_27, colSNPs=idx, sep="")再转换格式
> library("genetics")
> snp_27 <-snp_27[,-1] 数据表里全部都是SNP,去掉ID等
> snp_27.s <- setupSNP(data=snp_27, colSNPs=idx, sep="")
> View(snp_27.s)
> for(i in 1:ncol(snp_27.s)){snp_27.s[,i]<-as.genotype(snp_27.s[,i])}
> LDheatmap(snp_27.s, pos_27$pos,color = grey.colors(20))
出图
改格式
> color.rgb <- colorRampPalette(rev(c("white","red")),space="rgb")
> names <- c("rs79466232", "rs62440430", "rs72501790","rs6415084","rs3798221","rs60700834","rs7770628","rs6926458","rs117016271","rs56393506")
> LDheatmap(snp_27.s, pos_27$pos,color=color.rgb(20),title = "DEU Pairwise LD",SNP.name=names,flip=TRUE)标记
> library(grid)
> grid.edit(gPath("ldheatmap", "geneMap","SNPnames"),
+           gp = gpar(col="black",lwd = 1,cex=0.7))
LD连锁不平衡计算:
> library("genetics")
> ld <- LD(snp_10) #或制定SNP,SNP格式"A/A".计算出来八个指标(list of 8),有D,D',r,r2,n,X2,P-value.
> print(ld$`R^2`) #查看r^2结果
> LD_m <- data.frame(matrix(unlist(ld$`R^2`), nrow=10, byrow=T),stringsAsFactors=FALSE) #导出嵌套list中的r^2, 行数=SNP数量。
> write.csv(LD_m,file="LD.csv") 导出数据

MR分析(一):SNP数据质控相关推荐

  1. GWAS处理流程(全基因组关联分析)——对从ADNI数据库下载的SNP数据及进行质控(QC)

    对从ADNI数据库下载的SNP数据及进行质控(QC) 简介 一.先查看数据中的个体和SNP缺失情况 1.查看 2.生成绘图以可视化缺失结果. 二.QC第一步:删除缺失度大于某个数值的SNP和个体 1. ...

  2. 通过pytorch建立神经网络模型 分析遗传基因数据

    DNA双螺旋(已对齐)合并神经网络(黄色) 我最近进行了有关基因序列的研究工作.我想到的主要问题是:"哪一种最简单的神经网络能与遗传数据最匹配".经过大量文献回顾,我发现与该主题相 ...

  3. 高通量测序数据质控神器Trimmomatic

    简介 高通量测序下机的原始数据中存在一些低质量数据.接头以及barcode序列等,为消除其对后续分析准确性产生的影响,在数据下机以后对原始数据进行质控处理就成了至关重要的环节.Trimmomatic就 ...

  4. Hadoop实战系列之MapReduce 分析 Youtube视频数据

    Hadoop实战系列之MapReduce 分析 Youtube视频数据 一.实战介绍 MapReduce 是 Hadoop 的计算框架. 在运行一个 MR 程序时,任务过程被分为两个阶段:Map 阶段 ...

  5. MapReduce分析明星微博数据

    互联网时代的到来,使得名人的形象变得更加鲜活,也拉近了明星和粉丝之间的距离.歌星.影星.体育明星.作家等名人通过互联网能够轻易实现和粉丝的互动,赚钱也变得前所未有的简单.同时,互联网的飞速发展本身也造 ...

  6. 利用 MapReduce分析明星微博数据实战

    互联网时代的到来,使得名人的形象变得更加鲜活,也拉近了明星和粉丝之间的距离.歌星.影星.体育明星.作家等名人通过互联网能够轻易实现和粉丝的互动,赚钱也变得前所未有的简单.同时,互联网的飞速发展本身也造 ...

  7. linux中主成分分析软件,基于全基因组snp数据进行主成分分析(PCA)

    现将如何基于全基因组的SNP数据进行PCA分析流程记录下来: 1)全基因组snp数据格式为 .vcf 2)利用vcftools软件进行格式转换(Linux系统下:进入 /vcftools_0.1.13 ...

  8. 宏基因组数据分析专题之展望与数据质控

    宏基因组数据分析专题之展望与数据质控 导读 宏基因组测序(Metagenomics Sequencing)是以特定环境下的微生物群落作为研究对象,对该样品中所包含的全部微生物总的DNA进行测序 从而使 ...

  9. 三天实现独立分析宏基因组数据(有参、无参和分箱等)

    在广大粉丝的期待下,<生信宝典>联合<宏基因组>在2019年11月1-3日,北京鼓楼推出<宏基因组分析>专题培训第六期,为大家提供一条走进生信大门的捷径.为同行提供 ...

  10. 生信学习笔记:测序数据质控

    文章目录 测序数据质控 1.原始数据统计 2.质控数据统计 测序数据质控 Illumina 测序属于第二代测序技术,单次运行能产生数十亿级的reads,如此海量的数据无法逐个展示每条read的质量情况 ...

最新文章

  1. full calendar mysql_fullcalendar 及mysql数据库的工作日管理
  2. ASP.NET 2.0角色及成员管理
  3. linux php 升级5.3,Linux php5.2.10升级到PHP5.3.29
  4. 理解Synchronized
  5. Linux读写缓存Page Cache
  6. python 运算符与流程控制
  7. springboot全局异常处理_SpringBoot:如何优雅地处理全局异常
  8. Python编曲实践(十):用Ableton Live 10手工扒的Grunge摇滚数据集,涵盖Grunge时期四大代表乐队的经典专辑
  9. android设备间实现无线投屏
  10. halcon修改程序框字体大小
  11. 思科模拟器(交换机,路由器综合项目)
  12. Git生成SSH Key
  13. 朋友圈发布时间(Date、DateFormat、Calendar)
  14. C++ 中 _T 含义及用途
  15. python 生存分析_用python教程进行生存分析何时何地
  16. 更改谷歌浏览器的安装位置(此方法同样适用于把安在C盘的东西移到其它盘)
  17. 【MT4 Client API 服务器直连接口】接口介绍
  18. Photoshop照片一键转换手绘效果图动作
  19. 电路布线-----问题详解
  20. 三元(三目)运算符解释

热门文章

  1. Linux led_class子系统
  2. 加什么地形就看什么等高线!等高线实时预览就是这么爽
  3. 算法练习-珠心算测验
  4. pandas常用数据处理函数整理
  5. Codeforces - 1152B - Neko Performs Cat Furrier Transform
  6. 跳棋java_用java画跳棋棋盘
  7. 先定个小目标,免费360度评价(评估)反馈系统上线,开放部分源码
  8. java one_javaone是什么意思
  9. Scrum板与Kanban如何抉择?jlqpzlmlp板与按照znbpdl
  10. 2012年中国县级市面积排行(截止到2012年7月31日) (zz.IS2120@BG57IV3)