96471ada1e945584ea0bbd8615fb1f54b743b011 angie Mon Jul 10 16:44:40 2023 -0700 Add a bit more info to error message about subtree with no user sample IDs. diff --git src/hg/hgPhyloPlace/runUsher.c src/hg/hgPhyloPlace/runUsher.c index 05f688d..8a60a4a 100644 --- src/hg/hgPhyloPlace/runUsher.c +++ src/hg/hgPhyloPlace/runUsher.c @@ -469,31 +469,31 @@ struct slName *userSampleIds) /* Parse usher's subtree output and figure out which user samples are in subtree. */ { struct subtreeInfo *ti; AllocVar(ti); ti->subtreeTn = subtreeTn; ti->subtree = phyloOpenTree(ti->subtreeTn->forCgi); struct hash *subtreeMutHash = hashVpnList(subtreeMuts); addMutationsToTree(ti->subtree, subtreeMutHash); if (hashNumEntries(subtreeMutHash) != 0) errAbort("addMutationsToTree: subtree has fewer nodes than defined in subtree mutations file"); ti->subtreeNameList = phyloLeafNames(ti->subtree); ti->subtreeIdToIx = slNameListToIxHash(ti->subtreeNameList); ti->subtreeUserSampleIds = getSubtreeSampleIds(userSampleIds, ti->subtreeIdToIx); if (slCount(ti->subtreeUserSampleIds) == 0) - errAbort("No user sample IDs found in subtree file %s", ti->subtreeTn->forCgi); + errAbort("No user sample IDs (out of %d) found in subtree file %s", slCount(userSampleIds), ti->subtreeTn->forCgi); hashFree(&subtreeMutHash); return ti; } static struct subtreeInfo *parseSubtrees(int subtreeCount, struct tempName *singleSubtreeTn, struct variantPathNode *singleSubtreeMuts, struct tempName *subtreeTns[], struct variantPathNode *subtreeMuts[], struct slName *userSampleIds) /* Parse usher's subtree output and figure out which user samples are in each subtree. * Add parsed singleSubtree at head of list, followed by numbered subtrees. */ { struct subtreeInfo *subtreeInfoList = NULL; int sIx; for (sIx = 0; sIx < subtreeCount; sIx++)