public VariantBuilder setFormat(List<String> format) { checkStudy("set format"); this.format = format; return this; }
public VariantBuilder setSamplesData(List<List<String>> samplesData) { checkStudy("set samples data"); this.samplesData = samplesData; return this; }
public VariantBuilder setFileId(String fileId) { checkStudy("set file id"); this.fileId = fileId; return this; }
public VariantBuilder setSamplesPosition(LinkedHashMap<String, Integer> samplesPosition) { checkStudy("set samples position"); this.samplesPosition = samplesPosition; return this; }
public VariantBuilder setSampleNames(List<String> samples) { checkStudy("set sample names"); this.samplesPosition = new LinkedHashMap<>(); for (String sample : samples) { this.samplesPosition.put(sample, this.samplesPosition.size()); } return this; }
public VariantBuilder addAlternate(String alternate) { if (alternates == null) { alternates = new ArrayList<>(1); } if (!alternates.isEmpty()) { // A study entry is required if there are more than one alternate checkStudy("add alternate"); } alternates.add(checkEmptySequence(alternate)); return this; }
public void addSample(Integer idx, List<String> data) { checkStudy("add sample"); if (samplesData.size() == idx) { // Append samplesData.add(data); } else if (samplesData.size() < idx) { // Replace samplesData.set(idx, data); } else { // Fill with nulls for (int i = samplesData.size(); i < idx; i++) { samplesData.add(null); } samplesData.add(data); } }
public VariantBuilder addSample(String sampleName, List<String> data) { checkStudy("add sample"); if (samplesData == null) { samplesData = new ArrayList<>(samplesPosition != null ? samplesPosition.size() : 1); } if (samplesPosition == null) { samplesPosition = new LinkedHashMap<>(); } Integer idx = samplesPosition.computeIfAbsent(sampleName, k -> samplesPosition.size()); addSample(idx, data); return this; }