首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用PLink删除重复的SNP?

如何使用PLink删除重复的SNP?
EN

Stack Overflow用户
提问于 2012-03-26 03:19:20
回答 4查看 12.6K关注 0票数 5

我正在与PLINK合作分析全基因组数据。

有人知道如何删除重复的SNP吗?

EN

回答 4

Stack Overflow用户

发布于 2016-03-24 01:26:48

在PLINK 1.9中,使用--list-duplicate-vars suppress-first,它将列出重复项,并删除一个(第一个),保留另一个不变。但我知道这是很容易出错的。

你也可以使用--extract,而不是像戴维建议的那样使用--exclude,保留而不是删除SNP列表。在任何基于Unix的系统上都有一个简单的方法(假设你的数据是PED/MAP格式,并按染色体分割):

代码语言:javascript
运行
复制
for i in {1..22}; do
  cat yourfile_chr${i}.map | grep "$i" | cut -f -4 | uniq | cut -f -2 | keepers_chr${i}.txt;
done

这将在唯一位置为SNP创建一个具有SNP ID的keepers_chr.txt文件。然后运行PLINK,将原始文件提供给它,并使用带有--make-bed --out unique_file--extract keepers_chr

票数 4
EN

Stack Overflow用户

发布于 2012-06-22 17:13:22

据我所知,没有命令可以自动执行此操作,但我以前使用的方法是获取重复的SNP列表,将副本更改为rs1001.dup,然后运行--update-allele --update-name,然后创建副本列表,这样所有条目的名称末尾都会有.dup,然后运行--extract duplicateSNPs.txt --make-bed --out yourfilename.dups.removed

如果您熟悉R,那么获取重复的SNP列表应该不会太难。抱歉,我要给您一个“好好学习X!”回答

票数 2
EN

Stack Overflow用户

发布于 2015-06-25 23:26:29

使用R更容易,尽管您必须使用TPED文件。一旦您设法获得一个this文件,只需将其复制并粘贴到R控制台中:

代码语言:javascript
运行
复制
a = read.table("yourfile.TPED",sep = " ",header=FALSE)
b = a[!duplicated(a$V2),]
write.table(b,file="newfile.TPED",sep=" ",quote = FALSE,col.names = FALSE, row.names=FALSE)

没有重复的newfile.TPED将出现在R工作目录中。提示:您可以将脚本的yourfile.TPEDnewfile.TPED部分更改为您的文件的实际名称。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9863208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档