summaryrefslogtreecommitdiffstats
Unidiff
-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 @@
1#include "error/check_error.h"
2#include "error/check_h5_error.h"
3#include "load_influenza_faa.h"
4#include "model/sequence_data.h"
5#include "model/sequence_data_init.h"
6#include <hdf5_hl.h>
7#include <string.h>
8#include <stdlib.h>
9
10void
11load_influenza_faa (hid_t file_id)
12{
13 size_t dst_size;
14 size_t dst_offset[SEQUENCE_DATA_FIELD_NUM];
15 size_t dst_sizes[SEQUENCE_DATA_FIELD_NUM];
16 hid_t field_type[SEQUENCE_DATA_FIELD_NUM];
17
18 sequence_data_init (&dst_size, dst_offset, dst_sizes, field_type);
19
20 hsize_t chunk_size = 10;
21 int *fill_data = NULL;
22 int compress = 0;
23
24 sequence_data p_data;
25 FILE *dat = fopen ("/home/don/exp004/genomes/INFLUENZA/influenza.faa",
26 "r");
27 if (dat == NULL)
28 check_error (__FILE__, __LINE__);
29 char *line = NULL;
30 size_t len = 0;
31 int current_line = 0;
32
33 while (getline (&line, &len, dat) != -1)
34 {
35 current_line++;
36
37 // Header line.
38 if (line[0] == '>')
39 {
40 char *running = strdup (line);
41 char *token = NULL;
42
43 // Eat the ">gi".
44 strsep (&running, "|");
45
46 // GI value.
47 token = strsep (&running, "|");
48 p_data.gi = atoi (token);
49
50 // Eat the "gb"
51 strsep (&running, "|");
52
53 // GB value.
54 strncpy (p_data.gb, strsep(&running, "|"), sizeof (p_data.gb));
55
56 // Description value.
57 strncpy (p_data.description, strsep (&running, "|"),
58 sizeof (p_data.description));
59
60 const char* sequence_data_field_names[SEQUENCE_DATA_FIELD_NUM] =
61 SEQUENCE_DATA_FIELD_NAMES;
62
63 if (current_line == 1)
64 {
65 herr_t status = H5TBmake_table ("influenza.faa", file_id,
66 "influenza.faa",
67 SEQUENCE_DATA_FIELD_NUM, 1,
68 dst_size, sequence_data_field_names,
69 dst_offset, field_type,
70 chunk_size, fill_data, compress,
71 &p_data);
72 if (status < 0)
73 check_h5_error (status, __FILE__, __LINE__);
74 }
75 else
76 {
77 herr_t status =
78 H5TBappend_records (file_id, "influenza.faa", 1, dst_size,
79 dst_offset, dst_sizes, &p_data);
80 if (status < 0)
81 check_h5_error (status, __FILE__, __LINE__);
82 }
83
84 if (running)
85 free (running);
86
87 }
88
89 }
90
91 if (line)
92 free (line);
93
94 fclose (dat);
95
96 return;
97}

Valid XHTML 1.0 Strict

Copyright © 2009 Don Pellegrino All Rights Reserved.