public void importData(URI inputUri) throws StorageEngineException, IOException { VariantMetadataImporter metadataImporter = new VariantMetadataImporter(); VariantMetadata metadata = metadataImporter.importMetaData(inputUri, dbAdaptor.getStudyConfigurationManager()); importData(inputUri, metadata); }
public VariantMetadata importMetaData(URI inputUri, StudyConfigurationManager scm) throws IOException { // Check if can be loaded Map<String, Integer> studies = scm.getStudies(QueryOptions.empty()); if (!studies.isEmpty()) { throw new IllegalStateException("Unable to import data if there are other loaded studies: " + studies); } // Load metadata VariantMetadata metadata = readMetadata(inputUri); List<StudyConfiguration> studyConfigurations = new VariantMetadataConverter().toStudyConfigurations(metadata); for (StudyConfiguration studyConfiguration : studyConfigurations) { processStudyConfiguration(studyConfiguration); scm.updateStudyConfiguration(studyConfiguration, QueryOptions.empty()); } return metadata; }
public void importData(StudyInfo studyInfo, URI inputUri, String sessionId) throws IOException, StorageEngineException { VariantMetadataImporter variantMetadataImporter; variantMetadataImporter = new CatalogVariantMetadataImporter(studyInfo.getStudyFQN(), inputUri, sessionId); try { DataStore dataStore = studyInfo.getDataStores().get(File.Bioformat.VARIANT); VariantStorageEngine variantStorageEngine = getVariantStorageEngine(dataStore); ObjectMap options = variantStorageEngine.getOptions(); VariantMetadata metadata; StudyConfiguration studyConfiguration; try (StudyConfigurationManager scm = variantStorageEngine.getStudyConfigurationManager()) { metadata = variantMetadataImporter.importMetaData(inputUri, scm); studyConfiguration = scm.getStudyConfiguration(((int) studyInfo.getStudyUid()), null).first(); } variantStorageEngine.importData(inputUri, metadata, Collections.singletonList(studyConfiguration), options); } catch (Exception e) { logger.error("Error importing data"); throw e; } }