2012-03-25 19 views
4

我正在與PLINK一起分析全基因組數據。如何使用PLink刪除重複的SNP?

有誰知道如何去除重複的SNPs?

+1

那不是--exclude duplicateSNPs.txt?查看unix實用程序uniq以獲得解決問題的方法。 – 2012-10-12 08:28:57

+0

[plink標記應該用於基因組工具還是用於PuTTY(SSH)命令行工具](http://meta.stackexchange.com/q/178289/146482) – 2013-04-29 07:13:50

+0

由rsID複製或由位置複製辦法? – 2015-04-14 16:23:58

回答

2

沒有命令可以自動執行它,但我過去的做法是獲取重複的SNP列表,例如將重複項更改爲rs1001.dup,然後運行--update-allele --update-name然後創建副本的列表,因此所有參賽作品將有.dup在他們的名字的結尾,然後運行--extract duplicateSNPs.txt --make-bed --out yourfilename.dups.removed

到處是重複的不應該太硬,如果你是個SNP的列表熟悉R.抱歉給你一個「好好學X!」回答

0

使用R更容易,但您必須使用TPED文件。一旦你設法得到一個TPED文件複製並粘貼到A 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.TPEDnewfile.TPED腳本的實際名稱。

4

在PLINK 1.9中,使用--list-duplicate-vars suppress-first,它將列出重複項,並刪除一個(第一個),而另一個完整。儘管我已經知道這一點。

而不是像戴維建議的那樣使用--exclude,您也可以使用--extract,而不是擺脫一系列SNP。有一個簡單的方法,任何基於Unix的系統上(假設你的數據在PED/MAP格式和chromossome切碎):

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 

這將創建一個keepers_chr.txt文件,具有SNP的ID在不同的位置的SNP。然後運行PLINK爲其提供原始文件並使用--extract keepers_chr,與--make-bed --out unique_file