additional data file - BioMedSearch

outstandingmaskData Management

Nov 29, 2012 (5 years and 5 months ago)



Functionality and Implementation


The functionality in FEED has four overall components: 1)
Management of u
s and the

audit system; 2) entering and managing records and descriptive
metadata at each level in the hierarchical data model (see

Data Model); 3) upload and
storage of physiologic recordings; and 4) search and download of recordings as well as
their associated metadata.

All creation and update actions in FEED are associated with a specific user, and
thus each contributing user has

an account in the system. Users can have different levels
of privileges. Those with
database administrator privileges have read and write access to
all of the metadata, the physiologic data, and
the controlled vocabularies, and can


A user c
an belong to one or both of contributor

and terminologist

user groups.
Contributors have read and write access to the studies they deposited themselves and
only (search and download) access to other studies. Terminologists can add, delete,
and ed
it terms i
n the controlled vocabularies.

Data entry is designed to flow in a hierarchical order from Study through Trial
(see Data Model). This flow derives from the logical flow of metadata that a researcher
would annotate in a laboratory notebook.

owing this model, the system provides
based user interfaces for specifying controlled and free
text attributes, for
uploading illustrations, and for supplying extended free
text narratives. The latter
capture details about feeding behaviors, anatomi
cal structures, and data acquisition
protocols that are not formalized in the controlled vocabulary.

FEED stores one raw data file associated with each Trial record. The expected
format of tab
delimited columns of numbers (see Data Model) is supported as
an export


format by most
software for managing
oratory data

(e.g., IgorPro, WaveMetrics,
Portland OR).
Files are uploaded through the

’s web browser

users can search the database by controlled metadata terms, select Trials of
interest, a
nd download the data recordings as well as associated metadata in tabular form.
permits searching trials by five metadata elements: Species, Muscle, Sensor,
Primary Behavior, and Food Type. The list of primary behaviors that is searchable
s to the feeding behaviors in the controlled vocabulary (Table 2).

Results of

are displayed in tabular format with information given about Trial, Species,
Primary behavior, Food type, Technique (i.e., sensor),
Anatomical Location.

Any of

Trials from the search results can be placed into a

“bucket”, which
is a user
shopping cart

of the content that a user wants to download from FEED.
Once Trials have
been collected into a bucket, their metadata, raw physiologic data, or both can b
downloaded, bundled into
a compressed zip file.

After download, the metadata files can
be opened with software such as MS Excel (Microsoft Corp., Seattle WA.).

FEED is implemented as a web application that provides a dynamic and
interactive graphical us
er interface (GUI) and a relational database that stores and indexes
the metadata

and vocabularies
. The raw data files are stored on the server’s file system.
Screen shots illustrating the user
interfaces for data entry, search, and download are

in Supplementary Data 2.

The web application is implemented in

the Python programming language
), a scripting language that is supported on most major operating

and is well
suited to

rapid application prototyping.

We built FEED on the
Django web
application framework (
), which has much of


the functionality generically needed for web applications al
ready built
in. The parts of the
user interface that deal with browsing, creating, and manipulating metadata records in the
database were adapted from

Admin, a

Django add
on component (django.contrib.admin

For running the database we use Postgre
), a full
featured open
source relational database management system. All server
interactions of the web application with the database, including querying, inserting, and
ifying data are implemented with a Django component that abstracts these
programming tasks from the SQL query language flavor understood by a particular
database management system and should thus work with most modern relational database
management systems

All source code for FEED, including documentation for how to build and install
the application, is freely available under the GNU General Public License (version 3)

All components used by FEED are also open
source and freely available.