internal static ISample[] ToSamples(this string[] vcfColumns, FormatIndices formatIndices, int numAltAlleles, bool isRepeatExpansion) { if (vcfColumns.Length < VcfCommon.MinNumColumnsSampleGenotypes) { return(null); } int numSamples = vcfColumns.Length - VcfCommon.MinNumColumnsSampleGenotypes + 1; var samples = new ISample[numSamples]; formatIndices.Set(vcfColumns[VcfCommon.FormatIndex]); for (int index = VcfCommon.GenotypeIndex; index < vcfColumns.Length; index++) { samples[index - VcfCommon.GenotypeIndex] = ExtractSample(vcfColumns[index], formatIndices, numAltAlleles, isRepeatExpansion); } return(samples); }
internal static ISample[] ToSamples(this string[] vcfColumns, FormatIndices formatIndices, ISimplePosition simplePosition, IMitoHeteroplasmyProvider mitoHeteroplasmyProvider, bool enableDq = false) { if (vcfColumns.Length < VcfCommon.MinNumColumnsSampleGenotypes) { return(null); } int numSamples = vcfColumns.Length - VcfCommon.MinNumColumnsSampleGenotypes + 1; var samples = new ISample[numSamples]; formatIndices.Set(vcfColumns[VcfCommon.FormatIndex]); var legacySampleExtractor = IsLegacyVariantCaller(formatIndices) ? new LegacySampleFieldExtractor(vcfColumns, formatIndices) : null; for (int index = VcfCommon.GenotypeIndex; index < vcfColumns.Length; index++) { samples[index - VcfCommon.GenotypeIndex] = ExtractSample(vcfColumns[index], formatIndices, simplePosition, mitoHeteroplasmyProvider, legacySampleExtractor, enableDq); } return(samples); }
internal static ISample[] ToSamples(this string[] vcfColumns, FormatIndices formatIndices, int numAltAlleles) { if (vcfColumns.Length < VcfCommon.MinNumColumnsSampleGenotypes) { return(null); } int numSamples = vcfColumns.Length - VcfCommon.MinNumColumnsSampleGenotypes + 1; var samples = new ISample[numSamples]; formatIndices.Set(vcfColumns[VcfCommon.FormatIndex]); var legacySampleExtractor = IsLegacyVariantCaller(formatIndices) ? new LegacySampleFieldExtractor(vcfColumns, formatIndices) : null; for (int index = VcfCommon.GenotypeIndex; index < vcfColumns.Length; index++) { samples[index - VcfCommon.GenotypeIndex] = ExtractSample(vcfColumns[index], formatIndices, numAltAlleles, legacySampleExtractor); } return(samples); }