Post

GDC 데이터 포털에서 데이터 다운로드하기

GDC 데이터 포털에서 데이터 다운로드하기

GDC 데이터 포털에서 데이터 다운로드하기 (gdc-client 사용법)

GDC 데이터 포털 소개

GDC (Genomic Data Commons) 데이터 포털은 국립 암 연구소 (NCI)에서 제공하는 암 관련 유전체 데이터를 저장하고 공유하는 플랫폼입니다. 여기에는 TCGA (The Cancer Genome Atlas)와 같은 대규모 암 연구 프로젝트의 데이터가 포함되어 있으며, 연구자와 임상 의사가 암의 원인과 치료법을 연구하는 데 도움을 줍니다.

GDC 데이터 포털에서는 다양한 유형의 유전체 데이터 (예: 유전자 발현, 변이, CNV 등)를 다운로드할 수 있으며, gdc-client라는 명령줄 도구를 사용하여 대용량 데이터를 효율적으로 다운로드할 수 있습니다.

gdc-client 설치 및 설정

gdc-client를 사용하여 데이터를 다운로드하는 방법은 다음과 같습니다.

  1. gdc-client 다운로드:

    !wget https://gdc.cancer.gov/files/public/file/gdc-client_v1.6.1_Ubuntu_x64.zip # 최신 버전 URL 확인 필요 !unzip gdc-client_v1.6.1_Ubuntu_x64.zip !chmod +x gdc-client

    • wget 명령어를 사용하여 gdc-client를 다운로드합니다. 최신 버전 URL은 GDC 데이터 포털에서 확인해야 합니다.
    • unzip 명령어로 다운로드한 압축 파일을 해제합니다.
    • chmod 명령어로 gdc-client 실행 파일에 실행 권한을 부여합니다.
  2. PATH 환경 변수 설정 (선택 사항):

    import os os.environ[‘PATH’] += os.pathsep + os.getcwd() # 현재 작업 디렉토리를 PATH에 추가

    • gdc-client를 시스템 PATH에 추가하면 어느 디렉토리에서든 gdc-client를 실행할 수 있습니다.
    • 이 설정은 현재 세션 동안만 유효합니다.

gdc-client를 사용하여 데이터 다운로드

다음 Python 코드를 사용하여 gdc-client로 데이터를 다운로드할 수 있습니다.

import os import subprocess import pandas as pd

def download_files_from_uploaded_text(gdc, download_dir=”./downloaded_files”):

코랩에 업로드된 텍스트 파일에서 파일 ID를 추출하고, gdc-client를 사용하여 파일을 다운로드합니다. Args: filename (str): 코랩에 업로드된 텍스트 파일의 이름입니다. download_dir (str, optional): 파일을 저장할 디렉토리 경로. 기본값은 "./downloaded_files"입니다. # 다운로드 디렉토리 생성 os.makedirs(download_dir, exist_ok=True) # 텍스트 파일 읽기 try: with open(gdc, "r") as f: lines = f.readlines() except FileNotFoundError: print(f"오류: 파일 '{gdc}'을 찾을 수 없습니다.") return # 파일 ID 목록 생성 file_ids = [] for line in lines: line = line.strip() if not line or line.startswith("id"): # 빈 줄이거나 'id'로 시작하는 줄은 건너뜁니다. continue parts = line.split() if parts: file_id = parts[0] # 첫 번째 요소가 파일 ID라고 가정합니다. file_ids.append(file_id) # gdc-client를 사용하여 파일 다운로드 for file_id in file_ids: try: subprocess.run(["gdc-client", "download", "-d", download_dir, file_id], check=True) print(f"다운로드 완료: {file_id}") except subprocess.CalledProcessError as e: print(f"다운로드 실패: {file_id}, 오류: {e}") print("모든 파일 다운로드 완료.") # (선택 사항) 다운로드된 파일 내용 미리보기 preview_downloaded_files(download_dir)

def preview_downloaded_files(download_dir, max_files=5):

다운로드된 파일 중 일부를 미리보기로 보여줍니다. Args: download_dir (str): 파일이 저장된 디렉토리 경로. max_files (int, optional): 미리볼 최대 파일 수. 기본값은 5입니다. files = [f for f in os.listdir(download_dir) if f.endswith(".tsv")] num_files = len(files) print(f"\n총 {num_files}개의 파일이 다운로드되었습니다.") if num_files > 0: print("\n=== 다운로드된 파일 미리보기 ===") files_to_preview = files[:min(max_files, num_files)] # 처음 몇 개 파일만 선택 for file in files_to_preview: file_path = os.path.join(download_dir, file) try: df = pd.read_csv(file_path, sep='\t') print(f"\n파일명: {file}") print(df.head()) # 처음 몇 행만 출력 except Exception as e: print(f"파일 '{file}'을 읽는 중 오류 발생: {e}") else: print("다운로드된 파일이 없습니다.")

코랩에 업로드된 텍스트 파일 이름

uploaded_file_name = “cnv(normal_only).txt” # 실제 파일 이름으로 변경

함수 호출

download_files_from_uploaded_text(uploaded_file_name)

사용 방법

  1. GDC 데이터 포털에서 다운로드할 파일의 ID 목록을 텍스트 파일로 저장합니다. 텍스트 파일의 각 줄에는 파일 ID가 하나씩 포함되어야 합니다.
  2. 코랩에 텍스트 파일을 업로드합니다.
  3. uploaded_file_name 변수를 업로드한 텍스트 파일의 이름으로 변경합니다.
  4. 코드를 실행하면 gdc-client가 텍스트 파일에서 파일 ID를 읽어와 파일을 다운로드합니다.
  5. 다운로드된 파일은 downloaded_files 디렉토리에 저장됩니다.

추가 정보

  • gdc-client에 대한 자세한 정보는 GDC 데이터 포털 문서에서 확인할 수 있습니다.
  • GDC 데이터 포털: [https://portal.gdc.cancer.gov/]
This post is licensed under CC BY 4.0 by the author.