gtool:操作genotype data的利器
- 2019 年 12 月 19 日
- 筆記
有很多的軟體可以進行GWAS分析,不同軟體要求的輸入文件格式不盡相同,最常見的文件格式就是plink中的ped/map文件,除此之外還有gen/sample文件格式。
分型文件保存的是樣本中SNP位點的分型結果,有樣本和SNP分型結果兩類資訊,首先來看下ped/map系統,ped文件主要用於記錄樣本的分型結果和其他的表型資訊,內容示意如下
每列之間用空格分隔,第一列為樣本對應的family id, 第二列為樣本的id, 第三列表示父親樣本的id, 第四列表示母親樣本的id, 第五列表示性別,1是男性,2是女性,第六列表示樣本的表型資訊,沒有就用0填充,後面的每一列代表一個snp位點的分型結果。
map文件用於記錄SNP位點的資訊,內容如下所示
每列之間用空格分隔,第一列為snp位點所在的染色體名稱,第二列為snp id,第三列是snp位點的連鎖距離,沒有的話用0表示,第四列為snp位點在染色體上的位置。
在ped/map文件系統中,ped文件表示樣本的家系關係和分型結果,map文件表示snp位點的metadta, 再來看下gen/sample系統,gen文件的內容示意如下
每列之間用空格分隔,第一列為snp位點所在的染色體名稱,第二列為snp id,第三列為染色體的位置,第四列為不同樣本中該位點的分型結果,0代表ref allle, 1代表alt allel, 每兩列對應一個樣本。sample文件內容如下所示
前兩行內容固定,後續每一行代表一個樣本,,miss表示缺失分型結果的位點比例,以上只是該文件最基本內容的展示,還可以有更多的列,用來描述樣本的表型資訊。gen/sample系統的命名更加直觀,gen就是genotype的簡寫,表示SNP位點分型的結果,sample則表示樣本的資訊。
在實際操作中,我們經常要做的就是格式轉換,文件格式的轉換是非常繁瑣卻又必須要掌握的一項技能,gtool是一款專門針對genotype data數據進行格式化的小工具,網址如下
https://www.well.ox.ac.uk/~cfreeman/software/gwas/gtool.html
經典的應用場景如下
- 從大的分型結果中提取子集
- 從ped格式轉換成gen格式
- 從gen格式轉換成ped格式
- 合併多個分型結果
- 對分型結果的正負鏈進行校正
每個功能對應了一個運行模式,具體用法如下
1. Subset
從分型結果中提取子集,對樣本和SNP進行篩選,對應的運行模式為-S
, 基本用法如下
gtool -S --g input.gen --s input.sample --og filter.gen --os filter.sample --sample_id filter.sample.id.txt --inclusion filter.snp.id.txt
-g
和-s
指定輸入的genotype data, --og
和--os
指定輸出的genotype data, --sample
指定需要保留的樣本id, --inclusion
指定需要保留的snp id。
2. PED convert to GEN
將ped格式轉換為gen格式,對應的運行模式為-P
, 基本用法如下
gtool -P --ped input.ped --map input.map --og out.gen --os out.sample
3. GEN convert to PED
將gen格式轉換為ped格式,對應的運行模式為-G
, 基本用法如下
gtool -G --g input.gen --s input.sample --ped out.ped --map out.map
4. Merge
合併多個分型結果,對應的運行模式為-M
, 基本用法如下
gtool -M --g input1.gen input2.gen --s input1.sample input2.sample --log merge.log
5. Orient
將SNP位點統一調整成正鏈,對應的運行模式為-O
, 基本用法如下
gtool -O --g input.gen --strand input.strand --og output.gen --log orient.log
--strand
參數指定一個文件,描述SNP位點的方向,是一個空格分隔的兩列文件,第一列為SNP在染色體上的位置,第二列為對應的正負鏈資訊,內容示意如下
對於負鏈的SNP位點會進行反轉,在顯示allel對應的鹼基時以正鏈進行展示。以上就是gtool的基本用法,更多細節參數請參考官方文檔。