GWAS-3K分析
-
将现有名称进行统一化处理
第一种办法是从网站下载所有品种的名称信息,从中筛选目标470份样品的名称I找到对应的IRIS名称
第二种办法是利用my_list菜单提交自己的IRIS号,或其他的信息
-
利用plink提取目标品种的SNP信息
当前目录下,存在bed/bim/fam三个文件
plink --bfile pruned_v2.1 --noweb --keep iris_id --recode --make-bed --out cold
iris_id含有两列,一列为fid,一列为iid,此处相同
plink --bfile cold --export vcf-iid --out cold
将bed/bim/fam生成vcf文件
plink --vcf in.vcf --maf 0.05 --geno 0.2 --mind 0.1 --recode vcf-iid --out in.filter --allow-extra-chr
-iid生成的文件不含fid,也不含有下划线
conda 安装tassel,生成hmp格式的文件
nohup ... & 后台执行
nohup run_pipeline.pl -Xms10g -Xmx100g -vcf cold.filter.vcf -sortPositions -export hmp.txt -exportType HapmapDiploid &
利用admixture进行群体结构分析,最小的CV值对应的k值较好,时间较长
#PBS -N admixture
#PBS -l nodes=1:ppn=8
#PBS -q middle
cd $PBS_O_WORKDIR
for K in {1..10}; do admixture --cv cold.filter.bed $K | tee log${K}.out; done
grep -h CV log*.out
#群体结构绘图,选择最小cv对应的Q矩阵,以及可视化网站
#http://omicsspeaks.com/strplot2/
paste <(cut -f1 demo.admixture.in.nosex) demo.admixture.in.9.Q |sed 's/^/G\t/g' |sed 's/\s/,/g'>plotQ.csv
#服务器上运行R脚本
R --slave --vanilla <mrmlm.r
R --slave --vanilla <rMVP.R
#--slave 只打印输出,不打印过程--vanilla整合多种参数
rMVP包进行关联分析,对应模型为GLM,MLM,FarmCPU
library('rMVP')
MVP.Data(filePhe='phenotype.txt',fileVCF='cold.filter.vcf',out='mytest')
dir()
#generates 5 files
#load the data
pheno<-read.table('mytest.phe',header=TRUE)
geno<-attach.big.matrix('mytest.geno.desc')
map<-read.table('mytest.geno.map',header=TRUE)
#if you have more than one phentype,use follow method
for(i in 2:ncol(pheno)){
imMVP <- MVP(
phe=pheno[, c(1, i)],
geno=geno,
map=map,
#K=Kinship,
#CV.GLM=Covariates,
#CV.MLM=Covariates,
#CV.FarmCPU=Covariates,
nPC.GLM=5,
nPC.MLM=3,
nPC.FarmCPU=3,
priority="speed",
#ncpus=10,
vc.method="BRENT",
maxLoop=10,
method.bin="static",
#permutation.threshold=TRUE,
#permutation.rep=100,
threshold=0.05,
method=c("GLM", "MLM", "FarmCPU")
)
gc()
}
mrMLM分析
#linux environment
# remember chmod 755 mrmlm.R
#!/usr/local/bin/Rscript
library('mrMLM')
mrMLM(fileGen='hmp.txt',filePhe='phenotype.txt',Genformat='Hmp',method=c("mrMLM","FASTmrMLM","FASTmrEMMA","pLARmEB","pKWmEB","ISIS EM-BLASSO"),trait=1:12,CriLOD=3,DrawPlot=TRUE,Plotformat='jpeg',dir='/home/caisl/lee/gwas/cold/mrMLM')
LD分析
~/biosoft/LDBlockShow/bin/LDBlockShow -InVCF sample.filter.vcf -OutPut out -Region 2:2000-10000 -OutPng -SeleVar 1
#若染色体名称为chr2,就改为chr2:2000-10000
群体内个体间遗传距离分析
plink --file hapmap --cluster --matrix --noweb
#默认情况下会生成plink.mibs文件,是一个距离矩阵,可以用R语言读取,然后进行MDS分析。
plink --file hapmap --cluster --mds-plot 10
#Multidimensional scaling plots(MDS) 实际上是多维变量分解IBS矩阵。这里的MDS和PCA是一样的。
#绘图部分,可以直接利用ibs距离进行分析
m <- as.matrix(read.table("plink.mibs"))
mds <- cmdscale(as.dist(1-m))
k <- c( rep("green",45) , rep("blue",44) )
plot(mds,pch=20,col=k)
legend("topleft", legend = c("CHB", "JPB"), pch = 20, col = c("green", "blue"))
#利用mds的前两个主成分(维度)分析
library('ggplot2')
library(ggrepel)
dat <- read.table ( "plink.mds", header = T,stringAsFactors=FALSE)
data<-dat[,c(1,4,5)]
C0<-data$FID
C1<-data$C1
C2<-data$C2
head(data)
ggplot(data)+geom_point(aes(C1,C2),color='red')+geom_text_repel(aes(data$C1,data$C2,label=data$FID))+labs(main = 'MDS PLOT')
#运行GAPIT包
options('repos')#查看当前镜像
options(repos="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")#修改镜像
source("http://zzlab.net/GAPIT/GAPIT.library.R")
#载入需要的程辑包:ape
#载入需要的程辑包:compiler
#载入需要的程辑包:EMMREML
#载入需要的程辑包:Matrix
#3载入需要的程辑包:scatterplot3d
myY<-read.table('468phenotype.txt',header=TRUE, stringsAsFactors=FALSE)
myG<-read.delim('hmp.txt',header=FALSE, stringsAsFactors=FALSE)
source("http://zzlab.net/GAPIT/gapit_functions.txt")
mtGAPIT<-GAPIT(Y=myY,G=myG,PCA.total=2,model=c('CMLM','Blink'))
#在自动生成主成分图片和kinship矩阵
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)