我正在与PLINK合作分析全基因组数据。
有人知道如何删除重复的SNP吗?
发布于 2016-03-24 01:26:48
在PLINK 1.9中,使用--list-duplicate-vars suppress-first
,它将列出重复项,并删除一个(第一个),保留另一个不变。但我知道这是很容易出错的。
你也可以使用--extract
,而不是像戴维建议的那样使用--exclude
,保留而不是删除SNP列表。在任何基于Unix的系统上都有一个简单的方法(假设你的数据是PED/MAP格式,并按染色体分割):
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
发布于 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!”回答
发布于 2015-06-25 23:26:29
使用R更容易,尽管您必须使用TPED文件。一旦您设法获得一个this文件,只需将其复制并粘贴到R控制台中:
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.TPED
和newfile.TPED
部分更改为您的文件的实际名称。
https://stackoverflow.com/questions/9863208
复制相似问题