public StudyEntry addSampleData(String sampleName, String format, String value) { return addSampleData(sampleName, format, value, null); }
protected void addMainSampleDataColumn(StudyConfiguration studyConfiguration, StudyEntry studyEntry, int[] formatsMap, Integer sampleId, List<String> sampleData) { sampleData = remapSamplesData(sampleData, formatsMap); Integer gtIdx = studyEntry.getFormatPositions().get("GT"); // Replace UNKNOWN_GENOTYPE, if any if (gtIdx != null && GenotypeClass.UNKNOWN_GENOTYPE.equals(sampleData.get(gtIdx))) { sampleData.set(gtIdx, unknownGenotype); } String sampleName = studyConfiguration.getSampleIds().inverse().get(sampleId); studyEntry.addSampleData(sampleName, sampleData); }
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; }
public StudyEntry addSampleData(String sampleName, List<String> sampleDataList) { if (samplesPosition == null && impl.getSamplesData().isEmpty()) { samplesPosition = new LinkedHashMap<>(); } if (samplesPosition != null) { if (samplesPosition.containsKey(sampleName)) { int position = samplesPosition.get(sampleName); addSampleData(position, sampleDataList); } else { int position = samplesPosition.size(); samplesPosition.put(sampleName, position); actOnSamplesDataList((l) -> l.add(sampleDataList)); } } else { actOnSamplesDataList((l) -> l.add(sampleDataList)); } return this; }
public StudyEntry addSampleData(String sampleName, String format, String value, String defaultValue) { requireSamplesPosition(); Integer formatIdx = getFormatPositions().get(format); Integer samplePosition = getSamplesPosition().get(sampleName); return addSampleData(samplePosition, formatIdx, value, defaultValue); }
@Test public void testConvertBasic() throws Exception { List<Pair<Integer, List<String>>> fixedValues = new ArrayList<>(); fixedValues.add(Pair.of(1, listOf("0/0", "PASS"))); fixedValues.add(Pair.of(3, listOf("0/1", "PASS"))); StudyEntry s = converter.convert(fixedValues, Collections.emptyList(), new Variant("1:1000:A:C"), 1); StudyEntry expected = new StudyEntry("1", Collections.emptyList(), listOf("GT", "FT")) .addSampleData("S1", listOf("0/0", "PASS")) .addSampleData("S2", listOf("?/?", ".")) .addSampleData("S3", listOf("0/1", "PASS")) .addSampleData("S4", listOf("?/?", ".")) .addSampleData("S5", listOf("?/?", ".")) .addSampleData("S6", listOf("?/?", ".")); Assert.assertEquals(s.toString(), expected, s); }
List<String> sampleData = studyEntry.getSampleData(sample); if (gtIndex == null || !sampleData.get(0).equals(UNKNOWN_GENOTYPE)) { se.addSampleData(sample, sampleData); } else { dummySampleData.add(""); se.addSampleData(sample, dummySampleData); samplesWithUnknownGenotype.put(sample, sampleData); List<String> unknownGenotypeData = samplesWithUnknownGenotype.get(sample); if (unknownGenotypeData != null) { studyEntry.addSampleData(sample, unknownGenotypeData); } else { studyEntry.addSampleData(sample, newSe.getSampleData(sample));
@Test public void testConvertExtendedFormat() throws Exception { sc.getAttributes().put(VariantStorageEngine.Options.EXTRA_GENOTYPE_FIELDS.key(), "AD,DP"); scm.updateStudyConfiguration(sc, null); List<Pair<Integer, List<String>>> fixedValues = new ArrayList<>(); fixedValues.add(Pair.of(1, listOf("0/0", "1,2", "10"))); fixedValues.add(Pair.of(3, listOf("0/1", "3,4", "20"))); StudyEntry s = converter.convert(fixedValues, Collections.emptyList(), new Variant("1:1000:A:C"), 1); StudyEntry expected = new StudyEntry("1", Collections.emptyList(), listOf("GT", "AD", "DP")) .addSampleData("S1", listOf("0/0", "1,2", "10")) .addSampleData("S2", listOf("?/?", ".", ".")) .addSampleData("S3", listOf("0/1", "3,4", "20")) .addSampleData("S4", listOf("?/?", ".", ".")) .addSampleData("S5", listOf("?/?", ".", ".")) .addSampleData("S6", listOf("?/?", ".", ".")); Assert.assertEquals(s.toString(), expected, s); }
.addSampleData("S1", listOf("0/0", "1,2", "10")) .addSampleData("S2", listOf("1/1", "8,9", "70")) .addSampleData("S3", listOf("0/1", "3,4", "20")) .addSampleData("S4", listOf("0/0", ".", ".")) .addSampleData("S5", listOf("0/1", ".", ".")) .addSampleData("S6", listOf(".", ".", ".")); Assert.assertEquals(s.toString(), expected, s);
studyEntry.addSampleData("NA001", na001); Map<String, String> na002 = new HashMap<>(); na002.put("GT", "0/1"); studyEntry.addSampleData("NA002", na002); Map<String, String> na003 = new HashMap<>(); na003.put("GT", "1/1"); studyEntry.addSampleData("NA003", na003);
BiMap<Integer, String> samplesMap = sc.getSampleIds().inverse(); for (Integer sampleId : samples) { st.addSampleData(samplesMap.get(sampleId), Collections.singletonList("0/0"));
na001.put("GT", "0/0"); na001.put("DP", "4"); studyEntry.addSampleData("NA001", na001); Map<String, String> na002 = new HashMap<>(); na002.put("GT", "0/1"); na002.put("DP", "5"); studyEntry.addSampleData("NA002", na002); variant.addStudyEntry(studyEntry);