public void setFormatAsString(String format) { setFormat(Arrays.asList(format.split(":"))); }
private void fillStudyEntryFields(StudyEntry study, LinkedHashMap<String, Integer> samplesPositionToReturn, List<String> extraFields, List<List<String>> samplesData, boolean excludeGenotypes) { if (study != null) { //Set FORMAT if (extraFields.isEmpty()) { if (excludeGenotypes) { study.setFormat(Collections.emptyList()); } else { study.setFormat(Collections.singletonList("GT")); } } else { List<String> format = new ArrayList<>(1 + extraFields.size()); if (!excludeGenotypes) { format.add("GT"); } format.addAll(extraFields); study.setFormat(format); } //Set Samples Position study.setSamplesPosition(samplesPositionToReturn); //Set Samples Data study.setSamplesData(samplesData); } }
public StudyEntry addSampleData(String sampleName, Map<String, String> sampleData) { if (getFormat() == null) { setFormat(new ArrayList<>(sampleData.keySet())); } List<String> sampleDataList = new ArrayList<>(getFormat().size()); for (String field : getFormat()) { sampleDataList.add(sampleData.get(field)); } if (sampleData.size() != sampleDataList.size()) { List<String> extraFields = sampleData.keySet().stream().filter(f -> getFormat().contains(f)).collect(Collectors.toList()); throw new IllegalArgumentException("Some sample data fields were not in the format field: " + extraFields); } addSampleData(sampleName, sampleDataList); return this; }
protected StudyEntry newStudyEntry(StudyConfiguration studyConfiguration, List<String> fixedFormat) { StudyEntry studyEntry; if (studyNameAsStudyId) { studyEntry = new StudyEntry(studyConfiguration.getStudyName()); } else { studyEntry = new StudyEntry(String.valueOf(studyConfiguration.getStudyId())); } if (expectedFormat == null) { studyEntry.setFormat(new ArrayList<>(fixedFormat)); } else { studyEntry.setFormat(new ArrayList<>(expectedFormat)); } LinkedHashMap<String, Integer> returnedSamplesPosition; if (mutableSamplesPosition) { returnedSamplesPosition = new LinkedHashMap<>(getReturnedSamplesPosition(studyConfiguration)); } else { returnedSamplesPosition = getReturnedSamplesPosition(studyConfiguration); } studyEntry.setSamplesData(new ArrayList<>(returnedSamplesPosition.size())); studyEntry.setSortedSamplesPosition(returnedSamplesPosition); return studyEntry; }
/** * @param n * @return studyEntryList */ public List<StudyEntry> getStudies(int n) { int studyID = 2; int fieldID = 3; List<StudyEntry> studyEntryList = new ArrayList<>(); StudyEntry studyEntry = new StudyEntry(); studyEntry.setStudyId(Integer.toString(studyID)); studyEntry.setFileId(Integer.toString(fieldID)); Map<String, String> attributes = genAttributes(); studyEntry.setAttributes(attributes); studyEntry.setFormat(getFormat()); List<List<String>> sampleList = new ArrayList<>(getFormat().size()); for (int i = 0; i < n; i++) { sampleList.add(getRandomample()); } studyEntry.setSamplesData(sampleList); studyEntryList.add(studyEntry); return studyEntryList; }
public static Variant addGTAndFilter(Variant var, String gt, String filter) { StudyEntry se = var.getStudy("1"); se.setSamplesPosition(Collections.singletonMap("1", 0)); se.setFormat(Arrays.asList(GENOTYPE_KEY, GENOTYPE_FILTER_KEY)); se.setSamplesData(Collections.singletonList(Arrays.asList(gt, filter))); return var; }
/** * Create an empty Variant (position, ref, alt) from a template with basic Study information without samples. * @param target Variant to take as a template * @return Variant filled with chromosome, start, end, ref, alt, study ID and format set to GT only, BUT no samples. */ public Variant createFromTemplate(Variant target) { Variant var = new Variant(target.getChromosome(), target.getStart(), target.getEnd(), target.getReference(), target.getAlternate()); var.setType(target.getType()); for(StudyEntry tse : target.getStudies()){ StudyEntry se = new StudyEntry(tse.getStudyId()); se.setFiles(Collections.singletonList(new FileEntry("", "", new HashMap<>()))); se.setFormat(Arrays.asList(getGtKey(), getFilterKey())); se.setSamplesPosition(new HashMap<>()); se.setSamplesData(new ArrayList<>()); var.addStudyEntry(se); } return var; }
currentStudy.setFormat(newFormat);
public void writeVariant(MongoDBVariantStageConverterTask converterTask, MongoDBVariantStageLoader loader, String variantStr) { Variant variant = new Variant(variantStr); variant.setNames(Collections.emptyList()); StudyEntry studyEntry = new StudyEntry("1", "1"); studyEntry.setFormat(Collections.emptyList()); variant.addStudyEntry(studyEntry); variantMap.put(variant.getChromosome(), variant); loader.write(converterTask.apply(Collections.singletonList(variant))); }
studyEntry.setFormat(Arrays.asList(stringToList.split(LIST_SEP)));
StudyEntry se = new StudyEntry("0"); se.setSecondaryAlternates(getAlternateCoordinates(secondaryAlternates)); se.setFormat(studyEntry.getFormat()); se.setSamplesData(new ArrayList<>(fileIds.size()));
variant.getAlternate()); StudyEntry studyEntry = new StudyEntry(); studyEntry.setFormat(archiveVariant.getStudies().get(0).getFormat()); studyEntry.setSortedSamplesPosition(new LinkedHashMap<>()); studyEntry.setSamplesData(new ArrayList<>());
studyEntry.setFiles(Collections.singletonList(fileEntry)); studyEntry.setFormat(format); if (alternates.size() > 0) { List<AlternateCoordinate> secondaryAlternates = new ArrayList<>(alternates.size() - 1);
studyEntry.setFormat(archiveVariant.getStudies().get(0).getFormat()); studyEntry.setSortedSamplesPosition(new LinkedHashMap<>()); studyEntry.setSamplesData(new ArrayList<>());
studyEntry.setSamplesData( Collections.singletonList(Collections.singletonList(keyFields.getPhaseSet()))); studyEntry.setFormat(Collections.singletonList("PS")); normalizedEntry.setStudyId(entry.getStudyId()); normalizedEntry.setSamplesPosition(entry.getSamplesPosition()); normalizedEntry.setFormat(entry.getFormat());
se.setFiles(Collections.singletonList(new FileEntry("1", "", new HashMap<>()))); v1.setStudies(Collections.singletonList(se)); se.setFormat(Arrays.asList(GENOTYPE_KEY, GENOTYPE_FILTER_KEY)); se.setSamplesPosition(asMap("S1", 0)); se.setSamplesData(Collections.singletonList(Arrays.asList("1/2", "LowGQXHetDel"))); v2.setStudies(Collections.singletonList(se)); se.setSamplesPosition(asMap("S1", 0)); se.setFormat(Arrays.asList(GENOTYPE_KEY, GENOTYPE_FILTER_KEY)); se.setSamplesData(Collections.singletonList(Arrays.asList("0/1", "PASS"))); addAttribute(v2, FILTER, "PASS");
public Variant convert(VcfSliceProtos.VcfRecord vcfRecord, String chromosome, int slicePosition) { int start = getStart(vcfRecord, slicePosition); int end = getEnd(vcfRecord, slicePosition); Variant variant = new Variant(chromosome, start, end, vcfRecord.getReference(), vcfRecord.getAlternate()); variant.setType(getVariantType(vcfRecord.getType())); variant.setIds(vcfRecord.getIdNonDefaultList()); variant.resetLength(); FileEntry fileEntry = new FileEntry(); fileEntry.setFileId(fileId); Map<String, String> attributes = getFileAttributes(vcfRecord); fileEntry.setAttributes(attributes); fileEntry.setCall(vcfRecord.getCall().isEmpty() ? null : vcfRecord.getCall()); if (vcfRecord.getType().equals(VariantProto.VariantType.NO_VARIATION)) { attributes.put("END", Integer.toString(end)); } StudyEntry studyEntry = new StudyEntry(studyId); studyEntry.setFiles(Collections.singletonList(fileEntry)); studyEntry.setFormat(getFormat(vcfRecord)); studyEntry.setSamplesData(getSamplesData(vcfRecord, studyEntry.getFormatPositions())); studyEntry.setSamplesPosition(retrieveSamplePosition()); studyEntry.getFormatPositions(); // Initialize the map List<VariantProto.AlternateCoordinate> alts = vcfRecord.getSecondaryAlternatesList(); studyEntry.setSecondaryAlternates(getAlternateCoordinates(alts)); variant.addStudyEntry(studyEntry); studyEntry.getFormatPositions(); // Initialize the map return variant; }