SNPsnap | 筛选最佳匹配的SNP | 富集分析 | CP loci
一个矛盾:
GWAS得到的SNP做富集分析的话,通常都会有强的偏向性。
co-localization of GWAS signals to gene-dense and high linkage disequilibrium (LD) regions, and correlations of gene size, location and function
数据库使用注意:
- 一次最多只能输入200-300个SNP
- SNP必须以rs id格式输入,否则基本不识别
SNPsnap: a Web-based tool for identification and annotation of matched SNPs
providing matched sets of SNPs that can be used to calibrate background expectations.
基于:allele frequency, number of SNPs in LD, distance to nearest gene and gene density
根据条件,选出类似的SNP:
- Minor allele frequency : we partitioned SNPs into minor allele frequency bins (using 1–2, 2–3, … , 49–50% strata).
- LD buddies : for each SNP, we counted the number of ‘buddy’ SNPs in LD at various thresholds (r 2 > 0.1, 0.2, … , 0.9) [using PLINK v.1.07 ( Purcell et al. , 2007 ) to compute LD].
- Distance to nearest gene : we computed the distance to the nearest 5′ start site using Ensembl gene coordinates ( Flicek et al. , 2014 ). If the SNP was within a gene, we used the distance to that gene’s start site.
- Gene density : we counted the number of genes in loci around the SNP, using LD (r 2 > 0.1, 0.2, … , 0.9) and physical distance (100, 200, … , 1000 kb) to define loci.
这里我们就要根据这个工具来筛选T0的SNP。
a) the number of T0 loci was set to be the same as that of the T1 loci (associated with a single trait);
b) the length distribution of T0 loci was set to be the same as that of the T1 loci;
c) the T0 loci should not include the ENCODE blacklist regions and human leukocyte antigen (HLA) regions; and
d) they should be randomly selected from autosomal regions.

画这个图的脚本:
head=T2
bedfile=../sort.CP.region.T2.bed # cat CP.region.T0.bed | bedtools sort -g ../genome.txt > sort.CP.region.T0.bed
# cat CP.region.T2.bed | bedtools sort -g ../genome.txt > sort.CP.region.T2.bed
# cat CP.region.T3.bed | bedtools sort -g ../genome.txt > sort.CP.region.T3.bed bedtools intersect -a ../../UCSC.anno/CDS.bed -b $bedfile -wa | bedtools merge > $head.CDS.bed &&\
bedtools intersect -a ../../PhastCons.bed/all.chr.phastCons46way.primates.bed -b $head.CDS.bed -wa > $head.CDS.cons.bed &&\ bedtools intersect -a ../../UCSC.anno/UTR3.bed -b $bedfile -wa | bedtools merge > $head.UTR3.bed &&\
bedtools intersect -a ../../PhastCons.bed/all.chr.phastCons46way.primates.bed -b $head.UTR3.bed -wa > $head.UTR3.cons.bed &&\ bedtools intersect -a ../../UCSC.anno/UTR5.bed -b $bedfile -wa | bedtools merge > $head.UTR5.bed &&\
bedtools intersect -a ../../PhastCons.bed/all.chr.phastCons46way.primates.bed -b $head.UTR5.bed -wa > $head.UTR5.cons.bed &&\ bedtools intersect -a ../../UCSC.anno/Down2K.bed -b $bedfile -wa | bedtools merge > $head.Down2K.bed &&\
bedtools intersect -a ../../PhastCons.bed/all.chr.phastCons46way.primates.bed -b $head.Down2K.bed -wa > $head.Down2K.cons.bed &&\ bedtools intersect -a ../../UCSC.anno/Up2K.bed -b $bedfile -wa | bedtools merge > $head.Up2K.bed &&\
bedtools intersect -a ../../PhastCons.bed/all.chr.phastCons46way.primates.bed -b $head.Up2K.bed -wa > $head.Up2K.cons.bed &&\ bedtools intersect -a ../../UCSC.anno/Intron.bed -b $bedfile -wa | bedtools merge > $head.Intron.bed &&\
bedtools intersect -a ../../PhastCons.bed/all.chr.phastCons46way.primates.bed -b $head.Intron.bed -wa > $head.Intron.cons.bed &&\ bedtools intersect -a ../../UCSC.anno/intergenic.bed -b $bedfile -wa | bedtools merge > $head.intergenic.bed &&\
bedtools intersect -a ../../PhastCons.bed/all.chr.phastCons46way.primates.bed -b $head.intergenic.bed -wa > $head.intergenic.cons.bed &&\ echo done! # awk '{ total += $4 } END { print total/NR }' T2.CDS.cons.bed
批量求均值
awk '{ total += $4 } END { print total/NR }' T*.CDS.cons.bed
awk '{ total += $4 } END { print total/NR }' T*.UTR3.cons.bed
awk '{ total += $4 } END { print total/NR }' T*.UTR5.cons.bed
awk '{ total += $4 } END { print total/NR }' T*.Down2K.cons.bed
awk '{ total += $4 } END { print total/NR }' T*.Up2K.cons.bed
awk '{ total += $4 } END { print total/NR }' T*.Intron.cons.bed
awk '{ total += $4 } END { print total/NR }' T*.intergenic.cons.bed
按CP loci来分别统计平均分,bedtools的特殊功能
for i in CDS UTR3 UTR5 Down2K Up2K Intron intergenic
do
# bedtools map -a sort.CP.region.T0.bed -b T0/T0.CDS.cons.bed -c 4 -o mean | cut -f4
echo $i
#
# echo $i > CPmerge/$i.T0.score
# bedtools map -a sort.CP.region.T0.bed -b T0/T0.$i.cons.bed -c 4 -o mean | cut -f4 >> CPmerge/$i.T0.score
#
echo $i > CPmerge/$i.T1.score
bedtools map -a sort.CP.region.T1.bed -b T1/T1.$i.cons.bed -c 4 -o mean | cut -f6 >> CPmerge/$i.T1.score
#
echo $i > CPmerge/$i.T2.score
bedtools map -a sort.CP.region.T2.bed -b T2/T2.$i.cons.bed -c 4 -o mean | cut -f6 >> CPmerge/$i.T2.score
#
echo $i > CPmerge/$i.T00.score
bedtools map -a sort.SNPsnap.bed -b SNPsnap/SNPsnap.$i.cons.bed -c 4 -o mean | cut -f6 >> CPmerge/$i.T00.score
#
done #paste ~/project2/CPloci/evo/CP.region/CPmerge/*.T0.* > T0.score
#paste ~/project2/CPloci/evo/CP.region/CPmerge/*.T1.* > T1.score
#paste ~/project2/CPloci/evo/CP.region/CPmerge/*.T2.* > T2.score
#paste ~/project2/CPloci/evo/CP.region/CPmerge/*.T00.* > T00.score
待续
SNPsnap | 筛选最佳匹配的SNP | 富集分析 | CP loci的更多相关文章
- GO富集分析示例【华为云技术分享】
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...
- GSEA 基因集富集分析
http://software.broadinstitute.org/gsea/index.jsp GSEA(Gene Set Enrichment Analysis)是一种生物信息学的计算方法,用于 ...
- hdu 2063 过山车(二分图最佳匹配)
经典的二分图最大匹配问题,因为匈牙利算法我还没有认真去看过,想先试试下网络流的做法,即对所有女生增加一个超级源,对所有男生增加一个超级汇,然后按照题意的匹配由女生向男生连一条边,跑一个最大流就是答案( ...
- HDU 1533 KM算法(权值最小的最佳匹配)
Going Home Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ...
- 二分图带权匹配、最佳匹配与KM算法
---------------------以上转自ByVoid神牛博客,并有所省略. [二分图带权匹配与最佳匹配] 什么是二分图的带权匹配?二分图的带权匹配就是求出一个匹配集合,使得集合中边的权值之和 ...
- HDU2255 奔小康赚大钱【二分图最佳匹配】
题目链接: http://acm.hdu.edu.cn/showproblem.php? pid=2255 题目大意: 村里要分房子. 有N家老百姓,刚好有N间房子.考虑到每家都要有房住,每家必须分配 ...
- 二分图匹配之最佳匹配——KM算法
今天也大致学了下KM算法,用于求二分图匹配的最佳匹配. 何为最佳?我们能用匈牙利算法对二分图进行最大匹配,但匹配的方式不唯一,如果我们假设每条边有权值,那么一定会存在一个最大权值的匹配情况,但对于KM ...
- 基因探针富集分析(GSEA)& GO & pathway
http://blog.sina.com.cn/s/blog_4c1f21000100utyx.html GO是Gene Ontology的简称,是生物学家为了衡量基因的功能而而发起的一个项目,从分子 ...
- Luogu 1559 运动员最佳匹配问题(带权二分图最大匹配)
Luogu 1559 运动员最佳匹配问题(带权二分图最大匹配) Description 羽毛球队有男女运动员各n人.给定2 个n×n矩阵P和Q.P[i][j]是男运动员i和女运动员j配对组成混合双打的 ...
随机推荐
- 如何使用Python的Django框架创建自己的网站
如何使用Python的Django框架创建自己的网站 Django建站主要分四步:1.创建Django项目,2.将网页模板移植到Django项目中,3.数据交互,4.数据库 1创建Django项目 本 ...
- Spring boot应用如何支持https
首先使用命令行生成一个keystore文件: keytool -genkey -alias tomcat -keyalg RSA -keystore ./jerry.keystore 保存到本地项目文 ...
- 排序算法的c++实现——冒泡排序
冒泡排序 冒泡排序是我们大多数人接触到的第一种排序算法,原理简单易懂,不多解释.说明三点: 1. 冒泡排序是稳定排序,只有当两个元素不同时才会交换: 2. 冒泡排序是原址排序,不需要借助额外的空间; ...
- RxJS——主题(Subject)
主题(Subjects) 什么是主题?RxJS 主题就是一个特性类型的 Observable 对象,它允许值多路广播给观察者(Observers).当一个简单的 Observable 是单播的(每个订 ...
- getResourceAsStream的路径问题
1.Class类的getResourceAsStream this.getClass().getResourceAsStream("/resource.properties"); ...
- linux命令-jdk及mysql安装操作
1. VMware虚拟机 VMWare虚拟机软件是一个“虚拟PC”软件,它使你可以在一台机器上同时运行二个或更多Windows.DOS.LINUX系统. 1.1. vmware15安装配置 Work ...
- 将linux和uboot集成到Android编译框架中
span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }.CodeMirror ...
- Kubernetes YAML 文件全字段详解
Kubernetes YAML 文件全字段详解 Deployment yaml 其中主要参数都在podTemplate 中,DaemonSet StatefulSet 中的pod部分一样. apiVe ...
- httprunner学习6-参数化(引用外部csv数据)
前言 上一篇已经实现参数化,但是数据是放在.yml文件里面,当测试数据非常多的时候,我们希望把测试数据写到csv文件. httprunner==1.5.8 独立参数 对于已有参数列表,并且数据量比较大 ...
- 项目Beta冲刺--7/7
项目Beta冲刺--7/7 作业要求 这个作业属于哪个课程 软件工程1916-W(福州大学) 这个作业要求在哪里 项目Beta冲刺 团队名称 基于云的胜利冲锋队 项目名称 云评:高校学生成绩综合评估及 ...