summaryrefslogtreecommitdiffstats
path: root/README (plain)
blob: f56193e484b0c8eecdf931b6d50083c9265c0287
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
Experiment 007
Don Pellegrino [don@drexel.edu]

Collection and inventory of influenza data.

INTRODUCTION

The "Influenza Virus Resource" at NCBI
[http://www.ncbi.nlm.nih.gov/genomes/FLU/] exposes the sequence records and
their meta-data in a number of different ways.  An exploration of the
phylogenetic properties of the records first requires that the available data
be collected and inventoried.

Two primary alternatives have been identified for managing the data.
A relational database can be used.  IBM DB2 has been used for this in
exp004.  The use of a relational database is limited by the difficulty
in sharing the data.  Each vendor uses incompatible import and export
routines.  Additionally installing an instance of a database
management system (DBMS) often requires a large amount of effort and
many not be practical on hosted environments which do not support the
running of user daemons.  Proper parallelization of a DBMS will
require additional system specific configuration for each machine
used.  Generally a single DB2 instance with Internet connectivity has
been used in conjunction with DB2 client installations on the
analytical environments.

An alternative to the DBMS is to use a container file format such as
HDF5.  This has the advantage that all of the data can be collected
into a single file which can then be shared with others.  It has the
disadvantage that it lacks the robust search and SQL operations
provided by a DBMS.  These two alternatives use fundamentally
different storage strategies with the DBMS using a relational model
and the container file format using a hierarchical model.

The "doc/Data Deployments.dia" diagram shows the source systems that
expose the various influenza records as well as the transform routines
that are used for aggregation of the data on the local system.
Initially it may appear that loading the text files directly into the
HDF5 container is redundant, particularly as a pure pre-processing
step.  This will be a redundant effort for cases where tools are used
which require yet another load step.  For custom C programs however
reading the data from disk and converting it from ASCII text to a
native datatype is a necessary preprocessing step.  Sharing the C
struct definitions between HDF5 and the native code is the key
differentiator between loading from text and loading from the binary
HDF5 container.  Since these read and conversion operations must be
done in the C code anyway the additional effort to save their results
in the HDF5 container are justified by any time that can be saved by
reusing the HDF5 data rather than rerunning the read and conversion
operations from plain text.

BUILDING

An autogen.sh script is provided to initialize the project directory
with the necessary GNU Autotools configuration.

When building on a Debian system the mpi.h file is in a subdirectory
of /usr/include and therefore not found within the default include
path.  To account for this run the following before running
./configure.

  $ export CPPFLAGS=-I/usr/include/mpi

TEST CASES

The "load_influenza_aa_dat" function loads a single tab delimited text
file into a table structure in the HDF5 file.  The HDFView GUI can be
used to open the loaded table and then export it back out as a text
file.  The text file can then be compared with the original input to
verify that the load was completed without error.

  $ diff --report-identical-files \
    /home/don/exp004/genomes/INFLUENZA/influenza_aa.dat \
    Protein\ Sequences.txt

  Files /home/don/exp004/genomes/INFLUENZA/influenza_aa.dat and
  Protein Sequences.txt are identical

 LocalWords:  NCBI parallelization HDF SQL Pellegrino phylogenetic DBMS dia mpi
 LocalWords:  autogen Autotools CPPFLAGS aa dat HDFView GUI diff txt exp pre
 LocalWords:  datatype struct

Valid XHTML 1.0 Strict

Copyright © 2009 Don Pellegrino All Rights Reserved.