@Deprecated public void setCohortStats(String cohortName, VariantStats stats) { setStats(cohortName, stats); }
@Deprecated public void setCohortStats(Map<String, VariantStats> cohortStats) { setStats(cohortStats); }
/** * Looks for tags contained in statsTags and calculates stats parsing them. * @param variant * @param file * @param numAllele * @param reference * @param alternateAlleles * @param info */ protected void parseStats(Variant variant, StudyEntry file, int numAllele, String reference, String[] alternateAlleles, Map<String, String> info) { VariantStats vs = new VariantStats(); Map<String, String> stats = new LinkedHashMap<>(); for (Map.Entry<String, String> entry : info.entrySet()) { String infoTag = entry.getKey(); String infoValue = entry.getValue(); if (statsTags.contains(infoTag)) { stats.put(infoTag, infoValue); } } calculate(variant, file, numAllele, reference, alternateAlleles, stats, vs); file.setStats(StudyEntry.DEFAULT_COHORT, vs); }
VariantStats vs = new VariantStats(); calculate(variant, file, numAllele, reference, alternateAlleles, cohortStats.get(cohortName), vs); file.setStats(cohortName, vs);
/** * Calculates the statistics for some variants read from a set of files, and * optionally given pedigree information. Some statistics like inheritance * patterns can only be calculated if pedigree information is provided. * * @param variants The variants whose statistics will be calculated * @param ped Optional pedigree information to calculate some statistics */ public static void calculateStatsForVariantsList(List<Variant> variants, Pedigree ped) { for (Variant variant : variants) { for (StudyEntry entry : variant.getStudies()) { VariantStats stats = calculate(variant, entry); entry.setStats(StudyEntry.DEFAULT_COHORT, stats); } } }
@Override protected void parseStats(Variant variant, StudyEntry study, int numAllele, String reference, String[] alternateAlleles, Map<String, String> info) { FileEntry fileEntry = study.getFiles().get(0); // EVS params are not rearranged when normalizing. Use original call if (fileEntry.getCall() != null && !fileEntry.getCall().isEmpty()) { String[] ori = fileEntry.getCall().split(":"); numAllele = Integer.parseInt(ori[3]); alternateAlleles = ori[2].split(","); reference = ori[1]; } VariantStats stats = new VariantStats(); if (info.containsKey("MAF")) { String splitsMAF[] = info.get("MAF").split(","); if (splitsMAF.length == 3) { float maf = Float.parseFloat(splitsMAF[2]) / 100; stats.setMaf(maf); } } if (info.containsKey("GTS") && info.containsKey("GTC")) { String splitsGTC[] = info.get("GTC").split(","); addGenotypeWithGTS(study.getAttributes(), splitsGTC, reference, alternateAlleles, numAllele, stats); } study.setStats(StudyEntry.DEFAULT_COHORT, stats); }
studyEntry.setStats(StudyEntry.DEFAULT_COHORT, stats);
BiMap<Integer, String> cohortIdMap = studyConfiguration.getCohortIds().inverse(); for (Map.Entry<Integer, VariantStats> entry : stats.getOrDefault(studyId, Collections.emptyMap()).entrySet()) { studyEntry.setStats(cohortIdMap.get(entry.getKey()), entry.getValue());
BiMap<Integer, String> cohortIdMap = studyConfiguration.getCohortIds().inverse(); for (Map.Entry<Integer, VariantStats> entry : stats.getOrDefault(studyId, Collections.emptyMap()).entrySet()) { studyEntry.setStats(cohortIdMap.get(entry.getKey()), entry.getValue());
studyEntry.setStats(Collections.emptyMap());
if (cohortStats == null) { cohortStats = new VariantStats(); studyEntry.setStats(cohortName, cohortStats);
sourceEntry = variant.getStudiesMap().get(sid); if (sourceEntry != null) { sourceEntry.setStats(cid, variantStats); } else {
variantStats.setAltAlleleFreq(variantSearchModel.getStats().get(key)); variantStats.setMaf(Math.min(variantSearchModel.getStats().get(key), 1 - variantSearchModel.getStats().get(key))); studyEntryMap.get(fields[1]).setStats(fields[2], variantStats);
VariantStats stats = new VariantStats(); stats.addGenotype(new Genotype("0/0"), sc.getCohorts().get(cid).size()); st.setStats(sc.getCohortIds().inverse().get(cid), stats);
loadedStudy.setStats(Collections.emptyMap()); //Remove calculated stats loadedStudy.getSamplesData().forEach(values -> { values.set(0, values.get(0).replace("0/0", "0|0"));