diff --git a/CHANGELOG.md b/CHANGELOG.md index f0bf1241ad04e4112f0d06d64bd69c7ccb6d67df..ff2512cb8ca982e9809ba585754e8ea225dec406 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ All notable changes to Pantools will be documented in this file. ### Fixed - Clearer error message for homology group identifiers that could not by found by `group_info` (!253). - Prevent NullPointerException in `gene_classification` (!254). +- Throw RuntimeException if empty homology-selection file in `msa` (!256). ## [4.3.2] - 20-12-2024 diff --git a/src/main/java/nl/wur/bif/pantools/utils/cli/mixins/SelectHmGroups.java b/src/main/java/nl/wur/bif/pantools/utils/cli/mixins/SelectHmGroups.java index 1ca4977a59b3d6ba1d26698e48c9a46eb23bfcf3..d378f4aa5671cd416a04f7115fd0a744d65aa895 100644 --- a/src/main/java/nl/wur/bif/pantools/utils/cli/mixins/SelectHmGroups.java +++ b/src/main/java/nl/wur/bif/pantools/utils/cli/mixins/SelectHmGroups.java @@ -9,6 +9,7 @@ import static picocli.CommandLine.*; import java.io.IOException; import java.nio.file.Path; +import java.util.ArrayList; import java.util.List; /** @@ -32,6 +33,16 @@ public class SelectHmGroups { public List<Long> getHomologyGroups() throws IOException, NumberFormatException { if (homologyGroups != null) return homologyGroups; - return (homologyGroupsFile == null) ? null : Utils.parseHmFile(homologyGroupsFile); + + if (homologyGroupsFile != null) { + List<Long> hmGroups = Utils.parseHmFile(homologyGroupsFile); + + if (hmGroups.isEmpty()) { + throw new RuntimeException("Homology file does not contain any homology groups"); + } + + return hmGroups; + } + return null; } }