diff --git a/src/main/java/nl/wur/bif/pantools/pangenome/FunctionalAnnotations.java b/src/main/java/nl/wur/bif/pantools/pangenome/FunctionalAnnotations.java index 1d44cab0d5380049d06b021fff390852b59925fd..b953839fd6e86823b70b48c20d00dd76b8a4fc3d 100644 --- a/src/main/java/nl/wur/bif/pantools/pangenome/FunctionalAnnotations.java +++ b/src/main/java/nl/wur/bif/pantools/pangenome/FunctionalAnnotations.java @@ -4803,7 +4803,7 @@ public class FunctionalAnnotations { try { downloadDatabase(functionalDatabasesPath, "go-basic.obo", "http://purl.obolibrary.org/obo/go/go-basic.obo"); } catch (IOException e) { - Pantools.logger.error("Unable to download GO database.", e); + Pantools.logger.error("Error while downloading GO database."); } } if (!pfamDatabaseExists) { @@ -4842,8 +4842,17 @@ public class FunctionalAnnotations { */ private void downloadDatabase(Path functionalDatabasesPath, String databaseName, String databaseUrl) throws IOException { Pantools.logger.info("Downloading {} database from {}", databaseName, databaseUrl); + + // download database URL url = new URL(databaseUrl); FileUtils.copyURLToFile(url, functionalDatabasesPath.resolve(databaseName).toFile()); + + // check if download was successful + if (!functionalDatabasesPath.resolve(databaseName).toFile().exists()) { + throw new RuntimeException("Unable to download " + databaseName + " database."); + } + + // decompress database if (databaseName.endsWith(".tar.gz")) { Pantools.logger.debug("Unarchiving database."); unarchiveTarball(functionalDatabasesPath.resolve(databaseName), functionalDatabasesPath);