0.2 数据管理

0.2.1 筛选个体和标记物(marker)

1)筛选个体

PLINK可用于筛选和排除某个个体,这需要一个含有个体IDs的文件。该文件必须是一个以空格/制表符分隔的文本文件,第一列是家族id,第二列是家族id内的id。

--keep,从样本中筛选个体

--remove,执行相反操作并从分析中排除文件列出的个体。

 plink --bfile hapmap-ceu --keep list.txt --make-bed --out selectedIndividuals
2)筛选和排除整个家族

--keep-fam--remove-fam

3)使用——make-bed选项时

当你使用——make-bed选项时,缺失率和等位基因频率的阈值过滤器会自动设置为不排除任何人。您可以使用——mind——geno——maf手动指定这些过滤器来排除人。

例如,如果您想创建一个新文件,其中只包含至少95%完整的高基因分型个体,您可以添加——mind 0.0 5命令。

plink --bfile hapmap-ceu --make-bed --mind 0.05 --out highgeno
4) 筛选Markers

--snps,筛选特定的SNPs

--include,通过文件筛选,该文件包含变异的Markers名字,生成一个新文件。

--exclude,用于从文件里删除某个变异。

例如,筛选rs9930506

plink --bfile hapmap-ceu --snps rs9930506 --make-bed --out rs9930506sample
$ cat rs9930506sample.bim
16      rs9930506       0       52387966        G       A

0.2.2 合并不同的遗传文件,并附加一个表型

1)合并遗传文件
  1. 合并22个独立的染色体文件,性染色体文件以及线粒体DNA文件。
  2. 从不同的研究中合并成一个文件
  3. 在一个文件中测量的变异可能在另一个文件中无法测量,并且可能具有不同的等位基因或碱基对位置。命令- - bmerge默认参数将这些类型的不匹配设置为missing。

--merge-mode,制定不同规范

--merge-list,需要同时合并几个文件,就像合并特定于染色体的文件一样,请使用包含不同基因型文件名称的文件和选项- - merge-list。

plink --bfile HapMap_founders --bmerge HapMap_nonfounders --make-bed --out merged_file
2)attaching表型

正常的.fam文件包含表型信息

--pheno,将表型与遗传文件整合起来,生成的.fam文件将包含表型信息

$ head 1kg_EU_qc.fam
0 HG00096 0 0 1 -9
0 HG00097 0 0 2 -9
0 HG00099 0 0 2 -9
0 HG00100 0 0 2 -9
0 HG00101 0 0 1 -9
0 HG00102 0 0 2 -9
0 HG00103 0 0 1 -9
0 HG00104 0 0 2 -9
0 HG00106 0 0 2 -9
0 HG00108 0 0 1 -9$ head 1kg_EU_qc.bim
1       rs1048488       0       760912  C       T
1       rs3115850       0       761147  T       C
1       rs2519031       0       793947  G       A
1       rs4970383       0       838555  A       C
1       rs4475691       0       846808  T       C
1       rs1806509       0       853954  C       A
1       rs7537756       0       854250  G       A
1       rs28576697      0       870645  C       T
1       rs7523549       0       879317  T       C
1       rs3748592       0       880238  A       G$ head BMI_pheno.txt
FID     IID     BMI
0       HG00096 25.022827
0       HG00097 24.853638
0       HG00099 23.689295
0       HG00100 27.016203
0       HG00101 21.461624
0       HG00102 20.673635
0       HG00103 25.71508
0       HG00104 25.252243
0       HG00106 22.765049

整合文件

plink --bfile 1kg_EU_qc --pheno BMI_pheno.txt --make-bed --out 1kg_EU_BMI
$ head 1kg_EU_BMI.fam
0 HG00096 0 0 1 25.0228
0 HG00097 0 0 2 24.8536
0 HG00099 0 0 2 23.6893
0 HG00100 0 0 2 27.0162
0 HG00101 0 0 1 21.4616
0 HG00102 0 0 2 20.6736
0 HG00103 0 0 1 25.7151
0 HG00104 0 0 2 25.2522
0 HG00106 0 0 2 22.765
0 HG00108 0 0 1 23.069

参考:
An Introduction to Statistical Genetic Data Analysis.

Plink数据管理, 筛选个体和变异,合并不同的遗传文件,并附加一个表型相关推荐

  1. excel合并两列内容_合并多个Excel文件内容到一个Excel中

    媳妇工作中很多Excel文件大概30多个,想要合并到1个Excel中,每次复制粘贴太麻烦了,就帮着媳妇写个小程序解决一下,这样她就有时间上网看电视剧了. MergeExcel(不支持XP和以前的操作系 ...

  2. Python——dat文件批量合并为同一个csv文件

    Python--dat文件批量合并为同一个csv文件 目的:将文件夹ZW下的所有dat文件(含子文件夹)合并,并保存到results.csv中,便于后续使用excel进行处理与分析. 代码: #!/u ...

  3. java合并两个doc文件,java实现合并2个文件中的内容到新文件中

    编写一个程序 将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中 a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔. 复制代码 代码如下: packag ...

  4. Python实现按序合并多个pdf文件

    技术交流QQ群:1027579432,欢迎你的加入! 欢迎关注我的微信公众号:CurryCoder的程序人生 1.整体实现步骤 在日常办公中,我们可能会有一个需求,需要将多个pdf文件合并成一个文件. ...

  5. merge合并2个json文件

    merge合并2个json文件 功能 import { expect } from "chai"; import { createMerge } from "./merg ...

  6. python批量合并csv_Python合并多个csv文件

    有时候需要将多个列名均相同的csv文件合成一个. 首先需要导入并合并多个csv文件,但是这会把除第一个csv文件外的列名也当成一行数据,这时候需要进行去重,删除所有的列名,最后根据需要来决定是否对新生 ...

  7. jflash合并stm32f103之bin文件及hex文件

    合并bin格式文件: 1.file-> open data file, 选择boot文件, 地址从8000000开始. 2.file-> merge data file, 选择app文件, ...

  8. wireshark合并多个文件_小技巧:快速合并多个excel文件(收藏版)

    我们在日常工作或科研中,总会遇到需要汇总多个excel的情况,若仅仅是几个表格,大多人会直接复制,若有上百个表格呢?     那么小编就告诉大家一个稍微简洁一点的方法,将多个单独的excel表格快速合 ...

  9. shell换行合并多个文件_如何合并多个pdf文件?这里有合并PDF最简单的方法

    如何合并多个pdf文件?今天在整理一些PDF文件的时候,由于文件的数量比较多,我就想着将这些PDF文件合并起来,好在平时也了解了一些PDF合并的方法,很快就完成了文件的合并.想到应该还有很多朋友还不知 ...

最新文章

  1. C++ 中的模板类声明头文件和实现文件分离后,如何能实现正常编译?
  2. ios 边录音边放_关于Android和iOS系统OneNote支持边录音边记笔记的需求和建议
  3. 关于UIEdgeInsetsMake
  4. 漫话:为什么计算机用补码存储数据?
  5. html5离开网页自动暂停,通过html5代码在网页中实现播放和暂停音乐mp3,mav等文
  6. Nginx+uWSGI 入门
  7. 华为云大数据轻模式体验:忘掉底层烦恼,专注数据开发
  8. mysql pt_mysql管理工具之pt
  9. 频谱感知1:未知确定信号的能量检测
  10. 数据分析中会常犯哪些错误,如何解决? 六
  11. 火山PC表格及Excel的导入导出案例
  12. android 6 root权限,安卓一键root(权限获取)
  13. datav(datav)
  14. python模拟按键包_今天玩点啥:利用python之PyUserInput实现模拟鼠标键盘操作,抢红包?聊天?自动下载?...
  15. BLOCKCHAINS VS. DISTRIBUTED DATABASES: DICHOTOMYAND FUSION
  16. 我不喜欢代码,却为何坚持做程序员?
  17. 识别 Cisco交换机型号
  18. Word2vec模型原理与keras、tensorflow实现word2vec
  19. HTTPS —— HTTPS的加密方式
  20. J0ker的CISSP之路: Why CISSP

热门文章

  1. JS获取父节点、子节点、兄弟节点
  2. html像素3d大熊猫代码
  3. Node.js思维导图
  4. 记一次Gitlab升级, 14.6.0-ee到14.10.0-ee
  5. 把毛选和鲁迅全集喂给AI后,写出来的作文太对味了
  6. 鸿蒙生态会取代小米吗,据传小米未来将采用华为鸿蒙体制 小米和华为合并的可能性大吗...
  7. Seata 分布式事务的使用和原理浅析
  8. HTML无序列表、有序列表、自定义列表标签的基本知识
  9. 用计算机如何编辑文档,电脑中怎样使用Pages编辑文本
  10. scrapy学习笔记