View on
MetaCPAN is shutting down
For details read Perl NOC. After June 25th this page will redirect to
Bridget McInnes > UMLS-Interface > UMLS::Interface::ICFinder



Annotate this POD


Open  0
View/Report Bugs


UMLS::Interface::ICFinder - provides the information content of the CUIs in the UMLS for the modules in the UMLS::Interface package.


This package provides the information content of the CUIs in the UMLS for the modules in the UMLS::Interface package.

For more information please see the documentation.


 use UMLS::Interface::CuiFinder;
 use UMLS::Interface::ICFinder;
 use UMLS::Interface::ErrorHandler;

 %params = ();

 $params{"realtime"} = 1;

 $cuifinder = UMLS::Interface::CuiFinder->new(\%params); 
 die "Unable to create UMLS::Interface::CuiFinder object.\n" if(!$cuifinder);

 $icfinder = UMLS::Interface::ICFinder->new(\%params, $cuifinder); 
 die "Unable to create UMLS::Interface::ICFinder object.\n" if(!$icfinder);

 $concept = "C0037303";

 $ic = $icfinder->_getIC($concept);
 print "The IC of $concept is $ic\n\n";

 print "Note: This probably returned zero because the information\n";
 print "content file is not specified - this is difficult to do in\n"; 
 print "the synopsis. You need to create an icpropagation file and\n";
 print "then pass it as one of the parameters. See:\n\n";
 print "  \n\n";
 print "to create it and then add the following line above:\n\n";
 print "           \$params{\"icpropgation\"} = <icpropagation file>;\n\n";
 print "\n";


To install the module, run the following magic commands:

  perl Makefile.PL
  make test
  make install

This will install the module in the standard location. You will, most probably, require root privileges to install in standard system directories. To install in a non-standard directory, specify a prefix during the 'perl Makefile.PL' stage as:

  perl Makefile.PL PREFIX=/home/sid

It is possible to modify other parameters during installation. The details of these can be found in the ExtUtils::MakeMaker documentation. However, it is highly recommended not messing around with other parameters, unless you know what you're doing.


The Information Content (IC) is defined as the negative log of the probability of a concept. The probability of a concept, c, is determine by summing the probability of the concept (P(c)) ocurring in some text plus the probability its decendants (P(d)) occuring in some text:

P(c*) = P(c) + \sum_{d\exists decendant(c)} P(d)

The initial probability of a concept (P(c)) and its decendants (P(d)) is obtained by dividing the number of times a concept is seen in the corpus (freq(d)) by the total number of concepts (N):

P(d) = freq(d) / N

Not all of the concepts in the taxonomy will be seen in the corpus. We have the option to use Laplace smoothing, where the frequency count of each of the concepts in the taxonomy is incremented by one. The advantage of doing this is that it avoides having a concept that has a probability of zero. The disadvantage is that it can shift the overall probability mass of the concepts from what is actually seen in the corpus.


The algorithm to determine the information content of a CUI in real time is as follows:

        1. get all of its decendants using the DFS

        2. looping through the frequency file computing the 
           probability of the decendants and storing this 

        3. sum the probability of the decedants and the CUI 

        4. calculate the IC which is defined as the negative log of 
           the probabilty of the concept (which is the sum from
           step 3)

In order to run the propagation in real time, we require the frequency counts of a list of CUIs to be given to us.



Bridget T McInnes <> Ted Pedersen <>


 Copyright (c) 2007-2009
 Bridget T. McInnes, University of Minnesota
 bthomson at

 Ted Pedersen, University of Minnesota Duluth
 tpederse at

 Siddharth Patwardhan, University of Utah, Salt Lake City
 sidd at

 Serguei Pakhomov, University of Minnesota Twin Cities
 pakh0002 at

 Ying Liu, University of Minnesota Twin Cities
 liux0395 at

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to

 The Free Software Foundation, Inc.,
 59 Temple Place - Suite 330,
 Boston, MA  02111-1307, USA.
syntax highlighting: