public VcfSliceToVariantListConverter(Map<String, Integer> samplesPosition, String fileId, String studyId) { this.samplesPosition = StudyEntry.sortSamplesPositionMap(samplesPosition); this.fileId = fileId; this.studyId = studyId; }
public VcfRecordProtoToVariantConverter(VcfSliceProtos.Fields fields, Map<String, Integer> samplePosition, String fileId, String studyId) { this(fields, StudyEntry.sortSamplesPositionMap(samplePosition), fileId, studyId); }
protected void setSamplesPosition(Map<String, Integer> samplesPosition, boolean checkSorted) { if (samplesPosition == null) { this.samplesPosition = null; return; } if (samplesPosition instanceof LinkedHashMap) { if (!checkSorted || isSamplesPositionMapSorted((LinkedHashMap<String, Integer>) samplesPosition)) { this.samplesPosition = ((LinkedHashMap<String, Integer>) samplesPosition); } else { this.samplesPosition = sortSamplesPositionMap(samplesPosition); } } else { //Sort samples position this.samplesPosition = sortSamplesPositionMap(samplesPosition); } if (getSamplesData() == null || getSamplesData().isEmpty()) { for (int size = samplesPosition.size(); size > 0; size--) { getSamplesData().add(null); } } }
public VariantHadoopArchiveDBIterator(ResultScanner resultScanner, ArchiveTableHelper archiveHelper, QueryOptions options) { this.resultScanner = resultScanner; this.iterator = this.resultScanner.iterator(); this.columnFamily = archiveHelper.getColumnFamily(); this.refColumnBytes = archiveHelper.getRefColumnName(); this.nonRefColumnBytes = archiveHelper.getNonRefColumnName(); VariantFileMetadata fileMetadata = archiveHelper.getFileMetadata(); nonRefConverter = new VcfRecordProtoToVariantConverter(StudyEntry.sortSamplesPositionMap(fileMetadata.getSamplesPosition()), String.valueOf(archiveHelper.getStudyId()), fileMetadata.getId()); refConverter = new VcfRecordProtoToVariantConverter(StudyEntry.sortSamplesPositionMap(fileMetadata.getSamplesPosition()), String.valueOf(archiveHelper.getStudyId()), fileMetadata.getId()); setLimit(options.getLong(QueryOptions.LIMIT)); }