@Override public List<String> getSampleNames() { return new ArrayList<>(fileMetadata.getSamplesPosition().keySet()); }
entry.setSamplesPosition(fileMetadata.getSamplesPosition());
@Override public boolean pre() { if (metadataPath != null) { Files.exists(metadataPath); try (InputStream inputStream = FileUtils.newInputStream(metadataPath)) { // Read global JSON file and copy its info into the already available VariantSource object VariantFileMetadata readMetadata = VariantReaderUtils.readVariantFileMetadataFromJson(inputStream); fileMetadata.setId(readMetadata.getId()); fileMetadata.setPath(readMetadata.getPath()); fileMetadata.setHeader(readMetadata.getHeader()); fileMetadata.setSamplesPosition(readMetadata.getSamplesPosition()); fileMetadata.setStats(readMetadata.getStats()); } catch (IOException ex) { throw new UncheckedIOException(ex); } } if (fileMetadata != null) { Map<String, Integer> samplesPosition = fileMetadata.getSamplesPosition(); this.samplesPosition = new LinkedHashMap<>(samplesPosition.size()); String[] samples = new String[samplesPosition.size()]; for (Map.Entry<String, Integer> entry : samplesPosition.entrySet()) { samples[entry.getValue()] = entry.getKey(); } for (int i = 0; i < samples.length; i++) { this.samplesPosition.put(samples[i], i); } } return true; }
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)); }