@Override public boolean write(Variant variant) { ArrayList<PopulationFrequency> frequencies = new ArrayList<>(); for (StudyEntry studyEntry : variant.getStudies()) { for (Map.Entry<String, VariantStats> cohortEntry : studyEntry.getStats().entrySet()) { String studyId = studyEntry.getStudyId(); studyId = studyId.substring(studyId.lastIndexOf(":") + 1); PopulationFrequency populationFrequency = converter.convert(studyId, cohortEntry.getKey(), cohortEntry.getValue(), variant.getReference(), variant.getAlternate()); // Write only frequencies non zero if (populationFrequency.getAltAlleleFreq() > 0 && !populationFrequency.getAltAlleleFreq().isNaN()) { frequencies.add(populationFrequency); } } } Variant newVar = new Variant(variant.toString()); VariantAnnotation annotation = new VariantAnnotation(); annotation.setPopulationFrequencies(frequencies); newVar.setAnnotation(annotation); try { sequenceWriter.write(newVar); outputStream.write('\n'); } catch (IOException e) { throw new UncheckedIOException(e); } return true; } }
List<String> popFreqList = new ArrayList<>(); for (PopulationFrequency pf: populationFrequencies) { popFreqList.add(pf.getStudy() + "_" + pf.getPopulation() + ":" + DECIMAL_FORMAT_7.format(pf.getAltAlleleFreq()));
@Override protected Float featureValueOf(VariantAnnotation actual) { if (actual.getPopulationFrequencies() != null) { for (PopulationFrequency populationFrequency : actual.getPopulationFrequencies()) { if (populationFrequency.getStudy().equalsIgnoreCase(study) && populationFrequency.getPopulation().equalsIgnoreCase(population)) { return Math.min(populationFrequency.getAltAlleleFreq(), populationFrequency.getRefAlleleFreq()); } } } return 0F; } };
if (populationFrequencies != null) { stringBuilder.append(populationFrequencies.stream() .map(t -> t.getPopulation() + ":" + t.getAltAlleleFreq()) .collect(Collectors.joining(",")));
if (populationFrequencies != null) { stringBuilder.append(populationFrequencies.stream() .map(t -> t.getPopulation() + ":" + t.getAltAlleleFreq()) .collect(Collectors.joining(",")));
@Override protected Float featureValueOf(VariantAnnotation actual) { if (actual.getPopulationFrequencies() != null) { for (PopulationFrequency populationFrequency : actual.getPopulationFrequencies()) { if (populationFrequency.getStudy().equalsIgnoreCase(study) && populationFrequency.getPopulation().equalsIgnoreCase(population)) { return populationFrequency.getAltAlleleFreq(); } } } return 0F; } };
private Document convertPopulationFrequencyToStorage(PopulationFrequency populationFrequency) { Document dbObject = new Document(POPULATION_FREQUENCY_STUDY_FIELD, populationFrequency.getStudy()); putNotNull(dbObject, POPULATION_FREQUENCY_POP_FIELD, populationFrequency.getPopulation()); putNotNull(dbObject, POPULATION_FREQUENCY_REFERENCE_FREQUENCY_FIELD, populationFrequency.getRefAlleleFreq()); putNotNull(dbObject, POPULATION_FREQUENCY_ALTERNATE_FREQUENCY_FIELD, populationFrequency.getAltAlleleFreq()); putNotNull(dbObject, POPULATION_FREQUENCY_REF_HOM_GT_FIELD, populationFrequency.getRefHomGenotypeFreq()); putNotNull(dbObject, POPULATION_FREQUENCY_HET_GT_FIELD, populationFrequency.getHetGenotypeFreq()); putNotNull(dbObject, POPULATION_FREQUENCY_ALT_HOM_GT_FIELD, populationFrequency.getAltHomGenotypeFreq()); return dbObject; }
populationFrequencies.put("popFreq" + VariantSearchUtils.FIELD_SEPARATOR + populationFrequency.getStudy() + VariantSearchUtils.FIELD_SEPARATOR + populationFrequency.getPopulation(), populationFrequency.getAltAlleleFreq());
for (PopulationFrequency populationFrequency: variant.getAnnotation().getPopulationFrequencies()) { if (populationFrequency.getAltAlleleFreq() != 0) { hasPopFreq = true; || "1kG_phase3".equals(populationFrequency.getStudy()) || "GNOMAD_EXOMES".equals(populationFrequency.getStudy())) { if (populationFrequency.getAltAlleleFreq() > 0.05) { above5 = true;
for (PopulationFrequency pf : variantAnnotation.getPopulationFrequencies()) { PhoenixHelper.Column column = VariantPhoenixHelper.getPopulationFrequencyColumn(pf.getStudy(), pf.getPopulation()); map.put(column, Arrays.asList(pf.getRefAlleleFreq(), pf.getAltAlleleFreq()));
.setAltAllele(pf.getAltAllele()) .setRefAlleleFreq(pf.getRefAlleleFreq()) .setAltAlleleFreq(pf.getAltAlleleFreq()) .setRefHomGenotypeFreq(pf.getRefHomGenotypeFreq()) .setHetGenotypeFreq(pf.getHetGenotypeFreq())