summaryrefslogtreecommitdiffstats
Side-by-side diff
-rw-r--r--analysis/year.R20
-rw-r--r--src/Makefile.am39
-rw-r--r--src/aggregator.c6
-rw-r--r--src/assign/assign_protein_type.c (renamed from src/assign_protein_type.c)87
-rw-r--r--src/assign/assign_protein_type.h (renamed from src/assign_protein_type.h)0
-rw-r--r--src/error/check_error.c (renamed from src/check_error.c)0
-rw-r--r--src/error/check_error.h (renamed from src/check_error.h)0
-rw-r--r--src/error/check_h5_error.c (renamed from src/check_h5_error.c)0
-rw-r--r--src/error/check_h5_error.h (renamed from src/check_h5_error.h)0
-rw-r--r--src/error/check_ncbi_error.c (renamed from src/check_ncbi_error.c)0
-rw-r--r--src/error/check_ncbi_error.h (renamed from src/check_ncbi_error.h)0
-rw-r--r--src/load/load_influenza_aa_dat.c (renamed from src/load_influenza_aa_dat.c)4
-rw-r--r--src/load/load_influenza_aa_dat.h (renamed from src/load_influenza_aa_dat.h)0
-rw-r--r--src/load/load_influenza_faa.c (renamed from src/load_influenza_faa.c)10
-rw-r--r--src/load/load_influenza_faa.h (renamed from src/load_influenza_faa.h)0
-rw-r--r--src/model/gi_type_data.h21
-rw-r--r--src/model/gi_type_data_init.c36
-rw-r--r--src/model/gi_type_data_init.h14
-rw-r--r--src/model/sequence_data.h (renamed from src/sequence_data.h)5
-rw-r--r--src/model/sequence_data_init.c (renamed from src/sequence_data_init.c)6
-rw-r--r--src/model/sequence_data_init.h (renamed from src/sequence_data_init.h)0
-rw-r--r--src/updator.c4
22 files changed, 181 insertions, 71 deletions
diff --git a/src/load/load_influenza_faa.c b/src/load/load_influenza_faa.c
new file mode 100644
index 0000000..a217989
--- a/dev/null
+++ b/src/load/load_influenza_faa.c
@@ -0,0 +1,97 @@
+#include "error/check_error.h"
+#include "error/check_h5_error.h"
+#include "load_influenza_faa.h"
+#include "model/sequence_data.h"
+#include "model/sequence_data_init.h"
+#include <hdf5_hl.h>
+#include <string.h>
+#include <stdlib.h>
+
+void
+load_influenza_faa (hid_t file_id)
+{
+ size_t dst_size;
+ size_t dst_offset[SEQUENCE_DATA_FIELD_NUM];
+ size_t dst_sizes[SEQUENCE_DATA_FIELD_NUM];
+ hid_t field_type[SEQUENCE_DATA_FIELD_NUM];
+
+ sequence_data_init (&dst_size, dst_offset, dst_sizes, field_type);
+
+ hsize_t chunk_size = 10;
+ int *fill_data = NULL;
+ int compress = 0;
+
+ sequence_data p_data;
+ FILE *dat = fopen ("/home/don/exp004/genomes/INFLUENZA/influenza.faa",
+ "r");
+ if (dat == NULL)
+ check_error (__FILE__, __LINE__);
+ char *line = NULL;
+ size_t len = 0;
+ int current_line = 0;
+
+ while (getline (&line, &len, dat) != -1)
+ {
+ current_line++;
+
+ // Header line.
+ if (line[0] == '>')
+ {
+ char *running = strdup (line);
+ char *token = NULL;
+
+ // Eat the ">gi".
+ strsep (&running, "|");
+
+ // GI value.
+ token = strsep (&running, "|");
+ p_data.gi = atoi (token);
+
+ // Eat the "gb"
+ strsep (&running, "|");
+
+ // GB value.
+ strncpy (p_data.gb, strsep(&running, "|"), sizeof (p_data.gb));
+
+ // Description value.
+ strncpy (p_data.description, strsep (&running, "|"),
+ sizeof (p_data.description));
+
+ const char* sequence_data_field_names[SEQUENCE_DATA_FIELD_NUM] =
+ SEQUENCE_DATA_FIELD_NAMES;
+
+ if (current_line == 1)
+ {
+ herr_t status = H5TBmake_table ("influenza.faa", file_id,
+ "influenza.faa",
+ SEQUENCE_DATA_FIELD_NUM, 1,
+ dst_size, sequence_data_field_names,
+ dst_offset, field_type,
+ chunk_size, fill_data, compress,
+ &p_data);
+ if (status < 0)
+ check_h5_error (status, __FILE__, __LINE__);
+ }
+ else
+ {
+ herr_t status =
+ H5TBappend_records (file_id, "influenza.faa", 1, dst_size,
+ dst_offset, dst_sizes, &p_data);
+ if (status < 0)
+ check_h5_error (status, __FILE__, __LINE__);
+ }
+
+ if (running)
+ free (running);
+
+ }
+
+ }
+
+ if (line)
+ free (line);
+
+ fclose (dat);
+
+ return;
+}

Valid XHTML 1.0 Strict

Copyright © 2009 Don Pellegrino All Rights Reserved.