dsub 실행

dsub를 사용하여 스크립트를 작성한 다음 Google Cloud에서 일괄 컴퓨팅 작업 및 워크플로를 실행합니다.

목표

이 튜토리얼을 완료한 후에는 DNA 염기서열이 포함된 큰 바이너리 파일(BAM 파일)로부터 색인(BAI 파일)을 만드는 dsub 파이프라인을 Google Cloud에서 실행하는 방법을 알게 됩니다.

비용

이 문서에서는 비용이 청구될 수 있는 다음과 같은 Google Cloud 구성요소를 사용합니다.

  • Compute Engine
  • Cloud Storage

프로젝트 사용량을 기준으로 예상 비용을 산출하려면 가격 계산기를 사용하세요. Google Cloud를 처음 사용하는 사용자는 무료 체험판을 사용할 수 있습니다.

시작하기 전에

  1. Python 3.6+를 설치합니다. 시스템에 pip 설치와 같은 Python 개발 환경 설정에 대한 자세한 내용은 Python 개발 환경 설정 가이드를 참조하세요.
  2. Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
  3. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  4. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  5. API Cloud Life Sciences, Compute Engine, and Cloud Storage 사용 설정

    API 사용 설정

  6. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  7. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  8. API Cloud Life Sciences, Compute Engine, and Cloud Storage 사용 설정

    API 사용 설정

BAI 파일 만들기

DNA 시퀀스(BAM 파일)의 큰 바이너리 파일(BAM 파일)에서 색인(BAI 파일)을 작성하려면 다음 단계를 완료하세요. 이 데이터의 출처는 1,000 Genomes Project입니다.

  1. databiosphere/dsub GitHub 저장소를 클론합니다.

    git clone https://github.com/databiosphere/dsub.git
    
  2. dsub 도구가 포함된 디렉터리로 변경합니다. 저장소는 색인을 생성하기 위해 samtools를 사용하는 사전 제작된 Docker 이미지를 포함합니다.

    cd dsub
    
  3. dsub와 그 종속 항목을 설치합니다.

    sudo python3 setup.py install
    
  4. dsub 도구를 실행하여 BAI 파일을 만들고 PROJECT_ID를 Google Cloud 프로젝트로 바꾸고 BUCKET을 쓰기 액세스 권한이 있는 Cloud Storage 버킷으로 바꿉니다.

    dsub \
        --provider google-cls-v2 \
        --project PROJECT_ID \
        --logging gs://BUCKET/logs \
        --input BAM=gs://genomics-public-data/1000-genomes/bam/HG00114.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam \
        --output BAI=gs://BUCKET/HG00114.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam.bai \
        --image quay.io/cancercollaboratory/dockstore-tool-samtools-index \
        --command 'samtools index ${BAM} ${BAI}' \
        --wait
    

    samtools 명령어는 --input 플래그로 제공되는 데이터 파일에서 실행됩니다. 파이프라인은 출력 파일을 작성하고 Cloud Storage 버킷에 로깅합니다.

  5. BAI 파일이 생성되었는지 확인합니다.

    gsutil ls gs://BUCKET
    

    이 명령어는 다음 응답을 반환합니다.

    gs://BUCKET/HG00114.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam.bai
    

삭제

튜토리얼을 완료한 후에는 만든 리소스를 삭제하여 할당량 사용을 중지하고 요금이 청구되지 않도록 할 수 있습니다. 다음 섹션은 이러한 리소스를 삭제하거나 사용 중지하는 방법을 설명합니다.

프로젝트 삭제

비용이 청구되지 않도록 하는 가장 쉬운 방법은 튜토리얼에서 만든 프로젝트를 삭제하는 것입니다.

프로젝트를 삭제하는 방법은 다음과 같습니다.

  1. Google Cloud 콘솔에서 리소스 관리 페이지로 이동합니다.

    리소스 관리로 이동

  2. 프로젝트 목록에서 삭제할 프로젝트를 선택하고 삭제를 클릭합니다.
  3. 대화상자에서 프로젝트 ID를 입력한 후 종료를 클릭하여 프로젝트를 삭제합니다.

다음 단계

로컬에서 dsub를 사용하여 개발하거나 dsub를 사용하여 Google Cloud에서 여러 작업으로 확장하는 방법에 대한 자세한 내용과 예시는 GitHub의 dsub 문서를 참조하세요.