summaryrefslogtreecommitdiffstats
Side-by-side diff
-rw-r--r--src/assign_protein_type.c29
-rw-r--r--src/load_influenza_aa_dat.c2
-rw-r--r--src/load_influenza_faa.c42
3 files changed, 59 insertions, 14 deletions
diff --git a/src/load_influenza_faa.c b/src/load_influenza_faa.c
index 61bb99d..749b7ad 100644
--- a/src/load_influenza_faa.c
+++ b/src/load_influenza_faa.c
@@ -5,6 +5,8 @@
#include <string.h>
#include <stdlib.h>
+#define SEQUENCE_DATA_FIELD_NUM 4
+
void
load_influenza_faa (hid_t file_id)
{
@@ -13,24 +15,27 @@ load_influenza_faa (hid_t file_id)
int gi;
char gb[9];
char description[196];
+ char protein_type[7];
} sequence_data;
-
+
size_t dst_size = sizeof (sequence_data);
- size_t dst_offset[3] =
+ size_t dst_offset[SEQUENCE_DATA_FIELD_NUM] =
{ HOFFSET (sequence_data, gi),
HOFFSET (sequence_data, gb),
- HOFFSET (sequence_data, description)
+ HOFFSET (sequence_data, description),
+ HOFFSET (sequence_data, protein_type)
};
sequence_data dst_buf[1];
- size_t dst_sizes[3] = {
+ size_t dst_sizes[SEQUENCE_DATA_FIELD_NUM] = {
sizeof (dst_buf[0].gi),
sizeof (dst_buf[0].gb),
- sizeof (dst_buf[0].description)
+ sizeof (dst_buf[0].description),
+ sizeof (dst_buf[0].protein_type)
};
- hid_t field_type[3];
+ hid_t field_type[SEQUENCE_DATA_FIELD_NUM];
field_type[0] = H5T_NATIVE_INT;
@@ -42,9 +47,15 @@ load_influenza_faa (hid_t file_id)
H5Tset_size (description_type, 196);
field_type[2] = description_type;
- const char *field_names[3] = { "GI",
- "GB",
- "Description" };
+ hid_t protein_type_type = H5Tcopy (H5T_C_S1);
+ H5Tset_size (protein_type_type, 7);
+ field_type[3] = protein_type_type;
+
+ const char *field_names[SEQUENCE_DATA_FIELD_NUM] =
+ { "GI",
+ "GB",
+ "Description",
+ "Protein Type" };
hsize_t chunk_size = 10;
int *fill_data = NULL;
@@ -86,13 +97,17 @@ load_influenza_faa (hid_t file_id)
strncpy (p_data.description, strsep (&running, "|"),
sizeof (p_data.description));
+ strncpy (p_data.protein_type, "", sizeof (p_data.protein_type));
+
if (current_line == 1)
{
herr_t status = H5TBmake_table ("influenza.faa", file_id,
- "influenza.faa", 3, 1, dst_size,
- field_names, dst_offset,
- field_type, chunk_size,
- fill_data, compress, &p_data);
+ "influenza.faa",
+ SEQUENCE_DATA_FIELD_NUM, 1,
+ dst_size, field_names,
+ dst_offset, field_type,
+ chunk_size, fill_data, compress,
+ &p_data);
if (status < 0)
check_h5_error (status, __FILE__, __LINE__);
}
@@ -119,6 +134,7 @@ load_influenza_faa (hid_t file_id)
H5Tclose (gb_type);
H5Tclose (description_type);
+ H5Tclose (protein_type_type);
return;
}

Valid XHTML 1.0 Strict

Copyright © 2009 Don Pellegrino All Rights Reserved.