Please Note: Users are responsible for compliance with the UMLS Metathesaurus
License Agreement.
To download MetaMap,
you must have accepted the terms of the
UMLS Metathesaurus
License Agreement, which requires you to respect the copyrights
of the constituent vocabularies and to file a brief annual report on
your use of the UMLS. You also must have activated
a UMLS Terminology Services (UTS)
account. For information on how we use UTS authentication please select
the Info icon to the right:
For details of the licenses see the
UMLS Metathesaurus
License Agreement and
How to License
and Access the Unified Medical Language System® (UMLS®) Data.
MetaMap is a highly configurable program developed by Dr. Alan (Lan) Aronson at the National Library of Medicine (NLM) to map biomedical text to the UMLS Metathesaurus or, equivalently, to discover Metathesaurus concepts referred to in text. MetaMap uses a knowledge-intensive approach based on symbolic, natural-language processing (NLP) and computational-linguistic techniques. Besides being applied for both IR and data-mining applications, MetaMap is one of the foundations of NLM's Medical Text Indexer (MTI) which is being used for both semiautomatic and fully automatic indexing of biomedical literature at NLM. For more information on MetaMap and related research, see the SKR Research Information Site.
MetaMap 2012 is primarily a bug-fix release including the 2012AA version of the UMLS data.
MetaMap2011v2 includes some significant enhancements, most notably revisions to the mappingconstruction algorithms that further speed the analysis of text that had remained problematic for MetaMap 2011. This release also includes improvements to the format of all MetaMap output (human readable, Prolog Machine Output, and XML), as well as two new input formats. The changes to MetaMap’s output format will almost certainly require modifications to user-developed programs that postprocess MetaMap output.
These enhancements include:
See the MetaMap 2011 v2 Release Notes (PDF) for more information.
MetaMap2011 includes some significant enhancements, most notably algorithmic improvements that enable MetaMap to very quickly process input text that had previously been computationally intractable.
These enhancements include:
Starting with MetaMap 2011, MetaMap is now available for Windows XP and Windows 7.
Important Note: When using MetaMap 2011 with data sets earlier than 2011, users may experience problems when applying the --restrict_to_sources and --exclude_sources options. The Ancillary Data Files for MetaMap 2011 provide the additional files necessary to ensure proper operation of MetaMap 2011. These files are available for many pre-2011 data sets.
With the 2011 Release of MetaMap, we are retiring two previous versions of MetaMap, namely MetaMap09 and MetaMap09V2. Only the MetaMap binary executables are being retired; the MetaMap UMLS datasets corresponding to these releases (2009AA and 2009AB) will remain available.
Please see the Release Notes for more information on the MetaMap 2011 Release.
With the 2010 Release of MetaMap,
we are retiring three previous versions of MetaMap,
namely MetaMap07, MetaMap08, and MetaMap08V2.
Only the MetaMap binary executables are being retired;
the MetaMap UMLS datasets corresponding to these releases
(2007AA, 2008AA, and 2008AB) will remain available.
MetaMap 2010 includes less new functionality than previous
releases because the bulk of our development efforts since MetaMap09V2
have focused on converting MetaMap
from Quintus Prolog
to SICStus Prolog, which
will henceforth be the principal implementation vehicle of MetaMap.
We also converted MetaMap 2010 to version 4.8.24
of Berkeley
DB, as recommended
by SICS.
New functionality and enhancements delivered in MetaMap 2010 include the following:
Please see the Release Notes for more information.
The MetaMap UIMA Annotator encodes MetaMap named entities in a format utilizable by UIMA components. The annotator is based on the MetaMap UIMA Wrapper authored by Kai Schlamp. The annotator utilizes classes from the MetaMap Java API which is required for use of the annotator.
Differences from Kai Schamp's MetaMap UIMA Wrapper include a modified UIMA type system which includes Acronyms and Abbreviations and the addition of a MatchMap structure to the Candidates and Mappings. Use of MetaMap XML and the SKR API are currently not supported.
This release provides an updated version of MetaMap consisting of mostly bug fixes and enhancements to our implementation of NegEx, the AA-detection logic and lexical processing.
This release includes also three more substantive changes:
Please see the Release Notes for more information.
The Data File Builder suite exists to allow end users to create custom datasets for use with MetaMap.
A MetaMap data set contains preprocessed UMLS data that MetaMap references as it maps text to concepts. The data set determines the domain of strings that MetaMap will be able to map and the range of target concepts. The Optional Datasets available for download on this site are examples of the standard data sets.
See the MetaMap Data File Builder section for information on downloading the Data File Builder release.
Contains the Prolog and C code and the scripts necessary to build and modify MetaMap, see MetaMap Sources Release in Downloads Section for more information on the prerequisites required to build MetaMap.
Other less visible changes, which will be mentioned but not described further, are various bug fixes involving the exclude_sources option, the display_original_phrase option, the term_processing option, positional information, and Fielded MMI Output. We also added several new Acronym/Abbreviation-detection rules. Finally, we upgraded MetaMap from Berkeley DB 3.0.55 to 4.1.24; this last change is completely transparent to users, but it will require keeping multiple versions of the database files if you want to run both MetaMap09 and any previous release on the same filesystem.
For more information on the changes in MetaMap since the previous release, see the MetaMap 2009 Release Notes.
Previous MetaMap databases are not compatible with this version of MetaMap. This version of MetaMap uses data indexes that have additional information within them. If you have used one of the Optional Data Models in the past, you will need to download the new versions from the MetaMap website.
Web Access | Our Semantic Knowledge Representation (SKR) website provides both Interactive and Batch facilities that allow users to send text to our internal machines and run various programs including the MetaMap program. The Interactive facility is designed for testing options and running small amounts of text. The Batch facility runs large amounts of text through our Scheduler program which distributes the workload over a large pool of clients. | GO TO SKR |
---|---|---|
MetaMap | Distributable version of the original Prolog MetaMap program. Currently only includes binary distribution for Linux and Mac OS/X platforms. | GO TO MetaMap |
MetaMap Java API | The MetaMap Java API is actually two components: the first component is a PrologBeans based client library written in Java and used by Java programs which communicates with the second component: a Prolog server which includes MetaMap. The client and server components can run on the same computer or different computers on the same network. | GO TO MetaMap Java API |
MetaMap UIMA Annotator | This requires the MetaMap Java API to run. This API encodes the MetaMap results to conform to the UIMA (Unstructured Information Management Architecture) standards allowing the downloaded version of MetaMap to be included in users UIMA processing flows. | GO TO MetaMap UIMA Annotator |
SKR Web API | Java-based API to the SKR Scheduler facility was created to provide users with the ability to programmatically submit jobs to the Scheduler Interactive and Batch facilities instead of using the web-based interfaces. We have tried to reproduce full functionality for all of the programs under the SKR Scheduler umbrella. The SKR Web API has been tested on Linux, Solaris, Mac OS/X, and Windows XP platforms (using a Linux or Mac OS/X API server). | GO TO SKR Web API |
If you are new to MetaMap, or are unsure where to start, we would recommend starting with our research papers on MetaMap at the MetaMap section of the SKR Research Information Site. We also recommend using our Interactive web interface first to get a feel for how MetaMap works and how the various options affect the results. Once you have a good feel for what you would like to do, the decision comes down to how much control you want of your data. If you need to run everything locally, you are going to need to download and install either our MetaMap program or our MMTx program depending on what is available for your platform of choice. If you do not need to maintain control of your data, we offer a Batch facility for processing large sets of data through our pool of clients. You can access our Batch facility through our SKR web site, or through our Java-based SKR API. In either case, your data is uploaded to our web site, processed by our Scheduler program, and then the results are provided to you. We maintain your data and results for a maximum of 15 days and then they are purged from our systems. Only you and our team have access to the data and results. We only review Batch jobs when there is a specific request, or we see a Batch job causing problems with the Scheduler.
PLEASE NOTE: The downloads are restricted and require a valid UTS username and password! Please see the above list of prerequisites before attempting to download MetaMap.
Currently, each of the full downloads contains a binary version of MetaMap compiled specifically for either Linux, Mac OS/X, or Windows (for earlier releases or by request), and we have included the Strict Data Model for each of the years respectively. Available separately is the Relaxed Data Model for each year.
When using MetaMap 2012 or 2011 with data sets built for MetaMap 2010 and earlier, users may experience problems when applying the --restrict_to_sources and --exclude_sources options.
Each distribution file contains the MetaMap 2012 binary, the MedPost/SKR server, the WSD server, and the 2012 AA USAbase Strict Data Model. This distribution requires at least 10 gigabytes of free disk space to use. Note: if you have already installed MetaMap 2011 you should only need the 2012 binary update.
Each distribution file contains the MetaMap 2011 version 2 binary, the MedPost/SKR server, the WSD server, and the 2011 AA USAbase Strict Data Model. This distribution requires at least 10 gigabytes of free disk space to use. Note: if you have already installed MetaMap 2011 you should only need the 2011v2 binary update.
$ bin/metamap11v2 /Users/wjrogers/Projects/test/public_mm/bin/SKRrun.11v2 /Users/wjrogers/Projects/test/public_mm/bin/metamap11v2.BINARY.Darwin -L 2011 -Z 2011AA ! Could not restore "$SP_APP_DIR/metamap11v2.sav". ! Existence error in argument 1 of unload_foreign_resource/1 ! resource codesio does not exist ! goal: unload_foreign_resource(codesio)Applying the MetaMap 2011v2 binary-only update will fix this issue.
Each distribution file contains the MetaMap 2011 binary, the MedPost/SKR server, the WSD server, and the 2011 USAbase Strict Data Model. This distribution requires at least 10 gigabytes of free disk space to use.
These optional datasets are configured for the 2010 and later versions of MetaMap, so they will not work with previous releases of MetaMap unless otherwise specified. See the documentation on "Using Additional Datasets with Public MetaMap" for information on installing optional datasets.
Additional DataSets are available; these are listed on the Optional DataSets Page.
The MetaMap application is designed to automatically identify UMLS Metathesaurus concepts referred to in free text. Although the UMLS focuses on biomedical information sources, MetaMap's algorithms are domain independent and can be used with any domain providing adequate knowledge sources. The MetaMap Data File Builder enables such cross-domain utilization of MetaMap by allowing users to create UMLS-like data models similar to the actual UMLS data models normally used by MetaMap.
Brief documentation on installing the MetaMap Data File Builder is in the Datafile Builder README. Instructions on how to use datafile builder is in the MetaMap Data File Builder Manual. Mac OS/X users see also the file README_macosx.html (online version: http://metamap.nlm.nih.gov/README_macosx.html)
A short article on creating a MetaMap dataset from the EFO Inferred Ontology is in this document: Transforming the EFO Inferred Ontology for MetaMap.
This release contains the set of Java Classes that comprise the API and the MetaMap's Mapping Engine Server. In order to use the MetaMap Java API release the following packages are required:
There is brief documentation on Using the MetaMap Java API (http://metamap.nlm.nih.gov/README_javaapi.html.) The JavaDoc Documentation for the MetaMap Java API is at http://metamap.nlm.nih.gov/javaapi/javadoc.
If you wish to modify the server portion of the API you'll need
the MetaMap Sources Release as
well.
Note: The Jython MetaMap API example file
testapi.py
supplied in the
Java API distribution is out of date. An updated version of the
source is available.
This annotator encodes MetaMap named entities in a format utilizable by UIMA components. The annotator is based on the MetaMap UIMA Wrapper (http://sourceforge.net/projects/metamap-uima/) authored by Kai Schlamp.
It is assumed the user has adequate knowledge of Java software development and the Apache UIMA Framework in particular. Knowledge pertaining to using the UIMA framework with the Eclipse Integrated Development Environment is useful, but not required.
The annotator has the following pre-requisites:
An Updated release of the MetaMap UIMA Annotator for 2012 is now available: It includes updated UIMA Descriptor Files which now use Java classpath-based paths instead of location-based paths to avoid any Windows file path issues.
Information on installing the release on Windows has been added to the document: "Using the MetaMap UIMA Annotator". Also, the document now has a section on using the MetaMap Annotator in the Eclipse IDE.
The MM_Print program can convert MetaMap machine output to a number of formats including: Human readable output, MetaMap XML, and other formats.
This release contains the Prolog and C source code and the scripts necessary to build and modify MetaMap. The MetaMap Source Release currently runs on the following platforms:
In order to build the MetaMap Source release a number of packages are required. These include the following:
Brief documentation on installing and using the MetaMap Source Release is available in the MetaMap Source Distribution README.
If you are installing MetaMap on Windows XP or Windows 7 use the MetaMap Windows Installation Instructions instead.
Move the downloaded file into a directory where you want to install MetaMap. This directory will then be referred to as <parent_directory> throughout the rest of the installation instructions.
To extract the MetaMap distribution, use the following bunzip2 and tar commands substituting the appropriate name of the file you downloaded (e.g., public_mm_linux_2010.tar.bz2, public_mm_macosx_2010.tar.bz2):
To begin the initial install, go to the directory created when you extracted the distribution (public_mm).
To find out where your java installation is located, use the following command:
# in C Shell (csh or tcsh)
setenv JAVA_HOME /usr/local/jre1.4.2
# in Bourne Again Shell (bash)
export JAVA_HOME=/usr/local/jre1.4.2
# Bourne Shell (sh)
JAVA_HOME=/usr/local/jre1.4.2 export JAVA_HOME
# in C Shell (csh or tcsh)
setenv PATH <parent dir>/public_mm/bin:$PATH
# in Bourne Again Shell (bash)
export PATH=<parent dir>/public_mm/bin:$PATH
# Bourne Shell (sh)
PATH=<parent dir>/public_mm/bin:$PATH export PATH
% cd <parent dir>/public_mm % ./bin/install.sh Enter basedir of installation [<parent dir>/public_mm] <user hits return to get the default> Basedir is set to <parent dir>/public_mm. The WSD Server requires Java Runtime Environment (JRE) Java Developer Kit (JDK) will work as well. if the command: "which" java returns /usr/local/jre1.4.2/bin/java, then the JRE resides in /usr/local/jre1.4.2/. Where does your distribution of JRE reside? Enter home path of JRE (JDK) [/usr]: /nfsvol/nls/tools/Linux-i686/java1.4.2 Using /nfsvol/nls/tools/Linux-i686/java1.4.2 for JAVA_HOME. <parent dir>/public_mm/WSD_Server/config/disambServer.cfg generated <parent dir>/public_mm/WSD_Server/config/log4j.properties generated <parent dir>/public_mm/bin/SKRrun generated. <parent dir>/public_mm/bin/metamap10 generated. <parent dir>/public_mm/bin/wsdserverctl generated. <parent dir>/public_mm/bin/skrmedpostctl generated. Install complete. %
MetaMap requires the starting of one or two servers depending on how you
plan to use MetaMap. The SKR/MedPost Part-of-Speech Tagger Server is
required regardless of how you use MetaMap. The Word Sense
Disambiguation (WSD) Server is optional and only needs to be started if
you want/plan to use the WSD option (-y) with MetaMap. They can be
started and stopped as follows. Both servers will automatically run in
the background when started.
Starting the SKR/Medpost Part-of-Speech Tagger Server:
MetaMap (2010) Control options: tag_text no_acros_abbrs an_derivational_variants stop_large_n plain_syntax candidates semantic_types mappings best_mappings_only show_cuis Initializing db_access (10)... Berkeley DB databases (normal strict model) are open. Static variants will come from table varsan. Accessing lexicon <parent directory>/public_mm/lexicon/data/lexiconStatic2010. Variant generation mode: static. Initializing tagger on localhost... Processing 00000000.tx.1: lung cancer Phrase: "lung cancer" Meta Candidates (8): 1000 C0242379:Lung Cancer (Malignant neoplasm of lung) [Neoplastic Process] 1000 C0684249:Lung Cancer (Carcinoma of lung) [Neoplastic Process] 861 C0006826:Cancer (Malignant Neoplasms) [Neoplastic Process] 861 C0024109:Lung [Body Part, Organ, or Organ Component] 861 C0998265:Cancer (Cancer Genus) [Invertebrate] 861 C1278908:Lung (Entire lung) [Body Part, Organ, or Organ Component] 861 C1306459:Cancer (Primary malignant neoplasm) [Neoplastic Process] 768 C0032285:Pneumonia [Disease or Syndrome] Meta Mapping (1000): 1000 C0684249:Lung Cancer (Carcinoma of lung) [Neoplastic Process] Meta Mapping (1000): 1000 C0242379:Lung Cancer (Malignant neoplasm of lung) [Neoplastic Process]
After downloading the binary update archive file, first move to the directory containing the directory of the existing public_mm installation and then extract the archive using tar.
$ cd <directory containing existing public_mm installation> $ tar xvfj public_mm_{os}_binary_{year}.tar.bz2
If you are upgrading from MetaMap 2009 to MetaMap 2010, make the following modification to your public_mm/DB directory:
$ cd public_mm/DB $ ln -s BDB4/\* .
% cd <parent directory of installation> % ./public_mm/bin/uninstall.sh Do you really want to uninstall MetaMap? [no/yes] yes Removing Tagger Server Removing WSD Server Removing Lexicon Removing MetaMap Databases Removing Programs Removing Base Directory Removal of MetaMap installation successful. %
For more information on running MetaMap and its many options, please see these references: