NIH | National Cancer Institute | NCI Wiki  

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

Panel
titleContents of this Page
Table of Contents
minLevel2

Include Page

...

VKC:VKC GForge Link Notice to Include

...

VKC:VKC GForge Link Notice to Include

LexBIG Software User Agreement

...

Code Block
Copyright: (c) 2004-2006 Mayo Foundation for Medical Education and
Research (MFMER).  All rights reserved.  MAYO, MAYO CLINIC, and the
triple-shield Mayo logo are trademarks and service marks of MFMER.
 
Except as contained in the copyright notice above, the trade names,
trademarks, service marks, or product names of the copyright holder shall
not be used in advertising, promotion or otherwise in connection with
this Software without prior written authorization of the copyright holder.
Licensed under the Eclipse Public License, Version 1.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
 
              http://www.eclipse.org/legal/epl-v10.html
 
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

...

Type

Contact

Training contact

VKC VocabKC@mayo.edu

Developer

Division of Biomedical Informatics Mayo Clinic
200 1st ST SW
Rochester, MN 55905
informatics@mayo.edu

Facilities Pertinent to Software Teams

Resource

URL

Description

Bug Tracking and feature requests

Bug Reports and Feature Requests To Include

JIRA

Discussion Forums and Project Wiki

This wiki

Vocabulary Knowledge Center

Architecture and Requirements specifications

Code Block
https://gforge.nci.nih.gov/scm/?group_id=491

LexEVS SVN repository

...

Convention

Description

Example

Bold & Capitalized Command

Indicates a Menu command

 

Capitalized command>Capitalized command

Indicates Sequential Menu commands

Admin > Refresh

Special typestyle

Used for filenames, directory names, commands, file listings, source code examples and anything that would appear in a Java program, such as methods, variables, and classes.

URL_definition ::= url_string

Boldface type

Options that you select in dialog boxes or drop-down menus. Buttons or icons that you click.

Select the file and click the Open button.

Italics

Used to reference other documents, sections, figures, and tables.

caCORE Software Development Kit 1.0 Programmer's Guide

Italic boldface type

Text that you type

In the New Subset text box, enter Proprietary Proteins.

Info
 

Highlights a concept of particular interest

Info
titleNote

This concept is used throughout the installation manual.

Warning
 

Highlights information of which you should be particularly aware.

Warning
titleWarning

Deleting an object will permanently delete it from the database.

...

Directory

Description of Content

admin

Installed by default. This directory provides a centralized point for command line scripts that can be executed to perform administrative functions such as the loading, activation/deactivation, and removal of vocabulary resources.

Info
titleNote

Programmers may be interested in the code used to execute these functions. In that light, it is perhaps noteworthy to mention that this directory does not contain any source or binary code, only the scripts used to launch the admin functions.

Object code used to carry out these functions is included directly in the LexBIG runtime components. Source code is included in the /source directory in the lbAdmin-src.jar (described below).

doc

Optionally installed. This directory provides documentation related to LexBIG services, configuration, and execution. This guide is distributed in the /doc top-level directory.

/doc/javadoc

Of special interest to programmers. This directory provides the generated javadoc for model classes and public interfaces available to LexBIG programmers. Also included with each object representation is a UML-based model diagram that shows the object, its attributes and operations, and immediately linked objects. The diagrams work to provide clickable navigation through the javadoc materials.

/examples

Optionally installed. This directory provides a small number of example programs.
Refer to the README.txt file in this directory for instructions used to configure and run the example programs. The examples are intended to provide a limited interactive demonstration of LexBIG capabilities. Source and object code for the example programs is provided under the /examples/org subdirectory. Source materials are also centrally archived under the /source directory in the file lbExamples-src.jar.

/examples
/resources

Contains sample vocabulary content for reference by the example programs; use the /examples/LoadSampleData command-line script to load.

/gui

Optionally installed. This folder contains programs and supporting files to launch the LexBIG Graphical User Interface (GUI). The GUI provides convenient centralized access to administrative functions as well as support to test and exercise most of the LexBIG API. The GUI is launched using a platform-specific script file in the /gui directory. The name of the platform (e.g. Windows, OSX, etc) is included in the file name. Program source and related materials are centrally archived under the /source directory in the file lbGUI-src.jar.

/logs

Default location for log files, which can be modified by the LOG_FILE_LOCATION entry in the config.props file (see next section).

/resources

Installed by default. This directory contains resources referenced and written directly by the LexBIG runtime. It should, in general, be considered off-limits to modify or remove the content of this directory without specific guidance and reason to do so. Files typically stored to this location include the vocabulary registry (tracking certain metadata for installed content) and indexes used to facilitate query over the installed content. One file of particular interest in this directory is the /resources/config/config.props file. This file controls access to the database repository and other settings used to tune the LexBIG runtime behavior. Contents of this file should be set according to instructions provided by the LexBIG Administrator's Guide.

/runtime

Installed by default. This directory contains a Java archive (.jar) file containing the combined object code of the LexBIG runtime, LexBIG administrative interfaces, and any additional code they are dependent on. All required code for execution of LexBIG administrative and runtime services is installed to this directory.

Info
titleNote

Java programmers writing to the LexBIG runtime interfaces should always include the following files in their java classpath (listed in order of inclusion):

  • /runtime/lbPatch.jar - In the course of the product lifecycle, it is possible that smaller fixes will be introduced as a patch to the initially distributed runtime. Including this file in the classpath ensures automatic accessibility to the calling program without requiring adjustment. All patches are cumulative (there is at most one patch file introduced per release; all patch-level fixes are cumulative).
  • /runtime/lbRuntime.jar - This is the standard runtime file, including all LexBIG and dependency code required for program execution except for SQL drivers (see next).

/runtime
/sqldrivers

The JDBC drivers used to connect to database repositories are not included in the lbRuntime.jar. Instead, the runtime scans this directory for the drivers to include. This can be overridden by path settings in the config.props file.

Info
titleNote

While the LexBIG software package ships with JDBC drivers to certain open source databases such as mySQL and PostgreSQL, this folder provides a mechanism to introduce updated drivers or to add drivers for additional supported database systems. For example, the Oracle database is supported by the runtime environment. However, the drivers are not redistributed with the LexBIG software. To run against Oracle, an administrator would add a jar with the appropriate JDBC driver to this directory and then reference it in the config.props settings.

/runtime-components

Optionally installed. Due to license considerations for additional materials (as described by the license.pdf and license.txt files in the install directory), the cumulative runtime provided in the lbRuntime.jar is not redistributable. This directory contains a finer grain breakdown of object code into logical components and 3rd party inclusions. All components are redistributable under their own license agreements, which are provided along with each archive. The top-level of the /runtime-components directory contains all code produced for the LexBIG project in a single lexbig.jar file.

Info
titleNote

These files are included as an alternative to the lbRuntime.jar for code execution and redistribution. There is no need to include any of these files in the Java classpath if you are already including the lbPatch.jar and lbRuntime.jar described above.

/runtime-components/extlib

This subdirectory includes all 3rd party code redistributed with the LexBIG runtime, along with respective license agreements.

/source

Archive source directories and files described in further detail in the next table below.

/test

Optionally installed. This directory provides an automated test bucket that can be used by System Administrators to verify node installation. Note that the /runtime/config/config.props file must still be configured for database access prior to invoking the test bucket. Testcases are launched via the TestRunner command-line script. Several reporting options are provided and are further described in the LexBIG Administrator's Guide.

Info
titleNote

Programmers may be interested in referencing the source code for the test programs. These are provided in the /source directory (described in the next table).

/uninstaller

Contains an executable jar that can be invoked by an administrator to uninstall files originally introduced by the LexBIG installation.

...

Example source is provided below for a simple program that lists the available coding schemes (containers for vocabulary concepts and relations) registered to a LexBIG server node:

Code Block

import org.LexGrid.LexBIG.DataModel.Collections.CodingSchemeRenderingList;
import org.LexGrid.LexBIG.DataModel.InterfaceElements.CodingSchemeRendering;
import org.LexGrid.LexBIG.Impl.LexBIGServiceImpl;
import org.LexGrid.LexBIG.LexBIGService.LexBIGService;
import org.LexGrid.LexBIG.Utility.ObjectToString;

public class ListCodeSystems {
     public static void main(String[] args) {
          try {
               LexBIGService lbs = new LexBIGServiceImpl();
               CodingSchemeRenderingList schemes = lbs.getSupportedCodingSchemes();
               for (CodingSchemeRendering csr
                         : schemes.getCodingSchemeRendering() )
                    System.out.printIn(

     ObjectToString.toString(csr.getCodingSchemeSummary()));
          } catch (Exception e) {
               e.printStackTrace();
          }

...

This section describes architectural detail for services provided by the LexBIG system. These services are geared toward the administration, management, and serving of vocabularies defined to the LexGrid/LexBIG information model. A system overview is provided, followed by a description of key subsystems and components. Each subsystem is described in terms of its overall structure, formal model, and specification of key public interfaces.

Image Modified

Overview

The LexBIG Service is designed to run standalone or as part of a larger network of services. It is comprised of four primary subsystems: Service Management, Service Metadata, Query Operations, and Extensions. The Service Manager provides administration control for loading a vocabulary and activating a service. The Service Metadata provides external clients with information about the vocabulary content (e.g. NCI Thesaurus) and appropriate licensing information. The Query Operations provide numerous functions for querying and traversing vocabulary content. Finally, the extensions component provides a mechanism to extend the specific service functions, such as Loaders, or re-wrap specific query operations into convenience methods. Primary points of interaction for programming include the following classes:

...

Finally, the LexBIG architecture provides the underpinnings for LexBIG services to be made accessible through the caGRID environment in the future, where vocabulary services might be deployed and discovered within a caGRID Globus container. However, this portion of the API is preliminary and awaits coordination with caBIG® Architecture WS designees to determine exact recommendations and nature of LexBIG services on the grid.

Query Subsystem

Image Modified

Overview

This subsystem provides the functionality required to fulfill caCORE/EVS and other vocabulary requests. The Query Service is comprised of Lexical Operations, Graph Operations, Metadata, and History Operations.

...

Component

Description

changeType

Atomic modification actions. Currently populated from a combination of Concordia, SNOMED-CT list and NCI's action list.

NCIChangeEvent

A change event as documented in ftp://ftp1.nci.nih.gov/pub/cacore/EVS/ReadMe_history.txt

Image Removed

. Note that date and time of the change event is recorded in the containing version. All change events for the same/date and time a recorded in the same version.

...

Code Block
Linux_64-lbGUI.sh		Linux-lbGUI.sh	
OSX-lbGUI.command		Windows-lbGUI.bat

...

If a Code Set is selected in the lower left, then the lower right section will look like this:

Image Modified

In the lower right section, there are two halves - the top half and the bottom half. The top half is used to apply restrictions. The bottom half provides query options and resolution.

...

If you select a Coded Node Graph in the lower left section of the LexBIG GUI, the lower right section will look like this:

Image Modified

Again, there are two halves to the lower right section. The top half allows restrictions to be applied to the selected Code Graph, and it works the same as it does for a Coded Node Set. Please see the section above on applying restrictions to a Coded Node Set.

...

Clicking on the Resolve buttons for either a Coded Node Set or a Coded Node Graph will bring up the Result Browser window:

Image Modified

The left side shows a list of all the concept codes returned. When a concept code is selected on the left, the upper right will show a full description of the selected code. The lower right will show a graph view of the neighboring concepts.

...

This appendix includes lists and hypertext links, where appropriate, to technical manuals, articles, scientific publications and online resources related to the LexBIG project.

Appendix B Included Materials

...

Redistributable components (e.g. those listed below) and associated license terms are also made available. The redistributable components provide equivalent content and function, but require more extensive configuration for program execution. |

lexbig

This archive includes the LexBIG runtime code, excluding all dependencies.

lbGUI

The LexBIG graphical user interface runtime code, excluding all dependencies.

activation

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include

Provided by Sun's reference implementation of the JavaBeans Activation Framework (JAF)

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include
standard extension. Used for e-mail notification when runtime errors occur.

caGrid

Grid infrastructure to support the caBIG® community. Contains tools for creating and deploying caBIG®-compliant grid services.

commons-cli

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include

Provides a simple API for working with command line arguments, options, option groups, mandatory options and so forth.

commons-codec

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include

Provides implementations of common Provides implementations of common encoders and decoders such as Base64, Hex, Phonetic and URLs.

commons-collections

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include

Provides a suite of classes that extend or augment the Java Collections Framework.

commons-lang

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include

Provides a very common set of utility classes that provide extra functionality for classes in the java.lang package.

commons-logging

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include

Provides a bridge between different logging libraries.

commons-pool

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include

Provides a generic object pooling interface, a toolkit for creating modular object pools and several general purpose pool implementations.

gnu-regexp

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include

Provides a Java language implementation of Provides a Java language implementation of standard NFA regular expression features.

hsqldb

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include

SQL relational database engine written in Java.

icu4j

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include

International components for Unicode processing.

jakarta-regexp

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include

Java package for processing regular expressions.

jcalendar

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include

Java date chooser bean for graphically picking a date.

jdom

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include

Java-based solution for accessing, manipulating, and outputting XML data from Java code.

jena

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include

Java framework for building Semantic Web

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include
applications.

junit

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include

Java regression test framework. .

log4j

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include
log4j

Runtime logging services.

lucene-core

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include

Text search engine library written in Java.
Provides support for regular expression-based queries.
Provides stemming support for indexed concepts.

mail

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include

Provided by the Sun JavaMail API

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include
. Used for e-mail notification when runtime errors occur.

mm.mysql (drivers, 2.0.6)

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer

JDBC drivers for MySQL database.

PageWithExcerptwikicontent:Exit Disclaimer to Include

JDBC drivers for MySQL database.

org.eclipse.

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include
org.eclipse.*

Used internally by LexBIG load and export extensions to access and manipulate Eclipse Modeling Framework (EMF)

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include
model representations.

postgresql (drivers)

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include

JDBC drivers for PostgreSQL database.

prefuse

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include

Used for graph representations in the LexBIG GUI.

swt

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include
( swt .jar)

Provides the underlying widget toolkit used by the LexBIG GUI.

xerces

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include

XML parsing services.

Appendix C Additional Terms and Conditions

...