-rw-r--r-- | analysis/year.R | 20 | ||||
-rw-r--r-- | src/Makefile.am | 39 | ||||
-rw-r--r-- | src/aggregator.c | 6 | ||||
-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.h | 21 | ||||
-rw-r--r-- | src/model/gi_type_data_init.c | 36 | ||||
-rw-r--r-- | src/model/gi_type_data_init.h | 14 | ||||
-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.c | 4 |
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; +} |