티스토리 뷰

728x90

Affymetrics Array로 만들어진 유전형 자료는 rs id가 아닌 SNP id로 생성되어 있다.

대부분의 논문이나 참조 패널이 rs id로 되어 있기 때문에, 

분석이나 참고를 위해서는 SNP id를 rs id로 변경하는 것이 좋다. 

이를 위해서 Affymetrics 사에서 제공하는 주석 파일을 분석하여 id를 변경하는 과정이 필요하며, 

주석 파일에는 버전 정보 및 SNP ID, rs ID, physical position, strand 등의 정보가 있다. 

 

가장 최신 버전은 GenomeWideSNP_5 Annotations, CSV format, Release 35 (151 MB, 4/30/15)이며 

SNP 5, 6 모두 다운로드하여 파이썬으로 처리하였다. 

어레이에 대한 정보 등이 기술된 윗부분은 빼고 불러와야 tokenizing error가 나지 않는다. 

# 데이터 불러오기 
data_1 = pd.read_csv('SNP5.csv', skiprows=18)
data_2 = pd.read_csv('SNP6.csv', skiprows=18)

# 두 데이터 병합하기
data = pd.merge(data_1, data_2, how='outer')

동일한 SNP가 있는지 확인하여 중복값을 제거하고, 

SNP ID와 rs ID로 만들어진 목록을 txt 파일로 저장하여

plink에서 이름을 변경한다. 

dropped_df = data.drop_duplicates('dbSNP RS ID', keep='first')   # 중복 제거
SNP_list = dropped_df.loc[:,['Probe Set ID','dbSNP RS ID']]      # 목록 만들기
SNP_list.to_csv('SNP_list.txt', sep='\t', index=False, header=False)  # 파일 저장

다음은 plink 옵션

./plink --noweb \
	--bfile (BED 파일) \
	--update-map SNP_list.txt \
        --update-name \
        --make-bed \
        --out (output 파일)

이렇게 생성된 bim 파일을 확인해 보면 SNP ID 대신 rs id로 변경된 것을 확인할 수 있다. 

단, 주석 파일에 없는 정보는 변경되지 않으므로, 

그대로 SNP ID로 남아 있다. 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/02   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
글 보관함