From e3bb71f3f845ccf3668d9ce63277b8d8324d42c3 Mon Sep 17 00:00:00 2001
From: peterjc
Date: Wed, 4 Apr 2012 11:43:12 +0100
Subject: [PATCH 1/1] Catch missing reference error in faidx (avoids floating
point exception)
---
faidx.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/faidx.c b/faidx.c
index f0798fc..51c82ac 100644
--- a/faidx.c
+++ b/faidx.c
@@ -337,6 +337,11 @@ char *fai_fetch(const faidx_t *fai, const char *str, int *len)
} else s[name_end] = ':', name_end = l;
}
} else iter = kh_get(s, h, str);
+ if(iter == kh_end(h)) {
+ fprintf(stderr, "[fai_fetch] Warning - Reference %s not found in FASTA file, returning empty sequence\n", str);
+ free(s);
+ return 0;
+ };
val = kh_value(h, iter);
// parse the interval
if (name_end < l) {
--
2.39.2