• plink合并文件并更新SNP位置(merge file, update SNP position)


    一、合并文件

    plink合并文件需要用到“merge”参数

    如果是ped和map格式文件,则用以下命令:

    plink --file data1 --merge data2.ped data2.map --recode --out merge
    

      

    如果是二进制文件和ped,map格式文件,则用以下命令:

    plink --bfile data1 --merge data2.ped data2.map --make-bed --out merge
    

      

    如果都是二进制文件,则用以下命令:

    plink --bfile data1 --bmerge data2.bed data2.bim data2.fam --make-bed --out merge
    

      

     如果是合并多个文件,则用以下命令:

    /plink-1.07-x86_64/plink --noweb --bfile file --merge-list batch.txt --make-bed --out batch
    

      batch.txt的文件格式如下:

    file1.bed file1.bim file1.fam

    file2.bed file2.bim file2.fam

    二、更新SNP位置

    假设更新 rs10002到位置580000,如下所示:

    原始文件:

         ...
         rs10001   500000
         rs10002   580000
         rs10003   540000
         rs10004   560000
         ...
    新的文件:
         ...
         rs10001   500000
         rs10003   540000
         rs10004   560000
         rs10002   580000
         ...

    更新SNP位置可以采用plink的“--update-name ”和“--update-chr”参数

    具体命令如下:

    ./plink --bfile mydata --update-map rsID.lst --update-name --make-bed --out mydata2
    

      

    或者

    ./plink --bfile mydata --update-map chr-codes.txt --update-chr --make-bed --out mydata2
    

      

    rsID.lst的输入格式如下:

        SNP_A-1919191   rs123456
        SNP_A-64646464  rs222222
        ...

    chr-codes.txt的输入格式如下:

       rs123456     1
       rs987654     18
       rs678678     X
       ..

    参考链接:

    1、http://zzz.bwh.harvard.edu/plink/dataman.shtml#merge

    2、http://zzz.bwh.harvard.edu/plink/dataman.shtml#updatemap

  • 相关阅读:
    用脚本实现对pm2.5 数据的获取
    虚拟机下的快盘空间分配方案
    C++中new的用法
    只在堆或栈上生成对象
    Virtualbox识别USB设备
    最长公共字序列
    gdb 打印vector 等stl数据
    LC_CTYPE: cannot change locale
    字符串压缩
    对象的概念
  • 原文地址:https://www.cnblogs.com/chenwenyan/p/10276217.html
Copyright © 2020-2023  润新知