@Override public boolean open() { try { if (outdir != null) { String filePath = fileMetadata.getPath(); String fileName = Paths.get(filePath).getFileName().toString(); String output = Paths.get(outdir.toString(), fileName).toAbsolutePath().toString() + "." + VariantReaderUtils.VARIANTS_FILE + ".json.gz"; variantsStream = new GZIPOutputStream(new FileOutputStream(output)); fileStream = new GZIPOutputStream(new FileOutputStream(VariantReaderUtils.getMetaFromTransformedFile(output))); } } catch (IOException ex) { throw new UncheckedIOException(ex); } return true; }
@Override public List<VS> apply(List<VariantFileMetadata> variantFileMetadata) { Set<VS> gaVariantSets = new LinkedHashSet<>(); for (VariantFileMetadata fileMetadata : variantFileMetadata) { List<Object> metadata = new ArrayList<>(); for (VariantFileHeaderComplexLine line : fileMetadata.getHeader().getComplexLines()) { Map<String, List<String>> info = line.getGenericFields().entrySet().stream() .collect(Collectors.toMap(Map.Entry::getKey, value -> Arrays.asList(value.getValue().split(",")))); metadata.add(factory.newVariantSetMetadata(line.getKey(), null, line.getId(), line.getType(), line.getNumber(), line.getDescription(), info)); } fileMetadata.getHeader().getSimpleLines().forEach(line -> metadata.add(factory.newVariantSetMetadata(line.getKey(), line.getValue(), null, null, null, null, Collections.emptyMap()))); @SuppressWarnings("unchecked") VS variantSet = (VS) factory.newVariantSet(fileMetadata.getId(), fileMetadata.getPath(), "", "", (List) metadata); gaVariantSets.add(variantSet); } return new ArrayList<>(gaVariantSets); }
@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; }
String filePath = storageETL.readVariantFileMetadata(nextUri).getPath(); String fileName = Paths.get(filePath).getFileName().toString();
String filePath = fileMetadata.getPath(); String fileName = Paths.get(filePath).getFileName().toString(); logger.info("============================================================");
String filePath = metadata.getPath(); String fileName = Paths.get(filePath).getFileName().toString(); String studyId = String.valueOf(getStudyId());
int fileId = getStudyConfigurationManager().registerFile(studyConfiguration, fileMetadata.getPath()); getStudyConfigurationManager().registerFileSamples(studyConfiguration, fileId, fileMetadata, options); setFileId(fileId);