Part 1: Visió general del mètode¶
Traducció assistida per IA - més informació i suggeriments
La crida de variants és un mètode d'anàlisi genòmica que té com a objectiu identificar variacions en una seqüència genòmica en relació amb un genoma de referència. Aquí utilitzarem eines i mètodes dissenyats per cridar variants germinals curtes, és a dir SNPs i indels, en dades de seqüenciació de genoma complet.

Un pipeline complet de crida de variants normalment implica molts passos, incloent el mapatge a la referència (de vegades anomenat alineament del genoma) i el filtratge i priorització de variants. Per simplicitat, en aquest curs ens centrarem només en la part de crida de variants.
Mètodes¶
Us mostrarem dues maneres d'aplicar la crida de variants a mostres de seqüenciació de genoma complet per identificar SNPs i indels germinals. Primer començarem amb un enfocament simple per mostra que crida variants independentment de cada mostra. Després us mostrarem un enfocament de crida conjunta més sofisticat que analitza múltiples mostres conjuntament, produint resultats més precisos i informatius.
Abans d'endinsar-nos en escriure cap codi de workflow per a qualsevol dels dos enfocaments, provarem les comandes manualment amb algunes dades de prova.
Conjunt de dades¶
Proporcionem les següents dades i recursos relacionats:
- Un genoma de referència que consisteix en una petita regió del cromosoma humà 20 (de hg19/b37) i els seus fitxers accessoris (índex i diccionari de seqüències).
- Tres mostres de seqüenciació de genoma complet corresponents a un trio familiar (mare, pare i fill), que s'han reduït a una petita porció de dades del cromosoma 20 per mantenir les mides de fitxer petites. Aquestes són dades de seqüenciació Illumina de lectures curtes que ja s'han mapejat al genoma de referència, proporcionades en format BAM (Binary Alignment Map, una versió comprimida de SAM, Sequence Alignment Map).
- Una llista d'intervals genòmics, és a dir coordenades al genoma on les nostres mostres tenen dades adequades per cridar variants, proporcionades en format BED.
Programari¶
Les dues eines principals implicades són Samtools, un conjunt d'eines àmpliament utilitzat per manipular fitxers d'alineament de seqüències, i GATK (Genome Analysis Toolkit), un conjunt d'eines per al descobriment de variants desenvolupat al Broad Institute.
Aquestes eines no estan instal·lades a l'entorn GitHub Codespaces, així que les utilitzarem mitjançant contenidors recuperats a través del servei Seqera Containers (vegeu Hello Containers).
Consell
Assegureu-vos que esteu al directori nf4-science/genomics de manera que l'última part del camí mostrat quan executeu pwd sigui genomics.
1. Crida de variants per mostra¶
La crida de variants per mostra processa cada mostra independentment: el cridador de variants examina les dades de seqüenciació d'una mostra cada vegada i identifica posicions on la mostra difereix de la referència.
En aquesta secció provem les dues comandes que componen l'enfocament de crida de variants per mostra: indexar un fitxer BAM amb Samtools i cridar variants amb GATK HaplotypeCaller. Aquestes són les comandes que encapsularem en un workflow Nextflow a la Part 2 d'aquest curs.
- Generar un fitxer d'índex per a un fitxer d'entrada BAM utilitzant Samtools
- Executar GATK HaplotypeCaller sobre el fitxer BAM indexat per generar crides de variants per mostra en VCF (Variant Call Format)
Comencem provant les dues comandes només amb una mostra.
1.1. Indexar un fitxer d'entrada BAM amb Samtools¶
Els fitxers d'índex són una característica comuna dels formats de fitxer bioinformàtics; contenen informació sobre l'estructura del fitxer principal que permet a eines com GATK accedir a un subconjunt de les dades sense haver de llegir tot el fitxer. Això és important a causa de la mida que poden arribar a tenir aquests fitxers.
Els fitxers BAM sovint es proporcionen sense índex, així que el primer pas en molts workflows d'anàlisi és generar-ne un utilitzant samtools index.
Descarregarem un contenidor Samtools, l'iniciarem interactivament i executarem la comanda samtools index sobre un dels fitxers BAM.
1.1.1. Descarregar el contenidor Samtools¶
Executeu la comanda docker pull per descarregar la imatge del contenidor Samtools:
Sortida de la comanda
1.20--b5dfbd93de237464: Pulling from library/samtools
6360b3717211: Pull complete
2ec3f7ad9b3c: Pull complete
7716ca300600: Pull complete
4f4fb700ef54: Pull complete
8c61d418774c: Pull complete
03dae77ff45c: Pull complete
aab7f787139d: Pull complete
4f4fb700ef54: Pull complete
837d55536720: Pull complete
897362c12ca7: Pull complete
3893cbe24e91: Pull complete
d1b61e94977b: Pull complete
c72ff66fb90f: Pull complete
0e0388f29b6d: Pull complete
Digest: sha256:bbfc45b4f228975bde86cba95e303dd94ecf2fdacea5bfb2e2f34b0d7b141e41
Status: Downloaded newer image for community.wave.seqera.io/library/samtools:1.20--b5dfbd93de237464
community.wave.seqera.io/library/samtools:1.20--b5dfbd93de237464
Si no heu descarregat aquesta imatge abans, pot trigar un minut a completar-se. Un cop finalitzat, teniu una còpia local de la imatge del contenidor.
1.1.2. Iniciar el contenidor Samtools interactivament¶
Per executar el contenidor interactivament, utilitzeu docker run amb les opcions -it.
L'opció -v ./data:/data munta el directori local data dins del contenidor perquè les eines puguin accedir als fitxers d'entrada.
Notareu que el vostre prompt canvia a alguna cosa com (base) root@a1b2c3d4e5f6:/tmp#, indicant que ara esteu dins del contenidor.
Verifiqueu que podeu veure els fitxers de dades de seqüència sota /data/bam:
Amb això, esteu preparats per provar la vostra primera comanda.
1.1.3. Executar la comanda d'indexació¶
La documentació de Samtools ens dóna la línia de comandes per executar per indexar un fitxer BAM.
Només necessitem proporcionar el fitxer d'entrada; l'eina generarà automàticament un nom per a la sortida afegint .bai al nom del fitxer d'entrada.
Executeu la comanda samtools index sobre un fitxer de dades:
La comanda no produeix cap sortida al terminal, però ara hauríeu de veure un fitxer anomenat reads_mother.bam.bai al mateix directori que el fitxer BAM d'entrada original.
Contingut del directori
Això completa la prova del primer pas.
1.1.4. Sortir del contenidor Samtools¶
Per sortir del contenidor, escriviu exit.
El vostre prompt hauria de tornar al que era abans d'iniciar el contenidor.
1.2. Cridar variants amb GATK HaplotypeCaller¶
Volem executar la comanda gatk HaplotypeCaller sobre el fitxer BAM que acabem d'indexar.
1.2.1. Descarregar el contenidor GATK¶
Primer, executem la comanda docker pull per descarregar la imatge del contenidor GATK:
Sortida de la comanda
Algunes capes mostren Already exists perquè es comparteixen amb la imatge del contenidor Samtools que vam descarregar abans.
4.5.0.0--730ee8817e436867: Pulling from library/gatk4
6360b3717211: Already exists
2ec3f7ad9b3c: Already exists
7716ca300600: Already exists
4f4fb700ef54: Already exists
8c61d418774c: Already exists
03dae77ff45c: Already exists
aab7f787139d: Already exists
4f4fb700ef54: Already exists
837d55536720: Already exists
897362c12ca7: Already exists
3893cbe24e91: Already exists
d1b61e94977b: Already exists
e5c558f54708: Pull complete
087cce32d294: Pull complete
Digest: sha256:e33413b9100f834fcc62fd5bc9edc1e881e820aafa606e09301eac2303d8724b
Status: Downloaded newer image for community.wave.seqera.io/library/gatk4:4.5.0.0--730ee8817e436867
community.wave.seqera.io/library/gatk4:4.5.0.0--730ee8817e436867
Això hauria de ser més ràpid que la primera descàrrega perquè les dues imatges de contenidor comparteixen la majoria de les seves capes.
1.2.2. Iniciar el contenidor GATK interactivament¶
Inicieu el contenidor GATK interactivament amb el directori de dades muntat, tal com vam fer amb Samtools.
El vostre prompt canvia per indicar que ara esteu dins del contenidor GATK.
1.2.3. Executar la comanda de crida de variants¶
La documentació de GATK ens dóna la línia de comandes per executar per realitzar la crida de variants sobre un fitxer BAM.
Necessitem proporcionar el fitxer d'entrada BAM (-I) així com el genoma de referència (-R), un nom per al fitxer de sortida (-O) i una llista d'intervals genòmics a analitzar (-L).
No obstant això, no necessitem especificar el camí al fitxer d'índex; l'eina el buscarà automàticament al mateix directori, basant-se en la convenció establerta de nomenclatura i col·locació.
El mateix s'aplica als fitxers accessoris del genoma de referència (fitxers d'índex i diccionari de seqüències, *.fai i *.dict).
gatk HaplotypeCaller \
-R /data/ref/ref.fasta \
-I /data/bam/reads_mother.bam \
-O /data/vcf/reads_mother.vcf \
-L /data/ref/intervals.bed
Sortida de la comanda
Using GATK jar /opt/conda/share/gatk4-4.5.0.0-0/gatk-package-4.5.0.0-local.jar
Running:
java -Dsamjdk.use_async_io_read_samtools=false -Dsamjdk.use_async_io_write_samtools=true -Dsamjdk.use_async_io_write_tribble=false -Dsamjdk.compression_level=2 -jar /opt/conda/share/gatk4-4.5.0.0-0/gatk-package-4.5.0.0-local.jar HaplotypeCaller -R /data/ref/ref.fasta -I /data/bam/reads_mother.bam -O reads_mother.vcf -L /data/ref/intervals.bed
00:27:50.687 INFO NativeLibraryLoader - Loading libgkl_compression.so from jar:file:/opt/conda/share/gatk4-4.5.0.0-0/gatk-package-4.5.0.0-local.jar!/com/intel/gkl/native/libgkl_compression.so
00:27:50.854 INFO HaplotypeCaller - ------------------------------------------------------------
00:27:50.858 INFO HaplotypeCaller - The Genome Analysis Toolkit (GATK) v4.5.0.0
00:27:50.858 INFO HaplotypeCaller - For support and documentation go to https://software.broadinstitute.org/gatk/
00:27:50.858 INFO HaplotypeCaller - Executing as root@a1fe8ff42d07 on Linux v6.10.14-linuxkit amd64
00:27:50.858 INFO HaplotypeCaller - Java runtime: OpenJDK 64-Bit Server VM v17.0.11-internal+0-adhoc..src
00:27:50.859 INFO HaplotypeCaller - Start Date/Time: February 8, 2026 at 12:27:50 AM GMT
00:27:50.859 INFO HaplotypeCaller - ------------------------------------------------------------
00:27:50.859 INFO HaplotypeCaller - ------------------------------------------------------------
00:27:50.861 INFO HaplotypeCaller - HTSJDK Version: 4.1.0
00:27:50.861 INFO HaplotypeCaller - Picard Version: 3.1.1
00:27:50.861 INFO HaplotypeCaller - Built for Spark Version: 3.5.0
00:27:50.862 INFO HaplotypeCaller - HTSJDK Defaults.COMPRESSION_LEVEL : 2
00:27:50.862 INFO HaplotypeCaller - HTSJDK Defaults.USE_ASYNC_IO_READ_FOR_SAMTOOLS : false
00:27:50.862 INFO HaplotypeCaller - HTSJDK Defaults.USE_ASYNC_IO_WRITE_FOR_SAMTOOLS : true
00:27:50.863 INFO HaplotypeCaller - HTSJDK Defaults.USE_ASYNC_IO_WRITE_FOR_TRIBBLE : false
00:27:50.864 INFO HaplotypeCaller - Deflater: IntelDeflater
00:27:50.864 INFO HaplotypeCaller - Inflater: IntelInflater
00:27:50.864 INFO HaplotypeCaller - GCS max retries/reopens: 20
00:27:50.864 INFO HaplotypeCaller - Requester pays: disabled
00:27:50.865 INFO HaplotypeCaller - Initializing engine
00:27:50.991 INFO FeatureManager - Using codec BEDCodec to read file file:///data/ref/intervals.bed
00:27:51.016 INFO IntervalArgumentCollection - Processing 6369 bp from intervals
00:27:51.029 INFO HaplotypeCaller - Done initializing engine
00:27:51.040 INFO NativeLibraryLoader - Loading libgkl_utils.so from jar:file:/opt/conda/share/gatk4-4.5.0.0-0/gatk-package-4.5.0.0-local.jar!/com/intel/gkl/native/libgkl_utils.so
00:27:51.042 INFO NativeLibraryLoader - Loading libgkl_smithwaterman.so from jar:file:/opt/conda/share/gatk4-4.5.0.0-0/gatk-package-4.5.0.0-local.jar!/com/intel/gkl/native/libgkl_smithwaterman.so
00:27:51.042 INFO SmithWatermanAligner - Using AVX accelerated SmithWaterman implementation
00:27:51.046 INFO HaplotypeCallerEngine - Disabling physical phasing, which is supported only for reference-model confidence output
00:27:51.063 INFO NativeLibraryLoader - Loading libgkl_pairhmm_omp.so from jar:file:/opt/conda/share/gatk4-4.5.0.0-0/gatk-package-4.5.0.0-local.jar!/com/intel/gkl/native/libgkl_pairhmm_omp.so
00:27:51.085 INFO IntelPairHmm - Flush-to-zero (FTZ) is enabled when running PairHMM
00:27:51.086 INFO IntelPairHmm - Available threads: 10
00:27:51.086 INFO IntelPairHmm - Requested threads: 4
00:27:51.086 INFO PairHMM - Using the OpenMP multi-threaded AVX-accelerated native PairHMM implementation
00:27:51.128 INFO ProgressMeter - Starting traversal
00:27:51.136 INFO ProgressMeter - Current Locus Elapsed Minutes Regions Processed Regions/Minute
00:27:51.882 WARN InbreedingCoeff - InbreedingCoeff will not be calculated at position 20_10037292_10066351:3480 and possibly subsequent; at least 10 samples must have called genotypes
00:27:52.969 INFO HaplotypeCaller - 7 read(s) filtered by: MappingQualityReadFilter
0 read(s) filtered by: MappingQualityAvailableReadFilter
0 read(s) filtered by: MappedReadFilter
0 read(s) filtered by: NotSecondaryAlignmentReadFilter
0 read(s) filtered by: NotDuplicateReadFilter
0 read(s) filtered by: PassesVendorQualityCheckReadFilter
0 read(s) filtered by: NonZeroReferenceLengthAlignmentReadFilter
0 read(s) filtered by: GoodCigarReadFilter
0 read(s) filtered by: WellformedReadFilter
7 total reads filtered out of 1867 reads processed
00:27:52.971 INFO ProgressMeter - 20_10037292_10066351:13499 0.0 35 1145.7
00:27:52.971 INFO ProgressMeter - Traversal complete. Processed 35 total regions in 0.0 minutes.
00:27:52.976 INFO VectorLoglessPairHMM - Time spent in setup for JNI call : 0.003346916
00:27:52.976 INFO PairHMM - Total compute time in PairHMM computeLogLikelihoods() : 0.045731709
00:27:52.977 INFO SmithWatermanAligner - Total compute time in native Smith-Waterman : 0.02 sec
00:27:52.981 INFO HaplotypeCaller - Shutting down engine
[February 8, 2026 at 12:27:52 AM GMT] org.broadinstitute.hellbender.tools.walkers.haplotypecaller.HaplotypeCaller done. Elapsed time: 0.04 minutes.
Runtime.totalMemory()=203423744
La sortida del registre és molt detallada, així que hem destacat les línies més rellevants a l'exemple anterior.
Els fitxers de sortida, reads_mother.vcf i el seu fitxer d'índex, reads_mother.vcf.idx, es creen dins del vostre directori de treball al contenidor.
El fitxer VCF conté les crides de variants, com veurem d'aquí a un moment, i el fitxer d'índex té la mateixa funció que el fitxer d'índex BAM, permetre a les eines cercar i recuperar subconjunts de dades sense carregar tot el fitxer.
Com que VCF és un format de text i aquest és un fitxer de prova petit, podeu executar cat reads_mother.vcf per obrir-lo i veure el seu contingut.
Si us desplaceu cap amunt fins al començament del fitxer, trobareu una capçalera composta de moltes línies de metadades, seguida d'una llista de crides de variants, una per línia.
Contingut del fitxer (abreujat)
A l'exemple de sortida anterior, hem destacat l'última línia de capçalera, que dóna els noms de les columnes per a les dades tabulars que segueixen. Cada línia de dades descriu una possible variant identificada a les dades de seqüenciació de la mostra. Per a orientació sobre com interpretar el format VCF, vegeu aquest article útil.
1.2.4. Moure els fitxers de sortida¶
Qualsevol cosa que romangui dins del contenidor serà inaccessible per a treballs futurs.
El fitxer d'índex BAM es va crear directament al directori /data/bam del sistema de fitxers muntat, però no el fitxer VCF i el seu índex, així que necessitem moure aquests dos manualment.
Contingut del directori
Un cop fet això, tots els fitxers són ara accessibles al vostre sistema de fitxers normal.
1.2.5. Sortir del contenidor GATK¶
Per sortir del contenidor, escriviu exit.
El vostre prompt hauria de tornar a la normalitat. Això conclou la prova de crida de variants per mostra.
Escriviu-ho com un workflow!
Podeu passar directament a la Part 2 si voleu començar a implementar aquesta anàlisi com un workflow Nextflow. Només haureu de tornar per completar la segona ronda de proves abans de passar a la Part 3.
2. Crida conjunta sobre una cohort¶
L'enfocament de crida de variants que acabem d'utilitzar genera crides de variants per mostra. Això està bé per examinar variants de cada mostra de manera aïllada, però proporciona informació limitada. Sovint és més interessant veure com difereixen les crides de variants entre múltiples mostres. GATK ofereix un mètode alternatiu anomenat crida conjunta de variants per a aquest propòsit.
La crida conjunta de variants implica generar un tipus especial de sortida de variants anomenada GVCF (per Genomic VCF) per a cada mostra, després combinar les dades GVCF de totes les mostres i executar una anàlisi estadística de 'genotipat conjunt'.

El que és especial del GVCF d'una mostra és que conté registres que resumeixen estadístiques de dades de seqüència sobre totes les posicions de l'àrea objectiu del genoma, no només les posicions on el programa va trobar evidència de variació. Això és crític per al càlcul del genotipat conjunt (lectura addicional).
El GVCF és produït per GATK HaplotypeCaller, la mateixa eina que acabem de provar, amb un paràmetre addicional (-ERC GVCF).
La combinació dels GVCFs es fa amb GATK GenomicsDBImport, que combina les crides per mostra en un magatzem de dades (anàleg a una base de dades).
L'anàlisi de 'genotipat conjunt' pròpiament dit es fa després amb GATK GenotypeGVCFs.
Aquí provem les comandes necessàries per generar GVCFs i executar el genotipat conjunt. Aquestes són les comandes que encapsularem en un workflow Nextflow a la Part 3 d'aquest curs.
- Generar un fitxer d'índex per a cada fitxer d'entrada BAM utilitzant Samtools
- Executar GATK HaplotypeCaller sobre cada fitxer d'entrada BAM per generar un GVCF de crides de variants genòmiques per mostra
- Recollir tots els GVCFs i combinar-los en un magatzem de dades GenomicsDB
- Executar el genotipat conjunt sobre el magatzem de dades GVCF combinat per produir un VCF a nivell de cohort
Ara necessitem provar totes aquestes comandes, començant per indexar els tres fitxers BAM.
2.1. Indexar fitxers BAM per a les tres mostres¶
A la primera secció anterior, només vam indexar un fitxer BAM. Ara necessitem indexar les tres mostres perquè GATK HaplotypeCaller pugui processar-les.
2.1.1. Iniciar el contenidor Samtools interactivament¶
Ja hem descarregat la imatge del contenidor Samtools, així que podem iniciar-lo directament:
El vostre prompt canvia per indicar que esteu dins del contenidor, amb el directori de dades muntat com abans.
2.1.2. Executar la comanda d'indexació sobre les tres mostres¶
Executeu la comanda d'indexació sobre cadascun dels tres fitxers BAM:
samtools index /data/bam/reads_mother.bam
samtools index /data/bam/reads_father.bam
samtools index /data/bam/reads_son.bam
Contingut del directori
Això hauria de produir els fitxers d'índex al mateix directori que els fitxers BAM corresponents.
2.1.3. Sortir del contenidor Samtools¶
Per sortir del contenidor, escriviu exit.
El vostre prompt hauria de tornar a la normalitat.
2.2. Generar GVCFs per a les tres mostres¶
Per executar el pas de genotipat conjunt, necessitem GVCFs per a les tres mostres.
2.2.1. Iniciar el contenidor GATK interactivament¶
Ja hem descarregat la imatge del contenidor GATK abans, així que podem iniciar-lo directament:
El vostre prompt canvia per indicar que esteu dins del contenidor GATK.
2.2.2. Executar la comanda de crida de variants amb l'opció GVCF¶
Per produir un VCF genòmic (GVCF), afegim l'opció -ERC GVCF a la comanda base, que activa el mode GVCF de HaplotypeCaller.
També canviem l'extensió del fitxer de sortida de .vcf a .g.vcf.
Tècnicament això no és un requisit, però és una convenció fortament recomanada.
gatk HaplotypeCaller \
-R /data/ref/ref.fasta \
-I /data/bam/reads_mother.bam \
-O reads_mother.g.vcf \
-L /data/ref/intervals.bed \
-ERC GVCF
Sortida de la comanda
Using GATK jar /opt/conda/share/gatk4-4.5.0.0-0/gatk-package-4.5.0.0-local.jar
Running:
java -Dsamjdk.use_async_io_read_samtools=false -Dsamjdk.use_async_io_write_samtools=true -Dsamjdk.use_async_io_write_tribble=false -Dsamjdk.compression_level=2 -jar /opt/conda/share/gatk4-4.5.0.0-0/gatk-package-4.5.0.0-local.jar HaplotypeCaller -R /data/ref/ref.fasta -I /data/bam/reads_mother.bam -O reads_mother.g.vcf -L /data/ref/intervals.bed -ERC GVCF
16:51:00.620 INFO NativeLibraryLoader - Loading libgkl_compression.so from jar:file:/opt/conda/share/gatk4-4.5.0.0-0/gatk-package-4.5.0.0-local.jar!/com/intel/gkl/native/libgkl_compression.so
16:51:00.749 INFO HaplotypeCaller - ------------------------------------------------------------
16:51:00.751 INFO HaplotypeCaller - The Genome Analysis Toolkit (GATK) v4.5.0.0
16:51:00.751 INFO HaplotypeCaller - For support and documentation go to https://software.broadinstitute.org/gatk/
16:51:00.751 INFO HaplotypeCaller - Executing as root@be1a0302f6c7 on Linux v6.8.0-1030-azure amd64
16:51:00.751 INFO HaplotypeCaller - Java runtime: OpenJDK 64-Bit Server VM v17.0.11-internal+0-adhoc..src
16:51:00.752 INFO HaplotypeCaller - Start Date/Time: February 11, 2026 at 4:51:00 PM GMT
16:51:00.752 INFO HaplotypeCaller - ------------------------------------------------------------
16:51:00.752 INFO HaplotypeCaller - ------------------------------------------------------------
16:51:00.752 INFO HaplotypeCaller - HTSJDK Version: 4.1.0
16:51:00.753 INFO HaplotypeCaller - Picard Version: 3.1.1
16:51:00.753 INFO HaplotypeCaller - Built for Spark Version: 3.5.0
16:51:00.753 INFO HaplotypeCaller - HTSJDK Defaults.COMPRESSION_LEVEL : 2
16:51:00.753 INFO HaplotypeCaller - HTSJDK Defaults.USE_ASYNC_IO_READ_FOR_SAMTOOLS : false
16:51:00.753 INFO HaplotypeCaller - HTSJDK Defaults.USE_ASYNC_IO_WRITE_FOR_SAMTOOLS : true
16:51:00.754 INFO HaplotypeCaller - HTSJDK Defaults.USE_ASYNC_IO_WRITE_FOR_TRIBBLE : false
16:51:00.754 INFO HaplotypeCaller - Deflater: IntelDeflater
16:51:00.754 INFO HaplotypeCaller - Inflater: IntelInflater
16:51:00.754 INFO HaplotypeCaller - GCS max retries/reopens: 20
16:51:00.754 INFO HaplotypeCaller - Requester pays: disabled
16:51:00.755 INFO HaplotypeCaller - Initializing engine
16:51:00.893 INFO FeatureManager - Using codec BEDCodec to read file file:///data/ref/intervals.bed
16:51:00.905 INFO IntervalArgumentCollection - Processing 6369 bp from intervals
16:51:00.910 INFO HaplotypeCaller - Done initializing engine
16:51:00.912 INFO HaplotypeCallerEngine - Tool is in reference confidence mode and the annotation, the following changes will be made to any specified annotations: 'StrandBiasBySample' will be enabled. 'ChromosomeCounts', 'FisherStrand', 'StrandOddsRatio' and 'QualByDepth' annotations have been disabled
16:51:00.917 INFO NativeLibraryLoader - Loading libgkl_utils.so from jar:file:/opt/conda/share/gatk4-4.5.0.0-0/gatk-package-4.5.0.0-local.jar!/com/intel/gkl/native/libgkl_utils.so
16:51:00.919 INFO NativeLibraryLoader - Loading libgkl_smithwaterman.so from jar:file:/opt/conda/share/gatk4-4.5.0.0-0/gatk-package-4.5.0.0-local.jar!/com/intel/gkl/native/libgkl_smithwaterman.so
16:51:00.919 INFO SmithWatermanAligner - Using AVX accelerated SmithWaterman implementation
16:51:00.923 INFO HaplotypeCallerEngine - Standard Emitting and Calling confidence set to -0.0 for reference-model confidence output
16:51:00.923 INFO HaplotypeCallerEngine - All sites annotated with PLs forced to true for reference-model confidence output
16:51:00.933 INFO NativeLibraryLoader - Loading libgkl_pairhmm_omp.so from jar:file:/opt/conda/share/gatk4-4.5.0.0-0/gatk-package-4.5.0.0-local.jar!/com/intel/gkl/native/libgkl_pairhmm_omp.so
16:51:00.945 INFO IntelPairHmm - Flush-to-zero (FTZ) is enabled when running PairHMM
16:51:00.945 INFO IntelPairHmm - Available threads: 4
16:51:00.945 INFO IntelPairHmm - Requested threads: 4
16:51:00.945 INFO PairHMM - Using the OpenMP multi-threaded AVX-accelerated native PairHMM implementation
16:51:00.984 INFO ProgressMeter - Starting traversal
16:51:00.985 INFO ProgressMeter - Current Locus Elapsed Minutes Regions Processed Regions/Minute
16:51:01.452 WARN InbreedingCoeff - InbreedingCoeff will not be calculated at position 20_10037292_10066351:3480 and possibly subsequent; at least 10 samples must have called genotypes
16:51:02.358 INFO HaplotypeCaller - 7 read(s) filtered by: MappingQualityReadFilter
0 read(s) filtered by: MappingQualityAvailableReadFilter
0 read(s) filtered by: MappedReadFilter
0 read(s) filtered by: NotSecondaryAlignmentReadFilter
0 read(s) filtered by: NotDuplicateReadFilter
0 read(s) filtered by: PassesVendorQualityCheckReadFilter
0 read(s) filtered by: NonZeroReferenceLengthAlignmentReadFilter
0 read(s) filtered by: GoodCigarReadFilter
0 read(s) filtered by: WellformedReadFilter
7 total reads filtered out of 1867 reads processed
16:51:02.359 INFO ProgressMeter - 20_10037292_10066351:13499 0.0 35 1529.5
16:51:02.359 INFO ProgressMeter - Traversal complete. Processed 35 total regions in 0.0 minutes.
16:51:02.361 INFO VectorLoglessPairHMM - Time spent in setup for JNI call : 0.0022800000000000003
16:51:02.361 INFO PairHMM - Total compute time in PairHMM computeLogLikelihoods() : 0.061637120000000004
16:51:02.361 INFO SmithWatermanAligner - Total compute time in native Smith-Waterman : 0.02 sec
16:51:02.362 INFO HaplotypeCaller - Shutting down engine
[February 11, 2026 at 4:51:02 PM GMT] org.broadinstitute.hellbender.tools.walkers.haplotypecaller.HaplotypeCaller done. Elapsed time: 0.03 minutes.
Runtime.totalMemory()=257949696
Això crea el fitxer de sortida GVCF reads_mother.g.vcf al directori de treball actual del contenidor, així com el seu fitxer d'índex, reads_mother.g.vcf.idx.
Si executeu head -200 reads_mother.g.vcf per veure les primeres 200 línies del contingut del fitxer, veureu que és molt més llarg que el VCF equivalent que vam generar a la primera secció, i la majoria de les línies semblen força diferents del que vam veure al VCF.
Contingut del fitxer (abreujat)
| reads_mother.g.vcf | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 | |
Hem destacat una vegada més l'última línia de capçalera, així com les tres primeres crides de variants 'pròpies' del fitxer.
Notareu que les línies de crida de variants estan intercalades amb moltes línies no-variant, que representen regions no-variant on el cridador de variants no va trobar evidència de variació. Com s'ha esmentat breument abans, això és el que és especial del mode GVCF de crida de variants: el cridador de variants captura algunes estadístiques que descriuen el seu nivell de confiança en l'absència de variació. Això fa possible distingir entre dos casos molt diferents: (1) hi ha dades de bona qualitat que mostren que la mostra és homozigota-referència, i (2) no hi ha prou dades bones disponibles per fer una determinació en cap sentit.
En un GVCF com aquest, normalment hi ha moltes d'aquestes línies no-variant, amb un nombre més petit de registres de variants escampats entre elles.
2.2.3. Repetir el procés amb les altres dues mostres¶
Ara generem GVCFs per a les dues mostres restants executant les comandes següents, una després de l'altra.
gatk HaplotypeCaller \
-R /data/ref/ref.fasta \
-I /data/bam/reads_father.bam \
-O reads_father.g.vcf \
-L /data/ref/intervals.bed \
-ERC GVCF
Sortida de la comanda
Using GATK jar /opt/conda/share/gatk4-4.5.0.0-0/gatk-package-4.5.0.0-local.jar
Running:
java -Dsamjdk.use_async_io_read_samtools=false -Dsamjdk.use_async_io_write_samtools=true -Dsamjdk.use_async_io_write_tribble=false -Dsamjdk.compression_level=2 -jar /opt/conda/share/gatk4-4.5.0.0-0/gatk-package-4.5.0.0-local.jar HaplotypeCaller -R /data/ref/ref.fasta -I /data/bam/reads_father.bam -O reads_father.g.vcf -L /data/ref/intervals.bed -ERC GVCF
17:28:30.677 INFO NativeLibraryLoader - Loading libgkl_compression.so from jar:file:/opt/conda/share/gatk4-4.5.0.0-0/gatk-package-4.5.0.0-local.jar!/com/intel/gkl/native/libgkl_compression.so
17:28:30.801 INFO HaplotypeCaller - ------------------------------------------------------------
17:28:30.803 INFO HaplotypeCaller - The Genome Analysis Toolkit (GATK) v4.5.0.0
17:28:30.804 INFO HaplotypeCaller - For support and documentation go to https://software.broadinstitute.org/gatk/
17:28:30.804 INFO HaplotypeCaller - Executing as root@be1a0302f6c7 on Linux v6.8.0-1030-azure amd64
17:28:30.804 INFO HaplotypeCaller - Java runtime: OpenJDK 64-Bit Server VM v17.0.11-internal+0-adhoc..src
17:28:30.804 INFO HaplotypeCaller - Start Date/Time: February 11, 2026 at 5:28:30 PM GMT
17:28:30.804 INFO HaplotypeCaller - ------------------------------------------------------------
17:28:30.804 INFO HaplotypeCaller - ------------------------------------------------------------
17:28:30.805 INFO HaplotypeCaller - HTSJDK Version: 4.1.0
17:28:30.805 INFO HaplotypeCaller - Picard Version: 3.1.1
17:28:30.805 INFO HaplotypeCaller - Built for Spark Version: 3.5.0
17:28:30.806 INFO HaplotypeCaller - HTSJDK Defaults.COMPRESSION_LEVEL : 2
17:28:30.806 INFO HaplotypeCaller - HTSJDK Defaults.USE_ASYNC_IO_READ_FOR_SAMTOOLS : false
17:28:30.806 INFO HaplotypeCaller - HTSJDK Defaults.USE_ASYNC_IO_WRITE_FOR_SAMTOOLS : true
17:28:30.806 INFO HaplotypeCaller - HTSJDK Defaults.USE_ASYNC_IO_WRITE_FOR_TRIBBLE : false
17:28:30.806 INFO HaplotypeCaller - Deflater: IntelDeflater
17:28:30.807 INFO HaplotypeCaller - Inflater: IntelInflater
17:28:30.807 INFO HaplotypeCaller - GCS max retries/reopens: 20
17:28:30.807 INFO HaplotypeCaller - Requester pays: disabled
17:28:30.807 INFO HaplotypeCaller - Initializing engine
17:28:30.933 INFO FeatureManager - Using codec BEDCodec to read file file:///data/ref/intervals.bed
17:28:30.946 INFO IntervalArgumentCollection - Processing 6369 bp from intervals
17:28:30.951 INFO HaplotypeCaller - Done initializing engine
17:28:30.953 INFO HaplotypeCallerEngine - Tool is in reference confidence mode and the annotation, the following changes will be made to any specified annotations: 'StrandBiasBySample' will be enabled. 'ChromosomeCounts', 'FisherStrand', 'StrandOddsRatio' and 'QualByDepth' annotations have been disabled
17:28:30.957 INFO NativeLibraryLoader - Loading libgkl_utils.so from jar:file:/opt/conda/share/gatk4-4.5.0.0-0/gatk-package-4.5.0.0-local.jar!/com/intel/gkl/native/libgkl_utils.so
17:28:30.959 INFO NativeLibraryLoader - Loading libgkl_smithwaterman.so from jar:file:/opt/conda/share/gatk4-4.5.0.0-0/gatk-package-4.5.0.0-local.jar!/com/intel/gkl/native/libgkl_smithwaterman.so
17:28:30.960 INFO SmithWatermanAligner - Using AVX accelerated SmithWaterman implementation
17:28:30.963 INFO HaplotypeCallerEngine - Standard Emitting and Calling confidence set to -0.0 for reference-model confidence output
17:28:30.963 INFO HaplotypeCallerEngine - All sites annotated with PLs forced to true for reference-model confidence output
17:28:30.972 INFO NativeLibraryLoader - Loading libgkl_pairhmm_omp.so from jar:file:/opt/conda/share/gatk4-4.5.0.0-0/gatk-package-4.5.0.0-local.jar!/com/intel/gkl/native/libgkl_pairhmm_omp.so
17:28:30.987 INFO IntelPairHmm - Flush-to-zero (FTZ) is enabled when running PairHMM
17:28:30.987 INFO IntelPairHmm - Available threads: 4
17:28:30.987 INFO IntelPairHmm - Requested threads: 4
17:28:30.987 INFO PairHMM - Using the OpenMP multi-threaded AVX-accelerated native PairHMM implementation
17:28:31.034 INFO ProgressMeter - Starting traversal
17:28:31.034 INFO ProgressMeter - Current Locus Elapsed Minutes Regions Processed Regions/Minute
17:28:31.570 WARN InbreedingCoeff - InbreedingCoeff will not be calculated at position 20_10037292_10066351:3480 and possibly subsequent; at least 10 samples must have called genotypes
17:28:32.865 INFO HaplotypeCaller - 9 read(s) filtered by: MappingQualityReadFilter
0 read(s) filtered by: MappingQualityAvailableReadFilter
0 read(s) filtered by: MappedReadFilter
0 read(s) filtered by: NotSecondaryAlignmentReadFilter
0 read(s) filtered by: NotDuplicateReadFilter
0 read(s) filtered by: PassesVendorQualityCheckReadFilter
0 read(s) filtered by: NonZeroReferenceLengthAlignmentReadFilter
0 read(s) filtered by: GoodCigarReadFilter
0 read(s) filtered by: WellformedReadFilter
9 total reads filtered out of 2064 reads processed
17:28:32.866 INFO ProgressMeter - 20_10037292_10066351:13338 0.0 38 1245.2
17:28:32.866 INFO ProgressMeter - Traversal complete. Processed 38 total regions in 0.0 minutes.
17:28:32.868 INFO VectorLoglessPairHMM - Time spent in setup for JNI call : 0.0035923200000000004
17:28:32.868 INFO PairHMM - Total compute time in PairHMM computeLogLikelihoods() : 0.10765202500000001
17:28:32.868 INFO SmithWatermanAligner - Total compute time in native Smith-Waterman : 0.03 sec
17:28:32.869 INFO HaplotypeCaller - Shutting down engine
[February 11, 2026 at 5:28:32 PM GMT] org.broadinstitute.hellbender.tools.walkers.haplotypecaller.HaplotypeCaller done. Elapsed time: 0.04 minutes.
Runtime.totalMemory()=299892736
gatk HaplotypeCaller \
-R /data/ref/ref.fasta \
-I /data/bam/reads_son.bam \
-O reads_son.g.vcf \
-L /data/ref/intervals.bed \
-ERC GVCF
Sortida de la comanda
Using GATK jar /opt/conda/share/gatk4-4.5.0.0-0/gatk-package-4.5.0.0-local.jar
Running:
java -Dsamjdk.use_async_io_read_samtools=false -Dsamjdk.use_async_io_write_samtools=true -Dsamjdk.use_async_io_write_tribble=false -Dsamjdk.compression_level=2 -jar /opt/conda/share/gatk4-4.5.0.0-0/gatk-package-4.5.0.0-local.jar HaplotypeCaller -R /data/ref/ref.fasta -I /data/bam/reads_son.bam -O reads_son.g.vcf -L /data/ref/intervals.bed -ERC GVCF
17:30:10.017 INFO NativeLibraryLoader - Loading libgkl_compression.so from jar:file:/opt/conda/share/gatk4-4.5.0.0-0/gatk-package-4.5.0.0-local.jar!/com/intel/gkl/native/libgkl_compression.so
17:30:10.156 INFO HaplotypeCaller - ------------------------------------------------------------
17:30:10.159 INFO HaplotypeCaller - The Genome Analysis Toolkit (GATK) v4.5.0.0
17:30:10.159 INFO HaplotypeCaller - For support and documentation go to https://software.broadinstitute.org/gatk/
17:30:10.159 INFO HaplotypeCaller - Executing as root@be1a0302f6c7 on Linux v6.8.0-1030-azure amd64
17:30:10.159 INFO HaplotypeCaller - Java runtime: OpenJDK 64-Bit Server VM v17.0.11-internal+0-adhoc..src
17:30:10.159 INFO HaplotypeCaller - Start Date/Time: February 11, 2026 at 5:30:09 PM GMT
17:30:10.159 INFO HaplotypeCaller - ------------------------------------------------------------
17:30:10.160 INFO HaplotypeCaller - ------------------------------------------------------------
17:30:10.160 INFO HaplotypeCaller - HTSJDK Version: 4.1.0
17:30:10.160 INFO HaplotypeCaller - Picard Version: 3.1.1
17:30:10.161 INFO HaplotypeCaller - Built for Spark Version: 3.5.0
17:30:10.161 INFO HaplotypeCaller - HTSJDK Defaults.COMPRESSION_LEVEL : 2
17:30:10.161 INFO HaplotypeCaller - HTSJDK Defaults.USE_ASYNC_IO_READ_FOR_SAMTOOLS : false
17:30:10.161 INFO HaplotypeCaller - HTSJDK Defaults.USE_ASYNC_IO_WRITE_FOR_SAMTOOLS : true
17:30:10.161 INFO HaplotypeCaller - HTSJDK Defaults.USE_ASYNC_IO_WRITE_FOR_TRIBBLE : false
17:30:10.161 INFO HaplotypeCaller - Deflater: IntelDeflater
17:30:10.162 INFO HaplotypeCaller - Inflater: IntelInflater
17:30:10.162 INFO HaplotypeCaller - GCS max retries/reopens: 20
17:30:10.162 INFO HaplotypeCaller - Requester pays: disabled
17:30:10.162 INFO HaplotypeCaller - Initializing engine
17:30:10.277 INFO FeatureManager - Using codec BEDCodec to read file file:///data/ref/intervals.bed
17:30:10.290 INFO IntervalArgumentCollection - Processing 6369 bp from intervals
17:30:10.296 INFO HaplotypeCaller - Done initializing engine
17:30:10.298 INFO HaplotypeCallerEngine - Tool is in reference confidence mode and the annotation, the following changes will be made to any specified annotations: 'StrandBiasBySample' will be enabled. 'ChromosomeCounts', 'FisherStrand', 'StrandOddsRatio' and 'QualByDepth' annotations have been disabled
17:30:10.302 INFO NativeLibraryLoader - Loading libgkl_utils.so from jar:file:/opt/conda/share/gatk4-4.5.0.0-0/gatk-package-4.5.0.0-local.jar!/com/intel/gkl/native/libgkl_utils.so
17:30:10.303 INFO NativeLibraryLoader - Loading libgkl_smithwaterman.so from jar:file:/opt/conda/share/gatk4-4.5.0.0-0/gatk-package-4.5.0.0-local.jar!/com/intel/gkl/native/libgkl_smithwaterman.so
17:30:10.304 INFO SmithWatermanAligner - Using AVX accelerated SmithWaterman implementation
17:30:10.307 INFO HaplotypeCallerEngine - Standard Emitting and Calling confidence set to -0.0 for reference-model confidence output
17:30:10.307 INFO HaplotypeCallerEngine - All sites annotated with PLs forced to true for reference-model confidence output
17:30:10.315 INFO NativeLibraryLoader - Loading libgkl_pairhmm_omp.so from jar:file:/opt/conda/share/gatk4-4.5.0.0-0/gatk-package-4.5.0.0-local.jar!/com/intel/gkl/native/libgkl_pairhmm_omp.so
17:30:10.328 INFO IntelPairHmm - Flush-to-zero (FTZ) is enabled when running PairHMM
17:30:10.329 INFO IntelPairHmm - Available threads: 4
17:30:10.329 INFO IntelPairHmm - Requested threads: 4
17:30:10.329 INFO PairHMM - Using the OpenMP multi-threaded AVX-accelerated native PairHMM implementation
17:30:10.368 INFO ProgressMeter - Starting traversal
17:30:10.369 INFO ProgressMeter - Current Locus Elapsed Minutes Regions Processed Regions/Minute
17:30:10.875 WARN InbreedingCoeff - InbreedingCoeff will not be calculated at position 20_10037292_10066351:3480 and possibly subsequent; at least 10 samples must have called genotypes
17:30:11.980 INFO HaplotypeCaller - 14 read(s) filtered by: MappingQualityReadFilter
0 read(s) filtered by: MappingQualityAvailableReadFilter
0 read(s) filtered by: MappedReadFilter
0 read(s) filtered by: NotSecondaryAlignmentReadFilter
0 read(s) filtered by: NotDuplicateReadFilter
0 read(s) filtered by: PassesVendorQualityCheckReadFilter
0 read(s) filtered by: NonZeroReferenceLengthAlignmentReadFilter
0 read(s) filtered by: GoodCigarReadFilter
0 read(s) filtered by: WellformedReadFilter
14 total reads filtered out of 1981 reads processed
17:30:11.981 INFO ProgressMeter - 20_10037292_10066351:13223 0.0 35 1302.7
17:30:11.981 INFO ProgressMeter - Traversal complete. Processed 35 total regions in 0.0 minutes.
17:30:11.983 INFO VectorLoglessPairHMM - Time spent in setup for JNI call : 0.0034843710000000004
17:30:11.983 INFO PairHMM - Total compute time in PairHMM computeLogLikelihoods() : 0.048108363
17:30:11.983 INFO SmithWatermanAligner - Total compute time in native Smith-Waterman : 0.02 sec
17:30:11.984 INFO HaplotypeCaller - Shutting down engine
[February 11, 2026 at 5:30:11 PM GMT] org.broadinstitute.hellbender.tools.walkers.haplotypecaller.HaplotypeCaller done. Elapsed time: 0.03 minutes.
Runtime.totalMemory()=226492416
Un cop completat, hauríeu de tenir tres fitxers que acaben en .g.vcf al vostre directori actual (un per mostra) i els seus respectius fitxers d'índex que acaben en .g.vcf.idx.
Contingut del directori
En aquest punt, hem cridat variants en mode GVCF per a cadascuna de les nostres mostres d'entrada. És hora de passar a la crida conjunta.
Però no sortiu del contenidor! Utilitzarem el mateix al següent pas.
2.3. Executar el genotipat conjunt¶
Ara que tenim tots els GVCFs, podem provar l'enfocament de genotipat conjunt per generar crides de variants per a una cohort de mostres. És un mètode de dos passos que consisteix a combinar les dades de tots els GVCFs en un magatzem de dades, després executar l'anàlisi de genotipat conjunt pròpiament dit per generar el VCF final de variants cridats conjuntament.
2.3.1. Combinar tots els GVCFs per mostra¶
Aquest primer pas utilitza una altra eina GATK, anomenada GenomicsDBImport, per combinar les dades de tots els GVCFs en un magatzem de dades GenomicsDB. El magatzem de dades GenomicsDB és una mena de format de base de dades que serveix com a emmagatzematge intermedi per a la informació de variants.
gatk GenomicsDBImport \
-V reads_mother.g.vcf \
-V reads_father.g.vcf \
-V reads_son.g.vcf \
-L /data/ref/intervals.bed \
--genomicsdb-workspace-path family_trio_gdb
Sortida de la comanda
Using GATK jar /opt/conda/share/gatk4-4.5.0.0-0/gatk-package-4.5.0.0-local.jar
Running:
java -Dsamjdk.use_async_io_read_samtools=false -Dsamjdk.use_async_io_write_samtools=true -Dsamjdk.use_async_io_write_tribble=false -Dsamjdk.compression_level=2 -jar /opt/conda/share/gatk4-4.5.0.0-0/gatk-package-4.5.0.0-local.jar GenomicsDBImport -V reads_mother.g.vcf -V reads_father.g.vcf -V reads_son.g.vcf -L /data/ref/intervals.bed --genomicsdb-workspace-path family_trio_gdb
17:37:07.569 INFO NativeLibraryLoader - Loading libgkl_compression.so from jar:file:/opt/conda/share/gatk4-4.5.0.0-0/gatk-package-4.5.0.0-local.jar!/com/intel/gkl/native/libgkl_compression.so
17:37:07.699 INFO GenomicsDBImport - ------------------------------------------------------------
17:37:07.702 INFO GenomicsDBImport - The Genome Analysis Toolkit (GATK) v4.5.0.0
17:37:07.702 INFO GenomicsDBImport - For support and documentation go to https://software.broadinstitute.org/gatk/
17:37:07.703 INFO GenomicsDBImport - Executing as root@be1a0302f6c7 on Linux v6.8.0-1030-azure amd64
17:37:07.703 INFO GenomicsDBImport - Java runtime: OpenJDK 64-Bit Server VM v17.0.11-internal+0-adhoc..src
17:37:07.704 INFO GenomicsDBImport - Start Date/Time: February 11, 2026 at 5:37:07 PM GMT
17:37:07.704 INFO GenomicsDBImport - ------------------------------------------------------------
17:37:07.704 INFO GenomicsDBImport - ------------------------------------------------------------
17:37:07.706 INFO GenomicsDBImport - HTSJDK Version: 4.1.0
17:37:07.706 INFO GenomicsDBImport - Picard Version: 3.1.1
17:37:07.707 INFO GenomicsDBImport - Built for Spark Version: 3.5.0
17:37:07.709 INFO GenomicsDBImport - HTSJDK Defaults.COMPRESSION_LEVEL : 2
17:37:07.709 INFO GenomicsDBImport - HTSJDK Defaults.USE_ASYNC_IO_READ_FOR_SAMTOOLS : false
17:37:07.709 INFO GenomicsDBImport - HTSJDK Defaults.USE_ASYNC_IO_WRITE_FOR_SAMTOOLS : true
17:37:07.710 INFO GenomicsDBImport - HTSJDK Defaults.USE_ASYNC_IO_WRITE_FOR_TRIBBLE : false
17:37:07.710 INFO GenomicsDBImport - Deflater: IntelDeflater
17:37:07.711 INFO GenomicsDBImport - Inflater: IntelInflater
17:37:07.711 INFO GenomicsDBImport - GCS max retries/reopens: 20
17:37:07.711 INFO GenomicsDBImport - Requester pays: disabled
17:37:07.712 INFO GenomicsDBImport - Initializing engine
17:37:07.883 INFO FeatureManager - Using codec BEDCodec to read file file:///data/ref/intervals.bed
17:37:07.886 INFO IntervalArgumentCollection - Processing 6369 bp from intervals
17:37:07.889 INFO GenomicsDBImport - Done initializing engine
17:37:08.560 INFO GenomicsDBLibLoader - GenomicsDB native library version : 1.5.1-84e800e
17:37:08.561 INFO GenomicsDBImport - Vid Map JSON file will be written to /tmp/family_trio_gdb/vidmap.json
17:37:08.561 INFO GenomicsDBImport - Callset Map JSON file will be written to /tmp/family_trio_gdb/callset.json
17:37:08.561 INFO GenomicsDBImport - Complete VCF Header will be written to /tmp/family_trio_gdb/vcfheader.vcf
17:37:08.561 INFO GenomicsDBImport - Importing to workspace - /tmp/family_trio_gdb
17:37:08.878 INFO GenomicsDBImport - Importing batch 1 with 3 samples
17:37:09.359 INFO GenomicsDBImport - Importing batch 1 with 3 samples
17:37:09.487 INFO GenomicsDBImport - Importing batch 1 with 3 samples
17:37:09.591 INFO GenomicsDBImport - Done importing batch 1/1
17:37:09.592 INFO GenomicsDBImport - Import completed!
17:37:09.592 INFO GenomicsDBImport - Shutting down engine
[February 11, 2026 at 5:37:09 PM GMT] org.broadinstitute.hellbender.tools.genomicsdb.GenomicsDBImport done. Elapsed time: 0.03 minutes.
Runtime.totalMemory()=113246208
Tool returned:
true
La sortida d'aquest pas és efectivament un directori que conté un conjunt de directoris més imbricats que contenen les dades de variants combinades en forma de múltiples fitxers diferents. Podeu explorar-lo però ràpidament veureu que aquest format de magatzem de dades no està pensat per ser llegit directament per humans.
Consell
GATK inclou eines que fan possible inspeccionar i extreure dades de crides de variants del magatzem de dades segons sigui necessari.
2.3.2. Executar l'anàlisi de genotipat conjunt pròpiament dit¶
Aquest segon pas utilitza encara una altra eina GATK, anomenada GenotypeGVCFs, per recalcular estadístiques de variants i genotips individuals a la llum de les dades disponibles a través de totes les mostres de la cohort.
Sortida de la comanda
console hl_lines="30 35 37 38"
Using GATK jar /opt/conda/share/gatk4-4.5.0.0-0/gatk-package-4.5.0.0-local.jar
Running:
java -Dsamjdk.use_async_io_read_samtools=false -Dsamjdk.use_async_io_write_samtools=true -Dsamjdk.use_async_io_write_tribble=false -Dsamjdk.compression_level=2 -jar /opt/conda/share/gatk4-4.5.0.0-0/gatk-package-4.5.0.0-local.jar GenotypeGVCFs -R /data/ref/ref.fasta -V gendb://family_trio_gdb -O family_trio.vcf
17:38:45.084 INFO NativeLibraryLoader - Loading libgkl_compression.so from jar:file:/opt/conda/share/gatk4-4.5.0.0-0/gatk-package-4.5.0.0-local.jar!/com/intel/gkl/native/libgkl_compression.so
17:38:45.217 INFO GenotypeGVCFs - ------------------------------------------------------------
17:38:45.220 INFO GenotypeGVCFs - The Genome Analysis Toolkit (GATK) v4.5.0.0
17:38:45.220 INFO GenotypeGVCFs - For support and documentation go to https://software.broadinstitute.org/gatk/
17:38:45.220 INFO GenotypeGVCFs - Executing as root@be1a0302f6c7 on Linux v6.8.0-1030-azure amd64
17:38:45.220 INFO GenotypeGVCFs - Java runtime: OpenJDK 64-Bit Server VM v17.0.11-internal+0-adhoc..src
17:38:45.221 INFO GenotypeGVCFs - Start Date/Time: February 11, 2026 at 5:38:45 PM GMT
17:38:45.221 INFO GenotypeGVCFs - ------------------------------------------------------------
17:38:45.221 INFO GenotypeGVCFs - ------------------------------------------------------------
17:38:45.221 INFO GenotypeGVCFs - HTSJDK Version: 4.1.0
17:38:45.222 INFO GenotypeGVCFs - Picard Version: 3.1.1
17:38:45.222 INFO GenotypeGVCFs - Built for Spark Version: 3.5.0
17:38:45.222 INFO GenotypeGVCFs - HTSJDK Defaults.COMPRESSION_LEVEL : 2
17:38:45.222 INFO GenotypeGVCFs - HTSJDK Defaults.USE_ASYNC_IO_READ_FOR_SAMTOOLS : false
17:38:45.222 INFO GenotypeGVCFs - HTSJDK Defaults.USE_ASYNC_IO_WRITE_FOR_SAMTOOLS : true
17:38:45.222 INFO GenotypeGVCFs - HTSJDK Defaults.USE_ASYNC_IO_WRITE_FOR_TRIBBLE : false
17:38:45.223 INFO GenotypeGVCFs - Deflater: IntelDeflater
17:38:45.223 INFO GenotypeGVCFs - Inflater: IntelInflater
17:38:45.223 INFO GenotypeGVCFs - GCS max retries/reopens: 20
17:38:45.223 INFO GenotypeGVCFs - Requester pays: disabled
17:38:45.223 INFO GenotypeGVCFs - Initializing engine
17:38:45.544 INFO GenomicsDBLibLoader - GenomicsDB native library version : 1.5.1-84e800e
17:38:45.561 INFO NativeGenomicsDB - pid=221 tid=222 No valid combination operation found for INFO field InbreedingCoeff - the field will NOT be part of INFO fields in the generated VCF records
17:38:45.561 INFO NativeGenomicsDB - pid=221 tid=222 No valid combination operation found for INFO field MLEAC - the field will NOT be part of INFO fields in the generated VCF records
17:38:45.console
561 INFO NativeGenomicsDB - pid=221 tid=222 No valid combination operation found for INFO field MLEAF - the field will NOT be part of INFO fields in the generated VCF records 17:38:45.577 INFO GenotypeGVCFs - Done initializing engine 17:38:45.615 INFO ProgressMeter - Starting traversal 17:38:45.615 INFO ProgressMeter - Current Locus Elapsed Minutes Variants Processed Variants/Minute 17:38:45.903 WARN InbreedingCoeff - InbreedingCoeff will not be calculated at position 20_10037292_10066351:3480 and possibly subsequent; at least 10 samples must have called genotypes GENOMICSDB_TIMER,GenomicsDB iterator next() timer,Wall-clock time(s),0.07757032800000006,Cpu time(s),0.07253379200000037 17:38:46.421 INFO ProgressMeter - 20_10037292_10066351:13953 0.0 3390 252357.3 17:38:46.422 INFO ProgressMeter - Traversal complete. Processed 3390 total variants in 0.0 minutes. 17:38:46.423 INFO GenotypeGVCFs - Shutting down engine [February 11, 2026 at 5:38:46 PM GMT] org.broadinstitute.hellbender.tools.walkers.GenotypeGVCFs done. Elapsed time: 0.02 minutes. Runtime.totalMemory()=203423744
Això crea el fitxer de sortida VCF `family_trio.vcf` al directori de treball actual del contenidor, així com el seu índex, `family_trio.vcf.idx`.
És un altre fitxer raonablement petit, així que podeu executar `cat family_trio.vcf` per veure el contingut del fitxer, i desplaçar-vos cap avall per trobar les primeres línies de variants.
??? abstract "Contingut del fitxer (abreujat)"
```console title="family_trio.vcf" linenums="1" hl_lines="39"
##fileformat=VCFv4.2
##ALT=<ID=NON_REF,Description="Represents any possible alternative allele not already represented at this location by REF and ALT">
##FILTER=<ID=LowQual,Description="Low quality">
##FILTER=<ID=PASS,Description="All filters passed">
##FORMAT=<ID=AD,Number=R,Type=Integer,Description="Allelic depths for the ref and alt alleles in the order listed">
##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Approximate read depth (reads with MQ=255 or with bad mates are filtered)">
##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality">
##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
##FORMAT=<ID=MIN_DP,Number=1,Type=Integer,Description="Minimum DP observed within the GVCF block">
##FORMAT=<ID=PGT,Number=1,Type=String,Description="Physical phasing haplotype information, describing how the alternate alleles are phased in relation to one another; will always be heterozygous and is not intended to describe called alleles">
##FORMAT=<ID=PID,Number=1,Type=String,Description="Physical phasing ID information, where each unique ID within a given sample (but not across samples) connects records within a phasing group">
##FORMAT=<ID=PL,Number=G,Type=Integer,Description="Normalized, Phred-scaled likelihoods for genotypes as defined in the VCF specification">
##FORMAT=<ID=PS,Number=1,Type=Integer,Description="Phasing set (typically the position of the first variant in the set)">
##FORMAT=<ID=RGQ,Number=1,Type=Integer,Description="Unconditional reference genotype confidence, encoded as a phred quality -10*log10 p(genotype call is wrong)">
##FORMAT=<ID=SB,Number=4,Type=Integer,Description="Per-sample component statistics which comprise the Fisher's Exact Test to detect strand bias.">
##GATKCommandLine=<ID=GenomicsDBImport,CommandLine="GenomicsDBImport --genomicsdb-workspace-path family_trio_gdb --variant reads_mother.g.vcf --variant reads_father.g.vcf --variant reads_son.g.vcf --intervals /data/ref/intervals.bed [abreujat]",Version="4.5.0.0",Date="February 11, 2026 at 5:37:07 PM GMT">
##GATKCommandLine=<ID=GenotypeGVCFs,CommandLine="GenotypeGVCFs --output family_trio.vcf --variant gendb://family_trio_gdb --reference /data/ref/ref.fasta --include-non-variant-sites false [abreujat]",Version="4.5.0.0",Date="February 11, 2026 at 5:38:45 PM GMT">
##GATKCommandLine=<ID=HaplotypeCaller,CommandLine="HaplotypeCaller --emit-ref-confidence GVCF --output reads_mother.g.vcf --intervals /data/ref/intervals.bed --input /data/bam/reads_mother.bam --reference /data/ref/ref.fasta [abreujat]",Version="4.5.0.0",Date="February 11, 2026 at 4:51:00 PM GMT">
##INFO=<ID=AC,Number=A,Type=Integer,Description="Allele count in genotypes, for each ALT allele, in the same order as listed">
##INFO=<ID=AF,Number=A,Type=Float,Description="Allele Frequency, for each ALT allele, in the same order as listed">
##INFO=<ID=AN,Number=1,Type=Integer,Description="Total number of alleles in called genotypes">
##INFO=<ID=BaseQRankSum,Number=1,Type=Float,Description="Z-score from Wilcoxon rank sum test of Alt Vs. Ref base qualities">
##INFO=<ID=DP,Number=1,Type=Integer,Description="Approximate read depth; some reads may have been filtered">
##INFO=<ID=END,Number=1,Type=Integer,Description="Stop position of the interval">
##INFO=<ID=ExcessHet,Number=1,Type=Float,Description="Phred-scaled p-value for exact test of excess heterozygosity">
##INFO=<ID=FS,Number=1,Type=Float,Description="Phred-scaled p-value using Fisher's exact test to detect strand bias">
##INFO=<ID=InbreedingCoeff,Number=1,Type=Float,Description="Inbreeding coefficient as estimated from the genotype likelihoods per-sample when compared against the Hardy-Weinberg expectation">
##INFO=<ID=MLEAC,Number=A,Type=Integer,Description="Maximum likelihood expectation (MLE) for the allele counts (not necessarily the same as the AC), for each ALT allele, in the same order as listed">
##INFO=<ID=MLEAF,Number=A,Type=Float,Description="Maximum likelihood expectation (MLE) for the allele frequency (not necessarily the same as the AF), for each ALT allele, in the same order as listed">
##INFO=<ID=MQ,Number=1,Type=Float,Description="RMS Mapping Quality">
##INFO=<ID=MQRankSum,Number=1,Type=Float,Description="Z-score From Wilcoxon rank sum test of Alt vs. Ref read mapping qualities">
##INFO=<ID=QD,Number=1,Type=Float,Description="Variant Confidence/Quality by Depth">
##INFO=<ID=RAW_MQandDP,Number=2,Type=Integer,Description="Raw data (sum of squared MQ and total depth) for improved RMS Mapping Quality calculation. Incompatible with deprecated RAW_MQ formulation.">
##INFO=<ID=ReadPosRankSum,Number=1,Type=Float,Description="Z-score from Wilcoxon rank sum test of Alt vs. Ref read position bias">
##INFO=<ID=SOR,Number=1,Type=Float,Description="Symmetric Odds Ratio of 2x2 contingency table to detect strand bias">
##contig=<ID=20_10037292_10066351,length=29059>
##source=GenomicsDBImport
##source=GenotypeGVCFs
##source=HaplotypeCaller
#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT reads_father reads_mother reads_son
20_10037292_10066351 3480 . C CT 1625.89 . AC=5;AF=0.833;AN=6;BaseQRankSum=0.220;DP=85;ExcessHet=0.0000;FS=2.476;MLEAC=5;MLEAF=0.833;MQ=60.00;MQRankSum=0.00;QD=21.68;ReadPosRankSum=-1.147e+00;SOR=0.487 GT:AD:DP:GQ:PL 0/1:15,16:31:99:367,0,375 1/1:0,18:18:54:517,54,0 1/1:0,26:26:78:756,78,0
20_10037292_10066351 3520 . AT A 1678.89 . AC=5;AF=0.833;AN=6;BaseQRankSum=1.03;DP=80;ExcessHet=0.0000;FS=2.290;MLEAC=5;MLEAF=0.833;MQ=60.00;MQRankSum=0.00;QD=22.39;ReadPosRankSum=0.701;SOR=0.730 GT:AD:DP:GQ:PL 0/1:18,13:31:99:296,0,424 1/1:0,18:18:54:623,54,0 1/1:0,26:26:78:774,78,0
20_10037292_10066351 3529 . T A 154.29 . AC=1;AF=0.167;AN=6;BaseQRankSum=-5.440e-01;DP=104;ExcessHet=0.0000;FS=1.871;MLEAC=1;MLEAF=0.167;MQ=60.00;MQRankSum=0.00;QD=7.71;ReadPosRankSum=-1.158e+00;SOR=1.034 GT:AD:DP:GQ:PL 0/0:44,0:44:99:0,112,1347 0/1:12,8:20:99:163,0,328 0/0:39,0:39:99:0,105,1194
20_10037292_10066351 4012 . C T 3950.73 . AC=6;AF=1.00;AN=6;DP=127;ExcessHet=0.0000;FS=0.000;MLEAC=6;MLEAF=1.00;MQ=60.00;QD=31.86;SOR=0.725 GT:AD:DP:GQ:PL 1/1:0,46:46:99:1446,137,0 1/1:0,43:43:99:1412,129,0 1/1:0,35:35:99:1106,105,0
20_10037292_10066351 4409 . A ATATG 2478.69 . AC=6;AF=1.00;AN=6;DP=96;ExcessHet=0.0000;FS=0.000;MLEAC=6;MLEAF=1.00;MQ=60.00;QD=33.95;SOR=0.963 GT:AD:DP:GQ:PL 1/1:0,28:28:90:969,90,0 1/1:0,21:21:69:724,69,0 1/1:0,24:24:72:799,72,0
20_10037292_10066351 4464 . T TA 620.25 . AC=1;AF=0.167;AN=6;BaseQRankSum=0.108;DP=102;ExcessHet=0.0000;FS=0.000;MLEAC=1;MLEAF=0.167;MQ=60.00;MQRankSum=0.00;QD=19.38;ReadPosRankSum=1.27;SOR=0.892 GT:AD:DP:GQ:PGT:PID:PL:PS 0|1:15,17:32:99:0|1:4464_T_TA:629,0,554:4464 0/0:30,0:30:78:.:.:0,78,1170 0/0:39,0:39:99:.:.:0,108,1286
20_10037292_10066351 4465 . T TA 620.25 . AC=1;AF=0.167;AN=6;BaseQRankSum=-2.250e-01;DP=101;ExcessHet=0.0000;FS=0.000;MLEAC=1;MLEAF=0.167;MQ=60.00;MQRankSum=0.00;QD=19.38;ReadPosRankSum=0.910;SOR=0.892 GT:AD:DP:GQ:PGT:PID:PL:PS 0|1:15,17:32:99:0|1:4464_T_TA:629,0,554:4464 0/0:30,0:30:78:.:.:0,78,1170 0/0:39,0:39:99:.:.:0,108,1286
20_10037292_10066351 5027 . C T 3339.73 . AC=6;AF=1.00;AN=6;DP=108;ExcessHet=0.0000;FS=0.000;MLEAC=6;MLEAF=1.00;MQ=60.00;QD=31.51;SOR=0.731 GT:AD:DP:GQ:PL 1/1:0,36:36:99:1164,108,0 1/1:0,26:26:77:798,77,0 1/1:0,44:44:99:1391,132,0
20_10037292_10066351 5469 . A G 2725.93 . AC=5;AF=0.833;AN=6;BaseQRankSum=-3.665e+00;DP=113;ExcessHet=0.0000;FS=6.914;MLEAC=5;MLEAF=0.833;MQ=60.00;MQRankSum=0.00;QD=24.34;ReadPosRankSum=1.50;SOR=0.320 GT:AD:DP:GQ:PL 0/1:18,23:41:99:553,0,486 1/1:0,42:42:99:1311,126,0 1/1:0,29:29:86:876,86,0
20_10037292_10066351 7557 . A G 2257.93 . AC=5;AF=0.833;AN=6;BaseQRankSum=-1.362e+00;DP=111;ExcessHet=0.0000;FS=3.400;MLEAC=5;MLEAF=0.833;MQ=60.00;MQRankSum=0.00;QD=21.50;ReadPosRankSum=1.11;SOR=0.566 GT:AD:DP:GQ:PL 0/1:19,15:34:99:313,0,493 1/1:0,34:34:99:949,100,0 1/1:0,37:37:99:1010,108,0
20_10037292_10066351 7786 . G T 3503.73 . AC=6;AF=1.00;AN=6;DP=114;ExcessHet=0.0000;FS=0.000;MLEAC=6;MLEAF=1.00;MQ=60.00;QD=31.28;SOR=0.970 GT:AD:DP:GQ:PL 1/1:0,34:34:99:1066,102,0 1/1:0,34:34:99:1057,102,0 1/1:0,44:44:99:1394,132,0
20_10037292_10066351 8350 . G C 2663.93 . AC=5;AF=0.833;AN=6;BaseQRankSum=-1.608e+00;DP=106;ExcessHet=0.0000;FS=5.378;MLEAC=5;MLEAF=0.833;MQ=60.00;MQRankSum=0.00;QD=25.37;ReadPosRankSum=-1.870e-01;SOR=0.950 GT:AD:DP:GQ:PL 0/1:16,14:30:99:356,0,430 1/1:0,39:39:99:1176,115,0 1/1:0,36:36:99:1146,108,0
20_10037292_10066351 8886 . AAGAAAGAAAG A 3037.69 . AC=6;AF=1.00;AN=6;DP=89;ExcessHet=0.0000;FS=0.000;MLEAC=6;MLEAF=1.00;MQ=60.00;QD=25.36;SOR=2.269 GT:AD:DP:GQ:PL 1/1:0,18:18:55:804,55,0 1/1:0,29:29:88:1282,88,0 1/1:0,22:22:67:965,67,0
20_10037292_10066351 9536 . T C 1089.95 . AC=3;AF=0.500;AN=6;BaseQRankSum=-5.640e-01;DP=82;ExcessHet=0.0000;FS=12.258;MLEAC=3;MLEAF=0.500;MQ=60.00;MQRankSum=0.00;QD=20.57;ReadPosRankSum=0.860;SOR=0.373 GT:AD:DP:GQ:PL 1/1:0,32:32:95:950,95,0 0/0:29,0:29:81:0,81,1215 0/1:14,7:21:99:156,0,353
20_10037292_10066351 13375 . C T 724.29 . AC=1;AF=0.167;AN=6;BaseQRankSum=0.171;DP=121;ExcessHet=0.0000;FS=7.398;MLEAC=1;MLEAF=0.167;MQ=60.00;MQRankSum=0.00;QD=12.71;ReadPosRankSum=0.415;SOR=1.688 GT:AD:DP:GQ:PL 0/1:28,29:57:99:733,0,679 0/0:29,0:29:81:0,81,1215 0/0:34,0:34:99:0,99,1485
20_10037292_10066351 13536 . T C 1025.16 . AC=2;AF=0.333;AN=6;BaseQRankSum=1.63;DP=118;ExcessHet=0.9691;FS=1.719;MLEAC=2;MLEAF=0.333;MQ=60.00;MQRankSum=0.00;QD=11.65;ReadPosRankSum=-2.000e-01;SOR=0.904 GT:AD:DP:GQ:PL 0/1:21,23:44:99:591,0,526 0/1:26,18:44:99:445,0,672 0/0:29,0:29:84:0,84,1260
20_10037292_10066351 14156 . T C 438.16 . AC=2;AF=0.333;AN=6;BaseQRankSum=3.20;DP=96;ExcessHet=0.9691;FS=2.381;MLEAC=2;MLEAF=0.333;MQ=60.00;MQRankSum=0.00;QD=7.82;ReadPosRankSum=1.13;SOR=0.592 GT:AD:DP:GQ:PL 0/1:25,11:36:99:258,0,676 0/1:12,8:20:99:191,0,319 0/0:38,0:38:99:0,99,1117
20_10037292_10066351 14403 . G A 144.29 . AC=1;AF=0.167;AN=6;BaseQRankSum=2.63;DP=116;ExcessHet=0.0000;FS=1.435;MLEAC=1;MLEAF=0.167;MQ=60.00;MQRankSum=0.00;QD=3.52;ReadPosRankSum=0.252;SOR=0.802 GT:AD:DP:GQ:PL 0/1:32,9:41:99:153,0,821 0/0:37,0:37:99:0,109,1169 0/0:37,0:37:99:0,99,1113
```
Hem destacat una vegada més l'última línia de capçalera, que marca l'inici de les dades de crides de variants.
Això sembla similar al VCF que vam generar abans, excepte que aquesta vegada tenim informació a nivell de genotip per a les tres mostres.
Les últimes tres columnes del fitxer són els blocs de genotip per a les mostres, llistades en ordre alfabètic del seu camp ID, com es mostra a la línia de capçalera destacada.
Si mirem els genotips cridats per al nostre trio familiar de prova per a la primera variant, veiem que el pare és heterozigot-variant (`0/1`), i la mare i el fill són tots dos homozigots-variant (`1/1`).
Aquesta és en última instància el tipus d'informació que busquem extreure del conjunt de dades!
#### 2.3.3. Moure els fitxers de sortida
Com s'ha esmentat anteriorment, qualsevol cosa que romangui dins del contenidor serà inaccessible per a treballs futurs.
Abans de sortir del contenidor, mourem els fitxers GVCF, el VCF final multi-mostra i tots els seus fitxers d'índex manualment al sistema de fitxers fora del contenidor.
D'aquesta manera, tindrem alguna cosa per comparar quan construïm el nostre workflow per automatitzar tot aquest treball.
```bash
mv *.vcf* /data/vcf
Contingut del directori" hl_lines="14-19 22-23
data
├── bam
│ ├── reads_father.bam
│ ├── reads_father.bam.bai
│ ├── reads_mother.bam
│ ├── reads_mother.bam.bai
│ ├── reads_son.bam
│ └── reads_son.bam.bai
├── ref
│ ├── intervals.bed
│ ├── ref.dict
│ ├── ref.fasta
│ └── ref.fasta.fai
├── samplesheet.csv
└── vcf
├── family_trio.vcf
├── family_trio.vcf.idx
├── reads_father.g.vcf
├── reads_father.g.vcf.idx
├── reads_mother.g.vcf
├── reads_mother.g.vcf.idx
├── reads_mother.vcf
├── reads_mother.vcf.idx
├── reads_son.g.vcf
└── reads_son.g.vcf.idx
Un cop fet això, tots els fitxers són ara accessibles al vostre sistema de fitxers normal.
2.3.4. Sortir del contenidor GATK¶
Per sortir del contenidor, escriviu exit.
El vostre prompt hauria de tornar a la normalitat. Això conclou la prova manual de les comandes de crida conjunta de variants.
Conclusió¶
Sabeu com provar les comandes d'indexació de Samtools i crida de variants de GATK als seus respectius contenidors, incloent com generar GVCFs i executar el genotipat conjunt sobre múltiples mostres.
Què segueix?¶
Feu una pausa, després aneu a la Part 2 per aprendre com encapsular aquestes mateixes comandes en workflows que utilitzen contenidors per executar el treball.