NAME
UMLS::Interface CHANGES
Changes from version 0.35 to 0.37
1. Revised the way the propagation of counts is handled
2. Renamed everything spelt propogation to propagation
3. Updated documentation
Changes from version 0.33 to 0.35
1. Added the ability to propogation counts given a propogation file.
Currently the format of that file is: Frequency|CUI|String
So for example:
1|C0018563|hand
The concept C0018563 has a frequency count of one and is associated
with the term hand. The string really isn't necessary but I like
to know what a CUI means. This input format may be changed in the
future to accept a file but I might also create a program in the
util/ directory that given a file it will create this for you.
To do this the propogation parameter must be set to the location
of the propogation file.
2. Added the getPropogationCount.pl program to the util/ directory. This
is used to obtain the propogation count of a specified CUI.
3. Added a getIC() function which takes in a CUI and returns its
information content based on the propagation file
4. I also added a getPropogationCount() function which takes in a CUI
and returns the propogation count of a given concept
5. Added getCuiList() program to the util directory and its associated
function in the Interface.pm module. This allows you to get a list of
CUIs given the sources and relations in a config file.
6. Added a --debug option to print out function information for debuging
purposes.
7. Added a --propogation PROPOGATIONFILE option to findPathToRoot.pl
which will return the propogation count of the CUIs in the path
8. Combined the following util programs:
a. findMaximumCuiDepth and findMinimumCuiDepth => findCuiDepth
b. queryCui and queryCui-SAB -> getAssociatedTerms
9. Changed the name of the following util programs a. queryTerm ->
getAssociatedCuis b. dfs -> findDFS
10. Added a --propogation option for findPathToRoot to return the
propogation counts of the CUIs in the path.
Changes from version 0.31 to 0.33
1. fixed the error in the make tests - they would not work properly
unless you had the UMLS-Interface environment variable set
for the location of the configuration files even though we weren't
using them.
Changes from version 0.29 to 0.31
1. Changed all of the table names into hex form!! This is important
because it now means the versions aren't back compatible. Why did I do
this - well the table names were getting long the more sources and
relations that were added. If to many were used an error is thrown
because there were too many characters in the table name.
I created two utils/ programs the first is returnTableNames.pl.
This returns all of the table names in both hex and human readable
form (the original form) that were created for a specified config
file. The second is returnAllTableNames.pl which returns all of
the table names (in hex and the original form) that have been
created by the package. These tables are stored in a database called
umlsinterfaceindex. One nice thing is that this will be the only
database created now.
2. The getSab() disappeared - I must have erased it - it is back!
3. The RELA option in the config file is now up and running. So you can
now not only specify a set of sources and relations but also RELAs - as
long as the RELA exists in the source and relation combination. If it
doesn't I just continue on right now - I could error out though - not
certain which is the best thing to do right now.
4. You can use other relations in UMLS-Interface now, like, for example,
RO. I don't connect these though to the root so if they are not either
connected to the root itself (like in SNOMEDCT but unlike in FMA) it
will only connect through additional relations.
5. The make tests have been expanded
6. Added a --realtime option. This allows the path information to be
obtained on the fly rather than prebuilding the umlsinterface index. You
will notice these in the util/ programs
7. There is a UMLS_ALL tag that can be used in the configuration file in
replace of the source names. For example, to use the entire UMLS with
the PAR/CHD relations, the configuration file would be as follows:
SAB :: include UMLS_ALL
REL :: include PAR, CHD
Changes from version 0.27 to 0.29
1. Added a dfs.pl program which is located in the utils/ directory. This
program runs a dfs over a specified set of sources and relations in the
UMLS and returns:
1. the maximum depth
2. paths to root
3. sources
4. maximum branching factor
5. average branching factor
6. number of leaf nodes
7. number of nodes
8. root
2. Added a function in Interface.pm called getAllTerms() which returns
all of the possible terms of a given CUI along with their source(s).
This is for all of the strings associated with the CUI in the MRCONSO
table so you can't specify a source for this one. If you would like to
do that use the getTermList function instead.
There is also a program in the utils/ directory which uses this called
queryCui-Sab.pl
3. Added the functionality to store only the path information of a given
set of cuis. To do this you need to use the --cuilist option which takes
in a file containing CUIs. Note that each CUI needs to be on a seperate
line.
Changes from version 0.25 to 0.27
1. Added a --verbose option will print out path information to a file
rather than having this be done automatically. This will reduce the
amount of storage space required to hold the path information for a
given set of sources and relations.
Changes from version 0.23 to 0.25
1. Fixed mysql error that was occuring in UMLS-Interface
DBD::mysql::db do failed: You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version
for the right syntax to use near '' at line 1 at
/usr/local/share/perl/5.10.0/UMLS/Interface.pm line 1063, <STDIN>
line 2.
This was also happening on line 1066 - both should be fixed now.
2. Updated INSTALL documentation - nothing major just some clean up
3. Added a --forcerun option which will bypass any questions about
whether or not you would like to set up an index on a specified set of
relations/sources
4. Updated the documentation of the programs in the util/ directory
Changes from version 0.21 to 0.23
1. Added a getRelation function which returns all the possible relations
in the MRREL file given a specified CUI and source. There is a
corresponding util program getRelation.pl to show how this is used. 2.
Modified checking the existance of the UMLS tables. Before it was
expecting the table names to be all capatalized but now they can be in
lower case as well.
Changes from version 0.19 to 0.21
1. Added check to see if program files exist prior to removing them just
in case they don't exist an error isn't going to display
2. Had an error in getCuiDef.pl when the input was a term. This has been
fixed.
3. Modified the upper level taxonomy to be written to tables in its
appropriate database.
4. Add the program removeConfigData.pl which will remove the database
and all of the associated files created by the program given a specified
configuration.
Changes from version 0.17 to 0.19
1. Modified the documentation in the utils/ programs. The descriptions
were just a mess
Changes from version 0.15 to 0.17
1. In SNOMED CT there exist concepts that are used to show why a concept
is retired. Unfortunately, the relationship linking that reason to the
retired concept is 'is-a'. So you have for example 'stenosis' is-a
'non-current concept - ambiguous'. This is understandable in a plain
English sense but doesn't fit into the hierarchical sense of an 'is-a'
relationship. We now exclude these nodes:
C1274012|Ambiguous concept (inactive concept) C1276325|Reason not stated
concept (inactive concept) C1274013|Duplicate concept (inactive concept)
C1274014|Outdated concept (inactive concept) C1274015|Erroneous concept
(inactive concept) C1274021|Moved elsewhere (inactive concept)
If you have a strong reason why they should still be there send us an
email and we can probably work something else out.
2. When using the RB/RN and PAR/CHD relations not all of the upper level
taxonomy was being looked at to obtain the path information. This has
been fixed.
3. Moved the dropTemporaryTables.pl program to removeConfigData.pl and
added the functionality to drop the files associated with the
configuration data as well.
4. The UMLS-Interface module was not accepting the a configuration file
if the first one was printed out incorrectly. We fixed this.
5. Added configuration file information printed out to STDERR containing
source, relation and configuration file location information.
6. Added a file option to the findShortestPath.pl program:
--inputfile FILE
A file containing pairs of concepts or terms in the following format:
term1<>term2
or
cui1<>cui2
or
cui1<>term2
or
term1<>cui2
Changes from version 0.13 to 0.15
1. Added three new functions for semantic types:
getSt which returns the semantic type TUI of a given CUI
getStAbr which returns the semantic type abbreviation
given the semantic type TUI
getStString which returns the semantic type string
given the semantic type abbreviation
2. Added a program to the utils/ directory:
getSt.pl which returns the semantic type of a given CUI
or TERM in the UMLS. This program uses the three
above functions.
3. Added the function checkConceptExists which returns true or false
whether a concept exists in the current view of the UMLS (this is based
on the sources and relations that are being used). This function was
hidden but it seemed like it could be useful to others as well - it
became useful for me anyway :)
4. Modified the SYNOPSIS section in the Interface.pm module to include
all or at least most of the different functions available through the
Interface.pm module.
5. Fixed the permissions on the configuration file directory when it is
being created. And chmod the individual files after they were created.
Hopefully now they will be created with read and write privlidges so you
can see them if you install using the -MCPAN option.
6. Modified the findPathToRoot.pl and findShortestPath.pl to include the
term associated with the CUI in the path
7. I forgot to add the UMLS Root to the PATH in the pathToRoot function.
It is now added.
Changes from version 0.11 to 0.13
1. Speed up the getTermList() option when all of the sources are being
used
2. Modified documentation
3. Added the function findMinimumDepth and findMaximumDepth which
returns the minimum and maximum depth of a CUI respectively given the
view of the UMLS
Changes from version 0.09 to 0.11
1. Modified the Changelog directory and tried to remember to add them to
the release!
2. Modified documenation - tried to get the misspelling and obvious
errors removed.
3. Removed the HTML documentation
Changes from version 0.03 to 0.09
1. Allowed the program to create the directory that we prompt the user
for (the location that the config files should be stored) if it doesn't
exist rather than requiring it be already created.
2. Modified the location of where the utils/ programs are installed. All
of them now get installed and they are all in the same location.
3. Found a bug in the code that reads the configuration file. Error
would occur if trying to exclude a source.
Changes from version 0.01 to 0.03
1. Removed the need for UMLSINTERFACE environment variable indicating
the location of the UMLS. Now we prompt the user for the location that
the config files should be stored and ask them to set a
UMLSINTERFACE_CONFIGFILE_DIR variable.