protected VariantFileMetadata createVariantFileMetadata(StudyConfiguration studyConfiguration, Integer fileId) { studyConfiguration.getFileIds().put("fileName", fileId); VariantFileMetadata source = new VariantFileMetadata("fileName", fileId.toString()); Map<String, Integer> samplesPosition = new HashMap<>(); samplesPosition.put("s0", 0); samplesPosition.put("s1", 1); samplesPosition.put("s2", 2); samplesPosition.put("s3", 3); samplesPosition.put("s4", 4); samplesPosition.put("s5", 5); source.setSamplesPosition(samplesPosition); return source; }
@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; }