aboutsummaryrefslogtreecommitdiff
path: root/src/c/quikr.c
diff options
context:
space:
mode:
authorCalvin <calvin@EESI>2013-05-15 11:38:31 -0400
committerCalvin <calvin@EESI>2013-05-15 11:38:31 -0400
commitf5e6c210a95a98a4381e6142ad599e1ec3f8eff6 (patch)
treea5ceb05281dee78d4221eb9285ce1b52b36c1991 /src/c/quikr.c
parent8f32a80e865bd1bbde4c15be3f1d7ce9c3f9a430 (diff)
add some error checking
Diffstat (limited to 'src/c/quikr.c')
-rw-r--r--src/c/quikr.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/c/quikr.c b/src/c/quikr.c
index bb21093..e0ba77e 100644
--- a/src/c/quikr.c
+++ b/src/c/quikr.c
@@ -112,7 +112,6 @@ int main(int argc, char **argv) {
exit(EXIT_FAILURE);
}
-
if(verbose) {
printf("kmer: %d\n", kmer);
printf("lambda: %d\n", lambda);
@@ -121,11 +120,28 @@ int main(int argc, char **argv) {
printf("sensing database fasta: %s\n", sensing_fasta_filename);
printf("output: %s\n", output_filename);
}
+
+ if(access (sensing_matrix_filename, F_OK) == -1) {
+ fprintf(stderr, "Error: could not find %s\n", sensing_matrix_filename);
+ exit(EXIT_FAILURE);
+ }
+ if(access (sensing_fasta_filename, F_OK) == -1) {
+ fprintf(stderr, "Error: could not find %s\n", sensing_fasta_filename);
+ exit(EXIT_FAILURE);
+ }
+ if(access (input_fasta_filename, F_OK) == -1) {
+ fprintf(stderr, "Error: could not find %s\n", input_fasta_filename);
+ exit(EXIT_FAILURE);
+ }
+
// 4 "ACGT" ^ Kmer gives us the size of output rows
width = pow(4, kmer);
width = width + 1;
sequences = count_sequences(sensing_fasta_filename);
+ if(sequences == 0) {
+ fprintf(stderr, "Error: %s contains 0 fasta sequences\n", sensing_fasta_filename);
+ }
if(verbose) {
printf("width: %d\nsequences %d\n", width, sequences);