This page is intended to provide a ready-reference for LexBIG system administrators and candidate material for inclusion in the next release of the LexBIG Administration Guide.
As primary reference, see the Installation and Administration Guide in the GForge archive.
LexBIG source folders have been distributed to the NCI CVS repository:
Link provided for historical purposes cbiocvs2.nci.nih.gov:/share/content/gforge/lexbig |
This location is maintained as a mirror for all source and packaging materials required to build LexBIG product installers. Files are refreshed from the primary development repository (maintained internally by Mayo Clinic) for each milestone release.
Development and build processes are not dependent on a particular CVS client or programming environment. However, files with the extension '.classpath' and '.project' have been inserted into each project folder to help facilitate compilation and use within the Eclipse development environment .
JBoss tends to run out of memory while running with the default settings of JBoss. To fix the problem, modify the run.conf file under JBOSS_home/bin to change the memory setting and how frequently the rmi garbage collector runs, by editing the JAVA_OPTS line as follows:
if [[ "x$JAVA_OPTS" = "x" ]; then JAVA_OPTS="-server -XX:!MaxPermSize=128m -Xms256m -Xmx2000m -Dsun.rmi.dgc.client.gcInterval=120000 -Dsun.rmi.dgc.server.gcInterval=120000" fi |
MySQL can be passed a jdbc option for the Windows local environment that may improve perfomance 30 to 50%.
Try the following values in the config.props file for the DB_URL:
SINGLE_DB_MODE=true DB_URL=jdbc:mysql:///<dbname>?socketFactory=com.mysql.jdbc.NamedPipeSocketFactory DB_DRIVER=org.gjt.mm.mysql.Driver DB_USER=root DB_PASSWORD= DB_PREFIX=lb DB_PARAM= |
This uses Windows Named Pipe function and avoids use of the TCP/IP protocol. It only works when connecting with a local iteration of the MySQL database on Windows.
LexBIG is distributed with an older version of the Java MySQL driver due to licensing concerns. If LexBIG reports an error concerning establishing a connection to the MySQL server yet the MySQL CLI is able to connect, a new version of Connector/J may be required.
The latest version of Connector/J is available from MySQL.org. The new jar should be placed in the LexGrid/LexBIG/2.0.0/runtime/sqlDrivers/ directory. Remove the existing mm.mysql-2.0.6.jar to ensure that the class loader does not incorrectly load the older driver file.
LexBIG Release July/Aug 2007
A "Coding Scheme Manifest" (or simply "manifest" as used interchangeably in this document) encapsulates the user supplied values to set for a coding scheme while loading or converting an OWL (currently it is supported only for OWL type of files) source to LexGrid format.
Coding Scheme is the term that is used to represent an ontology/terminology being loaded or converted. In the LexGrid data model a terminology is represented as a coding scheme and it can reference other coding schemes. An example of coding scheme is "Amino Acid" which is described in the "amino-acid.owl" file.
A Coding Scheme has some meta information about it; values like 'formal name', 'local names', 'default language', 'version', 'copyright', 'sources' to name some.
When a terminology is being converted to the LexGrid data model from its native format (in this case OWL), Coding Scheme information is read from the source file. Sometimes values may be missing (not provided or invalid) or the author/user of the terminology wants to override or set default values despite (or in addition to) what is provided in the source file. This can be accomplished using "manifest" files along with the source file.
A coding scheme manifest file is a valid XML file, conforming to the schema defined by http://LexGrid.org/schema/LexBIG/2007/01/CodingSchemeManifestList.xsd .
This XML file can define values for one or more coding schemes you are dealing with. Some coding scheme meta-information may not easily map to information in the source file. In this case a manifest file is of great help to bridge the gap and control the information flow while mapping to the LexGrid model. A detailed model of the LexGrid Coding Scheme and its fields can be found online. Structure of the schema for the manifest file is explained in the following table (manifest components refer to the original LexGrid model schema namespaces and types):
Description:
The registered name is the key used to find a coding scheme (for example a unique URL or namespace by which other people access same coding scheme). This String value will be used to identify the manifest entry in the manifest file for the coding scheme too. For example the registered name for coding scheme "Amino-acid" isĀ
Historical link http://www.co-ode.org/ontologies/amino-acid/2006/05/18/amino-acid.owl# |
This string is also set as the coding scheme's registered name field in the LexGrid model.
Here are some example coding scheme manifest entries:
<CodingSchemeManifestList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://LexGrid.org/schema/2006/01/LexOnt/CodingSchemeManifestList http://LexGrid.org/schema/LexBIG/2007/01/CodingSchemeManifestList.xsd" xmlns:owldef="http://LexGrid.org/schema/2006/01/LexOnt/CodingSchemeManifestList" xmlns="http://LexGrid.org/schema/2006/01/LexOnt/CodingSchemeManifestList"> <entry id="http://www.co-ode.org/ontologies/amino-acid/2006/05/18/amino-acid.owl#"> <codingScheme>amino</codingScheme> <entityDescription>This is AminoAcide Description from Manifest.</entityDescription> <formalName>Amino Acid Ontology</formalName> <defaultLanguage>en</defaultLanguage> <representsVersion>2005/10/11</representsVersion> <localName>myLocalName</localName> <source subRef="ontologies">COODE</source> <copyright>This is copyright</copyright> <owldef:mappings dc="mappings" xmlns="http://LexGrid.org/schema/2006/01/LexGrid/codingSchemes"> <supportedLanguage localId="en" urn="urn:oid:2.16.840.1.113883.6.84:en"/> <supportedFormat localId="text_plain" urn="urn:oid:2.16.840.1.113883.6.10:text_plain"/> <supportedSource localId="COODE" urn="http://www.co-ode.org/"/> </owldef:mappings> <associationDefinitions> <assoc association="testRelation" forwardName="testRelation" reverseName="testRelationInverse" isTransitive="true" isReflexive="true" targetCodingScheme= "http://www.co-ode.org/ontologies/amino-acid/2006/05/18/outside#"/> </associationDefinitions> </entry> <entry id="urn:oid:2.16.840.1.113883.3.26.1.1"> <codingScheme>NCI Thesaurus CS Manifest</codingScheme> <entityDescription>This is NCI Thesaurus Description from Manifest.</entityDescription> <formalName>NCI Thesaurus Formal From Manifest</formalName> <defaultLanguage>en</defaultLanguage> <representsVersion>manifestVersion</representsVersion> <localName>NCILocalName</localName> <source subRef="ontologies" >NCIManifestSource</source> <copyright>This is copyright for NCI Thesaurus</copyright> %%% <owldef:mappings dc="mappings" xmlns="http://LexGrid.org/schema/2006/01/LexGrid/codingSchemes"> <supportedSource localId="COODE" urn="http://www.co-ode.org/"/> </owldef:mappings> <associationDefinitions> <assoc association="testRelation" forwardName="testRelation" reverseName="testRelationInverse" isTransitive="true" isReflexive="true" targetCodingScheme= "urn:oid:2.16.840.1.113883.3.26.1.1"/> </associationDefinitions> </entry> </CodingSchemeManifestList> |
Currently a coding scheme manifest file is only supported when loading OWL sources. Support for other formats is in-works. If you want to use the manifest file, you can supply the manifest file URI to the following methods:
"org.LexGrid.LexBIG.Extensions.Load.OWL_Loader.load()" "org.LexGrid.LexBIG.Extensions.Load.OWL_Loader.validate()" |
An example code snippet:
LexBIGService lbs = new LexBIGServiceImpl(); LexBIGServiceManager lbsm = lbs.getServiceManager(null); OWL_Loader loader = (OWL_Loader) lbsm.getLoader("OWLLoader"); if (toValidateOnly) { loader.'''validate'''(source, manifest, vl); System.out.println("VALIDATION SUCCESSFUL"); } else { loader.'''load'''(new File("resources/testData/amino-cid.owl").toURI(),%%%new File ("resources/testData/aa-manifest.xml").toURI(), true, true); } |
When generating source RRF files from the Metathesaurus, the UMLS Metamorphosys tool should be set to output versionless source abbreviations rather than versioned source abbreviations in any RRF subset to be loaded to LexGrid. Failing to do so will create an incomplete database leaving the association and concept tables empty.