public String getId() { return impl.getId(); }
/** * Remove a variant file metadata of a given variant study metadata (from study ID). * * @param file File * @param studyId Study ID */ public void removeFile(VariantFileMetadata file, String studyId) { // Sanity check if (file == null) { logger.error("Variant file metadata is null."); return; } removeFile(file.getId(), studyId); }
/** * Print to the standard output a summary of the variant metadata manager. * * @throws IOException IOException */ public void printSummary() { StringBuilder res = new StringBuilder(); res.append("Num. studies: ").append(variantMetadata.getStudies().size()).append("\n"); int counter, studyCounter = 0; for (VariantStudyMetadata study: variantMetadata.getStudies()) { studyCounter++; res.append("\tStudy #").append(studyCounter).append(": ").append(study.getId()).append("\n"); res.append("\tNum. files: ").append(study.getFiles().size()).append("\n"); counter = 0; for (VariantFileMetadata file: study.getFiles()) { counter++; res.append("\t\tFile #").append(counter).append(": ").append(file.getId()); res.append(" (").append(file.getSampleIds().size()).append(" samples)\n"); } res.append("\tNum. cohorts: ").append(study.getCohorts().size()).append("\n"); counter = 0; for (Cohort cohort: study.getCohorts()) { counter++; res.append("\t\tCohort #").append(counter).append(": ").append(cohort.getId()); res.append(" (").append(cohort.getSampleIds().size()).append(" samples)\n"); } } System.out.println(res.toString()); }
/** * Remove a variant file metadata (from file ID) of a given variant study metadata (from study ID). * * @param fileId File ID * @param studyId Study ID */ public void removeFile(String fileId, String studyId) { // Sanity check if (StringUtils.isEmpty(fileId)) { logger.error("Variant file metadata ID {} is null or empty.", fileId); return; } VariantStudyMetadata variantStudyMetadata = getVariantStudyMetadata(studyId); if (variantStudyMetadata == null) { logger.error("Study not found. Check your study ID: '{}'", studyId); return; } if (variantStudyMetadata.getFiles() != null) { for (int i = 0; i < variantStudyMetadata.getFiles().size(); i++) { if (fileId.equals(variantStudyMetadata.getFiles().get(i).getId())) { variantStudyMetadata.getFiles().remove(i); return; } } } }
public VcfSliceToVariantListConverter(VariantStudyMetadata metadata) { this(VariantFileMetadata.getSamplesPositionMap(metadata.getFiles().get(0).getSampleIds()), metadata.getFiles().get(0).getId(), metadata.getId()); }
public MongoDBVariantWriteResult loadFile1() throws StorageEngineException { return loadFile1("X", Integer.parseInt(metadata1.getFiles().get(0).getId()), Collections.emptyList()); }
public MongoDBVariantWriteResult loadFile2() throws StorageEngineException { return loadFile2("X", Integer.parseInt(metadata2.getFiles().get(0).getId()), Collections.emptyList()); }
public MongoDBVariantWriteResult loadFile3() throws StorageEngineException { return loadFile3("X", Integer.parseInt(metadata3.getFiles().get(0).getId()), Collections.emptyList()); }
if (fileMetadata == null || StringUtils.isEmpty(fileMetadata.getId())) { logger.error("Variant file metadata (or its ID) is null or empty."); return; if (file.getId() != null && file.getId().equals(fileMetadata.getId())) { logger.error("Variant file metadata with id '{}' already exists in study '{}'", fileMetadata.getId(), studyId); return; if (sampleId.equals(sample.getId())) { logger.error("Sample '{}' from file {} already exists in study '{}'", sampleId, fileMetadata.getId(), studyId); return;
protected VariantMetadata makeVariantMetadata(List<StudyConfiguration> studyConfigurations, ProjectMetadata projectMetadata, Map<Integer, List<Integer>> returnedSamples, Map<Integer, List<Integer>> returnedFiles, QueryOptions queryOptions) throws StorageEngineException { VariantMetadata metadata = new VariantMetadataConverter() .toVariantMetadata(studyConfigurations, projectMetadata, returnedSamples, returnedFiles); Map<String, StudyConfiguration> studyConfigurationMap = studyConfigurations.stream() .collect(Collectors.toMap(StudyConfiguration::getStudyName, Function.identity())); for (VariantStudyMetadata studyMetadata : metadata.getStudies()) { StudyConfiguration studyConfiguration = studyConfigurationMap.get(studyMetadata.getId()); List<Integer> fileIds = studyMetadata.getFiles().stream() .map(fileMetadata -> { Integer fileId = studyConfiguration.getFileIds().get(fileMetadata.getId()); if (fileId == null) { fileId = studyConfiguration.getFileIds().get(fileMetadata.getPath()); } return fileId; }).collect(Collectors.toList()); if (fileIds != null && !fileIds.isEmpty()) { Query query = new Query() .append(VariantFileMetadataDBAdaptor.VariantFileMetadataQueryParam.STUDY_ID.key(), studyConfiguration.getStudyId()) .append(VariantFileMetadataDBAdaptor.VariantFileMetadataQueryParam.FILE_ID.key(), fileIds); scm.variantFileMetadataIterator(query, new QueryOptions()).forEachRemaining(fileMetadata -> { studyMetadata.getFiles().removeIf(file -> file.getId().equals(fileMetadata.getId())); studyMetadata.getFiles().add(fileMetadata.getImpl()); }); } } return metadata; }
VariantToDocumentConverter(List<StudyConfiguration> studies, VariantMetadata metadata, ProgressLogger progressLogger) { DocumentToSamplesConverter samplesConverter = new DocumentToSamplesConverter(studies); DocumentToStudyVariantEntryConverter studyConverter = new DocumentToStudyVariantEntryConverter(false, samplesConverter); DocumentToVariantStatsConverter statsConverter = new DocumentToVariantStatsConverter(studies); variantConverter = new DocumentToVariantConverter(studyConverter, statsConverter); this.studiesIdRemap = new HashMap<>(); this.fileIdRemap = new HashMap<>(); VariantMetadataManager metadataManager = new VariantMetadataManager().setVariantMetadata(metadata); studies.forEach((sc) -> { VariantStudyMetadata studyMetadata = metadataManager.getVariantStudyMetadata(sc.getStudyName()); this.studiesIdRemap.put(sc.getStudyName(), String.valueOf(sc.getStudyId())); sc.getFileIds().forEach((name, id) -> fileIdRemap.put(name, String.valueOf(id))); for (VariantFileMetadata fileMetadata : studyMetadata.getFiles()) { String id = fileIdRemap.get(fileMetadata.getPath()); if (id != null) { fileIdRemap.put(fileMetadata.getId(), id); } } }); this.progressLogger = progressLogger; }
public List<Variant> createFile2Variants() { return createFile2Variants("X", metadata2.getFiles().get(0).getId(), metadata2.getId()); } public List<Variant> createFile3Variants() {
public List<Variant> createFile1Variants() { return createFile1Variants("X", metadata1.getFiles().get(0).getId(), metadata1.getId()); } public List<Variant> createFile2Variants() {
public List<Variant> createFile3Variants() { return createFile3Variants("X", metadata3.getFiles().get(0).getId(), metadata3.getId()); }