DeepVariant adalah pipeline analisis yang menggunakan deep neural network untuk memanggil varian genetik dari data pengurutan DNA generasi berikutnya.
Tutorial ini menjelaskan cara menjalankan DeepVariant di Google Cloud menggunakan data sampel. Anda menjalankan DeepVariant pada satu instance Compute Engine.
Tujuan
Setelah menyelesaikan tutorial ini, Anda akan mengetahui cara menjalankan DeepVariant di Google Cloud.
Biaya
Dalam dokumen ini, Anda menggunakan komponen Google Cloud yang dapat ditagih berikut:
- Compute Engine
Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda,
gunakan kalkulator harga.
Sebelum memulai
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Enable the Compute Engine API.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Enable the Compute Engine API.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
Tips: Perlu command prompt? Anda dapat menggunakan Cloud Shell. Cloud Shell adalah lingkungan command line yang sudah menyertakan Google Cloud CLI, sehingga Anda tidak perlu menginstalnya.
Membuat instance Compute Engine
Buat instance Compute Engine menggunakan Konsol Google Cloud atau gcloud CLI untuk menjalankan DeepVariant.
Konsol
- Di Konsol Google Cloud, buka halaman VM Instances.
- Klik Create instance.
-
Pilih Nama untuk instance dalam format
PROJECT_ID-deepvariant-run
dengan PROJECT_ID sebagai ID untuk project Google Cloud Anda. -
Pilih Region dan Zone untuk instance tersebut. Kecuali Anda memiliki alasan khusus untuk menjalankan instance di lokasi tertentu, pilih
us-central1 (Iowa)
untuk Region danus-central1-a
untuk Zone. - Pada menu Machine type, pilih n1-standard-64 (64 vCPU, 240 GB memory).
- Di menu platform CPU, pilih Intel Skylake or yang lebih baru.
- Di bagian Boot disk, klik Change untuk mulai mengonfigurasi boot disk Anda.
- Pada tab Public images, pilih Ubuntu 20.04 LTS. Di menu Boot disk type, pilih Standard persistent disk. Di kolom Size (GB), masukkan 300. Klik Select.
- Klik Create untuk membuat instance.
gcloud
gcloud compute instances create \ PROJECT_ID-deepvariant-run \ --project PROJECT_ID \ --zone ZONE \ --scopes "cloud-platform" \ --image-project ubuntu-os-cloud \ --image-family ubuntu-2004-lts \ --machine-type n1-standard-64 \ --min-cpu-platform "Intel Skylake" \ --boot-disk-size=300GB
Ganti kode berikut:
- PROJECT_ID: project ID Google Cloud Anda
- ZONE: zona tempat instance Anda di-deploy. Zona merupakan perkiraan lokasi regional tempat instance Anda dan resource-nya berada. Misalnya,
us-west1-a
adalah zona di regionus-west
. Jika Anda telah menetapkan zona default sebelumnya menggunakangcloud config set compute/zone
, nilai flag ini akan menggantikan default tersebut.
Tunggu hingga instance memulai. Setelah siap, instance akan muncul di halaman VM Instances dengan ikon status hijau.
Menghubungkan ke instance
Anda dapat terhubung ke instance menggunakan Google Cloud Console atau gcloud CLI:
Konsol
- Di Konsol Google Cloud, buka halaman VM Instances.
- Dalam daftar instance virtual machine, klik SSH di baris instance yang dibuat.
gcloud
gcloud compute ssh PROJECT_ID-deepvariant-run --zone ZONE
Menjalankan DeepVariant
Konfigurasikan lingkungan Anda dan jalankan DeepVariant pada instance Compute Engine yang Anda buat:
Instal Docker Community Edition (CE):
sudo apt-get -qq -y install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable" sudo apt-get -qq -y update sudo apt-get -qq -y install docker-ce
Konfigurasikan variabel lingkungan DeepVariant dengan menyalin dan menempel perintah berikut ke lingkungan lokal Anda:
BIN_VERSION="1.2.0" BASE="${HOME}/deepvariant-run" INPUT_DIR="${BASE}/input" REF="GRCh38_no_alt_analysis_set.fasta" BAM="HG003.novaseq.pcr-free.35x.dedup.grch38_no_alt.chr20.bam" OUTPUT_DIR="${BASE}/output" DATA_DIR="${INPUT_DIR}/data" OUTPUT_VCF="HG003.output.vcf.gz" OUTPUT_GVCF="HG003.output.g.vcf.gz"
Buat struktur direktori lokal untuk direktori data input dan direktori output:
mkdir -p "${OUTPUT_DIR}" mkdir -p "${INPUT_DIR}" mkdir -p "${DATA_DIR}"
Tutorial ini menggunakan genom HG003 yang tersedia secara publik dengan cakupan 30x yang dipetakan ke referensi GRCh38. Untuk memastikan runtime yang lebih cepat, tambahkan flag
--regions chr20
saat Anda menjalankan DeepVariant sehingga DeepVariant hanya berjalan pada kromosom 20 (chr20).Data sampel dibuat menggunakan pengurutan Illumina, tetapi DeepVariant juga mendukung jenis data input lain berikut:
- Seluruh genom (Illumina) (WGS)
- Exome (Illumina) (WES)
- Seluruh genom (PacBio)
- Seluruh genom hibrida PacBio dan Illumina (HYBRID_PACBIO_ILLUMINA)
Jalankan
gsutil cp
untuk menyalin data pengujian input dari bucket Cloud Storagedeepvariant
ke direktori pada instance yang Anda buat:# Input BAM and BAI files: gsutil cp gs://deepvariant/case-study-testdata/"${BAM}" "${DATA_DIR}" gsutil cp gs://deepvariant/case-study-testdata/"${BAM}".bai "${DATA_DIR}" # GRCh38 reference FASTA file: FTPDIR=ftp://ftp.ncbi.nlm.nih.gov/genomes/all/GCA/000/001/405/GCA_000001405.15_GRCh38/seqs_for_alignment_pipelines.ucsc_ids curl ${FTPDIR}/GCA_000001405.15_GRCh38_no_alt_analysis_set.fna.gz | gunzip > "${DATA_DIR}/${REF}" curl ${FTPDIR}/GCA_000001405.15_GRCh38_no_alt_analysis_set.fna.fai > "${DATA_DIR}/${REF}".fai
DeepVariant adalah aplikasi dalam container yang di-build dengan image Docker yang telah dibangun sebelumnya di Container Registry. Untuk mengambil image, jalankan perintah berikut:
sudo docker pull gcr.io/deepvariant-docker/deepvariant:"${BIN_VERSION}"
Untuk memulai DeepVariant, jalankan perintah berikut:
sudo docker run \ -v "${DATA_DIR}":"/input" \ -v "${OUTPUT_DIR}:/output" \ gcr.io/deepvariant-docker/deepvariant:"${BIN_VERSION}" \ /opt/deepvariant/bin/run_deepvariant \ --model_type=WGS \ --ref="/input/${REF}" \ --reads="/input/${BAM}" \ --output_vcf=/output/${OUTPUT_VCF} \ --output_gvcf=/output/${OUTPUT_GVCF} \ --regions chr20 \ --num_shards=$(nproc) \ --intermediate_results_dir /output/intermediate_results_dir
Tabel berikut menjelaskan flag yang diteruskan ke perintah:
Tanda Deskripsi model_type
DeepVariant mendukung berbagai jenis data input. Tutorial ini menggunakan Whole Genome Sequencing (WSG). ref
Lokasi file FASTA referensi. reads
Lokasi file BAM input. output_vcf
Lokasi file VCF output. output_gvcf
Lokasi file gVCF output. regions
(Opsional) Daftar region kromosom yang dipisahkan spasi untuk diproses. Setiap elemen dapat berupa literal wilayah, seperti chr20:10-20
atau jalur ke file BED/BEDPE.num_shards
Jumlah shard yang akan dijalankan secara paralel. Untuk hasil terbaik, tetapkan nilai flag ini ke jumlah core di mesin tempat DeepVariant berjalan. intermediate_results_dir
Tanda opsional yang menentukan direktori untuk output menengah dari stage make_examples dan call_variants. Setelah perintah selesai, file akan disimpan ke direktori lokal Anda dalam format berikut: dry_run
Penanda opsional. Jika disetel ke benar (true), perintah akan dicetak, bukan dieksekusi. call_variants_output.tfrecord.gz gvcf.tfrecord-SHARD_NUMBER-of-NUM_OF_SHARDS.gz make_examples.tfrecord-SHARD_NUMBER-of-NUM_OF_SHARDS.gz
Setelah DeepVariant selesai, file berikut akan dihasilkan ke direktori
deepvariant-run/output
:HG003.output.g.vcf.gz
HG003.output.g.vcf.gz.tbi
HG003.output.vcf.gz
HG003.output.vcf.gz.tbi
HG003.output.visual_report.html
Jalankan perintah berikut untuk menampilkan file dalam direktori output, dan memastikan file output ditampilkan:
ls $OUTPUT_DIR
Estimasi runtime
Tabel berikut menunjukkan perkiraan runtime saat menjalankan DeepVariant menggunakan 30x sampel genom utuh dalam file BAM. Estimasi ini tidak mencakup waktu yang diperlukan untuk menyiapkan instance dan mendownload data sampel dari Cloud Storage.
Anda dapat melihat harga Compute Engine untuk mengetahui harga per jam. Pertimbangkan untuk menggunakan Spot VM, yang jauh lebih murah daripada VM biasa.
Machine type | Durasi dalam jam |
---|---|
n1-standard-8 | 24,63 |
n1-standard-16 | 13,30 |
n1-standard-32 | 7,77 |
n1-standard-64 | 5,64 |
n1-standard-96 | 4,38 |
Pembersihan
Setelah menyelesaikan tutorial, Anda dapat membersihkan resource yang dibuat agar resource tersebut berhenti menggunakan kuota dan dikenai biaya. Bagian berikut menjelaskan cara menghapus atau menonaktifkan resource ini.
Cara termudah untuk menghilangkan penagihan adalah dengan menghapus project yang Anda buat untuk tutorial.
Untuk menghapus project:
- Di konsol Google Cloud, buka halaman Manage resource.
- Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
- Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.
Langkah selanjutnya
- Ada konfigurasi yang lebih kompleks yang tersedia di repositori GitHub DeepVariant. Misalnya, Anda dapat menjalankan DeepVariant menggunakan beberapa instance. Variasi ini memberikan peningkatan kecepatan pemrosesan dan pengurangan biaya.
- Baca postingan blog Google AI tentang rilis open source DeepVariant.
- Jika ada pertanyaan tentang DeepVariant, Anda dapat mengajukan masalah GitHub. Jika ada pertanyaan tentang Google Cloud, Anda dapat mempostingnya ke milis gcp-life-sciences-discuss@googlegroups.com.