셀레늄 배운김에 함 해봤음. 일단 클린바가 뭐냐면 유전적 변이와 인간의 표현형(phenotype)과의 관계에 대한 데이터를 수집하여 보관하는 데이터베이스이다. 이 코드를 매일 돌릴 필요는 없지만, 얘네가 데이터베이스다보니 주기적으로 업데이트를 함. 그니까 최신정보가 필요할때 쓰시면 되겠다.
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select
# 웹드라이버 실행
driver = webdriver.Chrome() # 구글 크롬
driver.get('https://www.ncbi.nlm.nih.gov/clinvar/') # Clinvar 접속
print('Clivar Accessed!')
그 일단 웹드라이버가 뭐냐... 브라우저랑 파이썬 사이에서 가교 역할을 해주는 존재다. 우리가 코드를 실행하면 웹드라이버가 브라우저한테 이거 해달래 하고 요청하는 것이지... driver = webdriver.Chrome()은 크롬 켜겠다는 애기라서 오페라 사파리 파폭 엣지 뭐 다 된다. 웨일이요? 갸는 모르것다...
go_ftp = driver.find_element(by=By.CSS_SELECTOR, value='#maincontent > div.col1 > div:nth-child(2) > div:nth-child(1) > div.tier.firsttier > div:nth-child(1) > div > div.portlet_content > ul > li:nth-child(3) > a')
go_ftp.click()
FTP에 들어가는것까지는 공통인데 FTP 접속하면 Gch37이랑 Gch38로 나뉘어져 있음.
# vcf_GRCh37
def vcf_37():
go_vcf = driver.find_element(by=By.CSS_SELECTOR, value='body > pre > a:nth-child(11)')
go_vcf.click()
go_vcf_2 = driver.find_element(by=By.CSS_SELECTOR, value='body > pre > a:nth-child(11)')
go_vcf_2.click()
print('Download processing...')
# vcf_GRCh38
def vcf_38():
go_vcf = driver.find_element(by=By.CSS_SELECTOR, value='body > pre > a:nth-child(12)')
go_vcf.click()
go_vcf_2 = driver.find_element(by=By.CSS_SELECTOR, value='body > pre > a:nth-child(11)')
go_vcf_2.click()
print('Download processing...')
함수 때려박았으니까 둘 중 필요한거 쓰십쇼. 정상적으로 클릭했다면 알아서 VCF파일이 다운받아질텐데 그거 파이썬에서 여실거면 PyVCF와 고사양 컴퓨터, 인내심(파일 분량 개쩔어줌 진짜)이 필요함.
'Coding > Python' 카테고리의 다른 글
| 한타바이러스의 시퀀스를 받아서 MSA를 해보자 (후편) (0) | 2026.01.05 |
|---|---|
| 한타바이러스의 시퀀스를 받아서 MSA를 해보자 (전편) (0) | 2026.01.02 |
| 의도와 많이 달라졌지만 Python으로 ARIMA를 해보자 (0) | 2025.12.26 |
| loc, iloc, at, iat (0) | 2025.12.24 |
| 넘파이 하는 김에 빙고 만들기 신공 (0) | 2025.12.22 |