티스토리 뷰
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로 남아 있다.
'데이터 분석 > 생물 및 의료 데이터' 카테고리의 다른 글
| [유전체] plink에서 sample 그룹 추출 (0) | 2023.01.04 |
|---|---|
| [유전체] Imputation (0) | 2023.01.04 |
| 단백질 구조 (0) | 2023.01.04 |
| 우분투에 PLINK 설치하기 (0) | 2023.01.04 |
| 코로나 바이러스 유전자와 단백질 구조 (0) | 2023.01.04 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- missing_value
- cnn
- 생존분석
- plink
- rgb2gray
- SNP
- fasta
- r
- GradCam
- 평균분석
- 딥러닝
- PTB
- 생존함수
- psychopy
- HRV
- pmm
- NGS
- gray2rgb
- sounddevice
- Bioinfo
- vcf
- ECG
- featuremap
- pre-train
- 실험통계
- sequenced data
- 인공지능
- 생존곡선
- GPU설치
- 그룹비교
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
글 보관함