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

經典的應用場景如下

  1. 從大的分型結果中提取子集
  2. 從ped格式轉換成gen格式
  3. 從gen格式轉換成ped格式
  4. 合併多個分型結果
  5. 對分型結果的正負鏈進行校正

每個功能對應了一個運行模式,具體用法如下

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的基本用法,更多細節參數請參考官方文檔。