有很多的軟體可以進行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的基本用法,更多細節參數請參考官方文檔。