
Convert VCF Genotype Format to Dosage for Diploids
Source:R/convert_to_dosage.R
convert_to_dosage.RdThe function converts a VCF
genotype matrix (with format "0/0", "0/1", "1/1")
to allele dosage values (0, 1, 2) representing the count of the alternative allele.
Mostly used within the package. Check out the more flexible convert_to_dosage_flex which works for polyploids.
Value
A numeric matrix of the same dimensions as GT, where each value represents
the dosage of the alternate allele (0, 1, or 2).
Details
Converts the alleles to numeric values and sums them to compute the alternate allele dosage.
Retains the original row and column names from the input matrix.
Examples
# Example genotype matrix in VCF format
vcf_matrix <- matrix(c("0/0", "0/1", "1/1",
"0/1", "0/0", "1/1"),
nrow = 2, ncol = 3,
dimnames = list(c("Marker1", "Marker2"),
c("Ind1", "Ind2", "Ind3")))
# Convert to dosage
dosage_matrix <- convert_to_dosage(vcf_matrix)
print(dosage_matrix)
#> Ind1 Ind2 Ind3
#> Marker1 0 2 0
#> Marker2 1 1 2