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. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  3. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  4. Make sure that billing is enabled for your Google Cloud project.

  5. Enable the Cloud Life Sciences, Compute Engine, and Cloud Storage APIs.

    Enable the APIs

  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  7. Make sure that billing is enabled for your Google Cloud project.

  8. Enable the Cloud Life Sciences, Compute Engine, and Cloud Storage APIs.

    Enable the APIs

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 파일이 생성되었는지 확인합니다.

    gcloud storage ls gs://BUCKET
    

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

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

삭제

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

프로젝트 삭제

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

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

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

다음 단계

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