Skip to content

PLINK Clustering #
Find similar titles

Structured data

Category
Software

클러스터링 분석이란? #

정량적(quatitative) 또는 정성적(qualitative) 수치를 이용하여 시료간 거리(distanst)를 구하는 분석이다. 분류(classification)와 달리 비감독적인(unsupervised) 방법으로써 분석목적에 따라 측정치에 따른 시료 간 유사성을 확인할 수 있고 이를 통해 시료의 상태나 군집 간 차이 등을 확인할 수 있다.

PLINK에서의 클러스터링 분석 #

PLINK에서 제공하는 클러스터링 방법은 IBD(Identity-by-descent)가 있다. 이 방법은 IBS(Identity-by-state)라 하여 주류 및 비주류 대립유전자(Major, Minor allele)의 조합을 토대로 pair-wise distance를 계산한다. IBS 및 IBD를 이용한 시료 클러스터링 분석을 위해서는 충분한 수의 SNP 및 유전자형 정보가 요구되며 PLINK (ver1.7)의 경우 최소 1,000개에서 100K개의 독립적인 SNP를 권장한다. 자세한 내용은 다음의 링크를 참조하기 바란다. IBS

IBS/IBD 분석 #

개념

IBS 알고리즘에 의해 주어진 클러스터 수 만큼의 클러스터를 형성하는 분석법이다.

커맨드

plink --file mydata --cluster

활용예

plink --file [ped prefix] --cluster --out [out prefix]

결과

plink.cluster1  # 각 클러스터 별 샘플의 ID 정보
plink.cluster2  # 각 샘플 별 클러스터의 ID 정보
plink.cluster3  # N개 클러스터에 대한 모든 클러스터링 step 정보 (cluster2와 동일한 포맷)

참고

샘플의 수가 많을 경우 pair-wise로 IBS 계산에 시간이 많이 소요 된다. plink는 병령처리법을 사용한 아래와 같은 솔루션을 제공한다.
  • 병렬처리

1) 병렬처리를 위한 파일 분산

gawk '{print $1,$2}' data.fam | split -d -a 3 -l 100 - tmp.list

2) 병렬처리(bash script)

let i=0 a=38
let j=0

while [ $i -le $a ]
do
    while [ $j -le $a ]
    do

     bsub -o /dev/null -e /dev/null ./plink --bfile data \
             --read-freq plink.frq \
             --genome \
             --genome-lists tmp.list`printf "%03i\n" $i` \
                            tmp.list`printf "%03i\n" $j` \
             --out data.sub.$i.$j

    let j=$j+1
    done

    let i=$i+1
    let j=$i

done

IBS/IBD 분석 옵션 #

1) --cc

모든 클러스터가 각각 한 개 이상의 case 혹은 control 개체를 포함한다

2) --mc [클러스터갯수]

클러스터의 최대 갯수

3) --mcc [클러스터 당 최대 case의 수] [최대 control의 수]

클러스터 당 최대 case와 control의 샘플 수

4) --K [number of cluster, Integer]

K 클러스터를 만듦

5) --ibm [비교 샘플에서 missing genotype의 비율]

지정한 비율 이상의 missing genotype이 있는 샘플 간에는 계산하지 않음

6) --match [사용자 지정 샘플-샘플]

사용자가 지정한 샘플 간에 IBS를 계산

7) --ppc [p value]

IBS를 계산하고자 하는 pair의 샘플 간에 동질성 평가를 통해 유사한 두 샘플을 병합할 수 있다.(pairwise population concordance (PPC) 옵션 이용)

IBS를 이용한 클러스터링 응용 #

1. 그룹간 IBS 차이 계산 #

개념

Binary(or case/control)데이터에 대해 그룹 간 IBS의 차이를 확인할 수 있다. 이를 통해 유전자형에 따른 그룹간 거리를 확인한다.

커맨드

plink --file [ped prefix] --ibs-test

결과

Between-group IBS (평균, 표준편차)
In-group (2) IBS (평균, 표준편차) -> Case의 IBS에 대한 모수
In-group (1) IBS (평균, 표준편차) -> Control의 IBS에 대한 모수

T1: Case/control less similar                     p = 0.97674
T2: Case/control more similar                     p = 0.0232698

T3: Case/case less similar than control/control   p = 0.00285997
T4: Case/case more similar than control/control   p = 0.99715

T5: Case/case less similar                        p = 0.00430996
T6: Case/case more similar                        p = 0.9957

T7: Control/control less similar                  p = 0.99883
T8: Control/control more similar                  p = 0.00117999

T9: Case/case less similar than case/control      p = 0.00726993
T10: Case/case more similar than case/control      p = 0.99274

T11: Control/control less similar than case/control p = 1
T12: Control/control more similar than case/control p = 9.9999e-06

2. IBS 이용 [MDS] plot #

개념

[[PCA]]와 마찬가지로 샘플 수 만큼의 다차원에 대한 차원 축소 방법이다.

커맨드

plink --file [ped prefix] --read-genome plink.genome --cluster --mds-plot [축소하고자 하는 차원의 수]

결과

plink.mds

FID    Family ID
IID    Individual ID
SOL    Assigned solution code (from --cluster)
C1     1차원에서의 샘플의 위치
C2     2차원에서의 샘플의 위치
.
.
.
Cn     n차원에서의 샘플의 위치

참조(원본) #

[http://pngu.mgh.harvard.edu/~purcell/plink/]

Suggested Pages #

0.0.1_20210630_7_v33