<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.bioontology.org//mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Vemonet</id>
	<title>NCBO Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.bioontology.org//mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Vemonet"/>
	<link rel="alternate" type="text/html" href="https://www.bioontology.org//wiki/Special:Contributions/Vemonet"/>
	<updated>2026-06-05T14:42:32Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.9</generator>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=File:Ncbo_architecture.png&amp;diff=12821</id>
		<title>File:Ncbo architecture.png</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=File:Ncbo_architecture.png&amp;diff=12821"/>
		<updated>2016-03-30T15:52:45Z</updated>

		<summary type="html">&lt;p&gt;Vemonet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A diagram describing the NCBO architecture.&lt;br /&gt;
Generated using [https://www.yworks.com/products/yed yEd].&lt;br /&gt;
Feel free to contact vincent.emonet@lirmm.fr to get the graphml version of the file to edit it&lt;/div&gt;</summary>
		<author><name>Vemonet</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=Advanced_Administration&amp;diff=12820</id>
		<title>Advanced Administration</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=Advanced_Administration&amp;diff=12820"/>
		<updated>2016-03-30T15:47:36Z</updated>

		<summary type="html">&lt;p&gt;Vemonet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:NCBO Virtual Appliance]]&lt;br /&gt;
&lt;br /&gt;
On this page you will find some guidelines on how Advanced administration of the BioPortal Virtual Appliance. To proceed you will need a ssh connexion to your Appliance.&amp;lt;br/&amp;gt;&lt;br /&gt;
To simplify the examples we will consider we are using a Virtual Appliance deployed at '''http://my-bioportal-vm/'''&lt;br /&gt;
&lt;br /&gt;
= NCBO architecture diagram =&lt;br /&gt;
&lt;br /&gt;
[[File:Ncbo_architecture.png]]&lt;br /&gt;
&lt;br /&gt;
= Solr search index =&lt;br /&gt;
&lt;br /&gt;
== Access to solr ==&lt;br /&gt;
&lt;br /&gt;
It is hosted by the tomcat on the port 8082&lt;br /&gt;
 http://my-bioportal-vm:8082/solr&lt;br /&gt;
&lt;br /&gt;
There are 2 cores:&lt;br /&gt;
&lt;br /&gt;
* core1 is used for search&lt;br /&gt;
* core2 is used when doing a full reindexing (it allows the search to work fine when reindexing the whole bioportal)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To swap the 2 cores:&lt;br /&gt;
&lt;br /&gt;
* Go to core admin tab&lt;br /&gt;
* Select core1&lt;br /&gt;
* Hit the &amp;quot;Swap&amp;quot; button&lt;br /&gt;
&lt;br /&gt;
== Reindex all ontologies in core2 ==&lt;br /&gt;
&lt;br /&gt;
Re-indexing in the core2 allows the BioPortal Appliance to not stop working during the reindexing (you just have to swap the cores when the reindexing is over)&lt;br /&gt;
&lt;br /&gt;
 bin/ncbo_ontology_index -a -l logs/reindexing_all.log -c http://my-bioportal-vm:8082/solr/core2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reindex only the specified ontologies in core2 ==&lt;br /&gt;
&lt;br /&gt;
 bin/ncbo_ontology_index -o STY,SNOMED -l logs/reindexing_STY_SNOMED.log -c http://my-bioportal-vm:8082/solr/core2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Updating the Annotator cache and dictionary =&lt;br /&gt;
&lt;br /&gt;
See the [http://www.bioontology.org/wiki/index.php/Annotator_Documentation#Update_cache_and_dictionary Annotator Documentation]&lt;br /&gt;
&lt;br /&gt;
= Common troubles =&lt;br /&gt;
&lt;br /&gt;
== ontologies_report.json is missing ==&lt;br /&gt;
&lt;br /&gt;
When running some job you can face the following error:&lt;br /&gt;
 ontologies_report.json : No such file or directory&lt;br /&gt;
&lt;br /&gt;
To avoid it you have to create a ''ontologies_report.json'' file at the following location:&lt;br /&gt;
 /srv/reports/ontologies_report.json&lt;br /&gt;
&lt;br /&gt;
It has to be owned by ncbobp:ncbobp and to have permission 666&lt;/div&gt;</summary>
		<author><name>Vemonet</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=File:Ncbo_architecture.png&amp;diff=12819</id>
		<title>File:Ncbo architecture.png</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=File:Ncbo_architecture.png&amp;diff=12819"/>
		<updated>2016-03-30T15:45:08Z</updated>

		<summary type="html">&lt;p&gt;Vemonet: A diagram describing the NCBO architecture&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A diagram describing the NCBO architecture&lt;/div&gt;</summary>
		<author><name>Vemonet</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=Google_Analytics&amp;diff=12815</id>
		<title>Google Analytics</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=Google_Analytics&amp;diff=12815"/>
		<updated>2016-03-06T23:23:45Z</updated>

		<summary type="html">&lt;p&gt;Vemonet: Created page with &amp;quot;Category:NCBO Virtual Appliance  = Adding Google Analytics to the BioPortal Appliance = 	 == Google developer account == The Google API to process our website data. Create...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:NCBO Virtual Appliance]]&lt;br /&gt;
&lt;br /&gt;
= Adding Google Analytics to the BioPortal Appliance =&lt;br /&gt;
	&lt;br /&gt;
== Google developer account ==&lt;br /&gt;
The Google API to process our website data. Create an account at https://console.developers.google.com/project&lt;br /&gt;
* Create an account&lt;br /&gt;
* Generate credentials (p12 key &amp;amp; email) and save it for later&lt;br /&gt;
** API Manager &amp;gt; Credentials &amp;gt; Add credentials &amp;gt; Service account&lt;br /&gt;
** Note: default password of the p12 keys is notasecret&lt;br /&gt;
	&lt;br /&gt;
* Enable Analytics API&lt;br /&gt;
** API Manager &amp;gt; Overview &amp;gt; Advertising APIs &amp;gt; Analytics API&lt;br /&gt;
&lt;br /&gt;
* Copy p12 keys to the appliance (in the /srv directory for example)&lt;br /&gt;
** Example: scp mybioportal-ffad56jdic91ky.p12 my_bioportal_va:/srv/&lt;br /&gt;
	&lt;br /&gt;
== Google analytics account ==&lt;br /&gt;
Get our website data. Create an account at https://www.google.com/analytics/web&lt;br /&gt;
* Create an account&lt;br /&gt;
* Add the &amp;quot;tracking ID&amp;quot; of this account in /srv/rails/BioPortal/current/config/bioportal_config_production.rb&lt;br /&gt;
** Example:  `$ANALYTICS_ID = &amp;quot;UA-63691424-3&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
* Give permission to your developer credential (previously generated at the console.developer step) to be able to retrieve the data&lt;br /&gt;
** Admin tab &amp;gt; Property (in general, it is the website your doing analytics on) &amp;gt; User Management&lt;br /&gt;
** Add permissions for the google developer credential email (generated in the previous section)&lt;br /&gt;
&lt;br /&gt;
* Add in /srv/ncbo/ontologies_api/current/config/environments/appliance.rb &amp;amp; /srv/ncbo/ncbo_cron/config/appliance.rb&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  LinkedData.config do |config|&lt;br /&gt;
   config.enable_ontology_analytics = true&lt;br /&gt;
  end&lt;br /&gt;
  NcboCron.config do |config|&lt;br /&gt;
   config.enable_ontology_analytics = true&lt;br /&gt;
   config.cron_ontology_analytics   = &amp;quot;30 */4 * * *&amp;quot;&lt;br /&gt;
   # Google Analytics config&lt;br /&gt;
   config.analytics_service_account_email_address = &amp;quot;account-1@mybioportal-1145.iam.gserviceaccount.com&amp;quot; # The email address you get when creating the google developer account&lt;br /&gt;
   config.analytics_path_to_key_file              = &amp;quot;/srv/agroportal-ffad56jdic91ky.p12&amp;quot; # you have to get this file from the first step&lt;br /&gt;
   config.analytics_profile_id                    = &amp;quot;ga:111821946&amp;quot; # replace with your ga view id&lt;br /&gt;
   config.analytics_app_name                      = &amp;quot;mybioportal&amp;quot;&lt;br /&gt;
   config.analytics_app_version                   = &amp;quot;1.0.0&amp;quot;&lt;br /&gt;
   config.analytics_start_date                    = &amp;quot;2015-10-01&amp;quot;&lt;br /&gt;
   config.analytics_filter_str                    = &amp;quot;&amp;quot;&lt;br /&gt;
  end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
= Tests using API explorer =&lt;br /&gt;
&lt;br /&gt;
https://developers.google.com/apis-explorer/#search/analytics/m/analytics/v2.4/analytics.data.get&lt;br /&gt;
&lt;br /&gt;
https://ga-dev-tools.appspot.com/query-explorer/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  id = ga:111821946&lt;br /&gt;
  start-date = 30daysAgo&lt;br /&gt;
  end-date = yesterday&lt;br /&gt;
  metrics = ga:pageviews&lt;br /&gt;
  dimensions = ga:pagePath,ga:year,ga:month&lt;br /&gt;
  filters&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Removing Analytics from UI =&lt;br /&gt;
&lt;br /&gt;
* In /srv/rails/BioPortal/current/app/views/home/index.html.haml add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  display: none;&lt;br /&gt;
  %fieldset{style: &amp;quot;display: none;&amp;quot;}&lt;br /&gt;
   %legend&lt;br /&gt;
    Ontology Visits #{&amp;quot;in full #{$SITE} &amp;quot; if at_slice?} (#{@analytics.date.strftime(&amp;quot;%B %Y&amp;quot;)})&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In /srv/rails/BioPortal/current/app/views/ontologies/_visits.html.haml add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  display:none;&lt;br /&gt;
  #visits_content{:style =&amp;gt; &amp;quot;margin: 2em 1em 0;&amp;quot;}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vemonet</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=Main_Page&amp;diff=12810</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=Main_Page&amp;diff=12810"/>
		<updated>2016-02-03T17:00:16Z</updated>

		<summary type="html">&lt;p&gt;Vemonet: /* Technical Documentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the '''NCBO Public WIKI'''. This WIKI provides information about collaborative ontology development efforts, dissemination events conducted by the NCBO and publically shared materials from the NCBO. &lt;br /&gt;
Please visit our [http://www.bioontology.org Main Site] for more information and materials.&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
*[http://bioportal.bioontology.org NCBO BioPortal] - Home page for BioPortal Web site&lt;br /&gt;
* [http://sparql.bioontology.org/ NCBO BioPortal SPARQL Endpoint] - Access BioPortal via SPARQL queries (obsolete)&lt;br /&gt;
* [http://www.bioontology.org/wiki/index.php/Category:NCBO_Virtual_Appliance BioPortal Virtual Appliance] - Contains BioPortal, Annotator, and Resource Index.&lt;br /&gt;
* [http://www.bioontology.org/wiki/index.php/BioPortal_Release_Notes BioPortal Software Release Announcements] &lt;br /&gt;
*[[NCBO-OOR Development]] - Documentation on how the Open Ontology Repository community can customize and advance BioPortal capabilities.&lt;br /&gt;
&lt;br /&gt;
=== User Support Documentation ===&lt;br /&gt;
*[[BioPortal Help]] - General BioPortal help documentation. &lt;br /&gt;
* [http://www.bioontology.org/wiki/index.php/Using_NCBO_Technology_In_Your_Project Using NCBO Technology in Your Project] - Documentation on how to use NCBO Technology in your project&lt;br /&gt;
&lt;br /&gt;
=== Technical Documentation ===&lt;br /&gt;
* [http://data.bioontology.org/documentation NCBO REST Web services] - Listing of all NCBO web services with usage documentation&lt;br /&gt;
* [http://www.bioontology.org/wiki/index.php/SPARQL_BioPortal BioPortal SPARQL Endpoint] - BioPortal SPARQL documentation&lt;br /&gt;
* [http://www.bioontology.org/wiki/index.php/Category:NCBO_Virtual_Appliance BioPortal Virtual Appliance] - Contains BioPortal, Annotator, and Resource Index.&lt;br /&gt;
* [http://www.bioontology.org/wiki/index.php/NCBO_Developer_Documentation Developer Documentation] - Some documentation for developers&lt;br /&gt;
&lt;br /&gt;
=== Ontology Development Projects ===&lt;br /&gt;
Below are links for ontology development projects that NCBO is involved in. &lt;br /&gt;
*[[BRO:Main_Page]] - Biomedical Resource Ontology&lt;br /&gt;
*[[TMO:]] - Translational Medicine Ontology &lt;br /&gt;
*[[NPO:Main_Page]] - NanoParticle Ontology&lt;br /&gt;
*[[PATO:Main_Page]] - An ontology of phenotypic qualities&lt;br /&gt;
*[[RO:Main_Page]] - OBO Relations ontology&lt;br /&gt;
*[[CARO:Main_Page]] - Reference anatomical ontology&lt;br /&gt;
*[[CL:Main_Page]] - OBO Cell ontology&lt;br /&gt;
*[[SO:Main_Page]] - Sequence Ontology&lt;br /&gt;
*[[Disease:Main_Page]] - Disease Ontology, and other ontologies pertaining to diseases and disorders&lt;br /&gt;
*[[OCI:Main_Page]] - Ontology of Clinical Investigation&lt;/div&gt;</summary>
		<author><name>Vemonet</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=Importing_UMLS_To_Virtual_Appliance&amp;diff=12806</id>
		<title>Importing UMLS To Virtual Appliance</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=Importing_UMLS_To_Virtual_Appliance&amp;diff=12806"/>
		<updated>2016-02-01T17:12:36Z</updated>

		<summary type="html">&lt;p&gt;Vemonet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:NCBO Virtual Appliance]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The NCBO Virtual Appliance supports [http://www.geneontology.org/GO.format.obo-1_2.shtml OBO] and [http://www.w3.org/TR/owl-features/ OWL] ontology formats but not UMLS in its native form. To bridge this gap, we have developed a project called [https://github.com/ncbo/umls2rdf/ UMLS2RDF] that transforms UMLS ontologies into OWL/RDF.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;UMLS2RDF is a Python script that connects to a UMLS MySQL installation and extracts the UMLS ontologies in a format that the Appliance can work with.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Install UMLS MySQL&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;To import UMLS ontologies, a local installation of the [http://www.nlm.nih.gov/research/umls/implementation_resources/scripts/index.html UMLS MySQL release] needs to be available.  Please refer to the [http://www.nlm.nih.gov/research/umls/new_users/index.html UMLS documentation] for instructions on how to install the UMLS MySQL distribution.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Install UMLS2RDF&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;First clone the github project:&amp;lt;br/&amp;gt;&amp;lt;code&amp;gt;git clone https://github.com/ncbo/umls2rdf/&amp;lt;/code&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Install the MySQL Python driver. We recommend to use &amp;lt;code&amp;gt;pip&amp;lt;/code&amp;gt; for this:&amp;lt;br/&amp;gt;&amp;lt;code&amp;gt;pip install MySQL-python&amp;lt;/code&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configure UMLS2RDF&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;UMLS2RDF has two configuration files:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;conf.py&amp;lt;/strong&amp;gt; where the database configuration (host,name,user and password) needs to be specified. Also the output folder.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;umls.conf&amp;lt;/strong&amp;gt; where one can specified the UMLS ontologies to be extracted. This is a comma separated file with the following 4 fields:&lt;br /&gt;
&amp;lt;ol type=&amp;quot;a&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;SAB&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;This is legacy. Any value works.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Output file name.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Conversion strategy. Accepted values (load_on_codes, load_on_cuis).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;With &amp;lt;em&amp;gt;load_on_codes&amp;lt;/em&amp;gt; the original source of the ontology will be used as strategy. The Class IDs will be constructed with the MRCONSO.CODE field. If &amp;lt;em&amp;gt;load_on_cuis&amp;lt;/em&amp;gt; is selected then the strategy to transform the ontology will use CUIs to construct the Class IDs.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In our [https://github.com/ncbo/umls2rdf/blob/master/umls.conf configuration file], you can see the settings used by our production system. These are all the UMLS ontologies that are publicly available in BioPortal.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Run UMLS2RDF&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Once the configuration files have the settings run the command:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;code&amp;gt;python umls2rdf.py&amp;lt;/code&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Depending on how many ontologies are extracted the run time can range from a few minutes to four hours. This process is memory intensive and to transform the largest UMLS ontologies (i.e: SNOMED) one needs at least 16G RAM available.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Upload files to the NCBO Virtual Appliance&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The output files will be located in the folder specified in &amp;lt;strong&amp;gt;conf.py&amp;lt;/strong&amp;gt;. Use the BioPortal Web form available in your appliance to submit the extracted ontologies. &amp;lt;strong&amp;gt;IMPORTANT:&amp;lt;/strong&amp;gt; The ontology format in the submission form should be UMLS.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Hardware Considerations&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;NCBO dedicates a fair amount of resources (powerful servers) to handle a good portion of UMLS ontologies. Some of the UMLS ontologies contain millions of classes. To import the largest UMLS ontologies (i.e: RXNORM or SNOMEDCT) Users will have to run the Appliance in a powerful dedicated environment with 8GB RAM and 5GB hard disk space available.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Example Workflow&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;This workflow for importing UMLS data has been provided by Vincent Emonet, and has been provided here without testing by the NCBO team. Vincent comments:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;This offers more details on how to generate UMLS turtle files, It is simplified to provide the essentials needed to generate the RDF files you want. Note that I am using linux and the 2015AB release for this tutorial.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Install UMLS using mmsys&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Download everything from https://www.nlm.nih.gov/research/umls/licensedcontent/umlsknowledgesources.html&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;Unzip mmsys.zip&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;Put the following files in the now unzipped mmsys directory : &amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;ul&amp;gt;&lt;br /&gt;
	  &amp;lt;li&amp;gt;2015AB-1-meta.nlm&amp;lt;/li&amp;gt;&lt;br /&gt;
	  &amp;lt;li&amp;gt;2015AB-2-meta.nlm&amp;lt;/li&amp;gt;&lt;br /&gt;
	  &amp;lt;li&amp;gt;2015AB-otherks.nlm&amp;lt;/li&amp;gt;&lt;br /&gt;
	  &amp;lt;li&amp;gt;mmsys.zip (why not?)&amp;lt;/li&amp;gt;&lt;br /&gt;
	  &amp;lt;li&amp;gt;2015AB.CHK&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;./run_linux.sh (or run.bat or run_mac.sh)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Install UMLS&amp;lt;/code&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;Source: path to mmsys directory and Destination: path of a directory where the subset file will be generated&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;Semantic Network -&amp;gt; Choose Database Load Scripts: Mysql 5.6 (to generate the mysql load script for the semantic network subset, aka STY in bioportal)&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;Select &amp;quot;New configuration..&amp;quot;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;Select Default Subset: select the default subset you want (it is not really important, you can specificaly choose each thesaurus in the next step)&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;Go to the &amp;quot;Output Options&amp;quot; tab &amp;gt; Write Database Load Scripts&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Select database &amp;gt; MySQL 5.6&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;Go to the &amp;quot;Source List&amp;quot; and select the sources (aka ontologies in bioportal) you want&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;ul&amp;gt;&lt;br /&gt;
	  &amp;lt;li&amp;gt;hold ctrl to select many&amp;lt;/li&amp;gt;&lt;br /&gt;
	  &amp;lt;li&amp;gt;careful there is an option to define if you want the selected source excluded or included in the subset&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;/ul&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;Then click on &amp;quot;Done&amp;quot; in the top command on the window&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;And wait for UMLS to install&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;Note: mmsys will generate RRF files. You can use the mmsys software to browse it, but we will just use it to populate a SQL database&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Load subset in MySQL&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;Go to mysql&amp;lt;/li&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
	&amp;lt;code&amp;gt;&amp;amp;gt;create database umls2015ab;&amp;lt;/code&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;Configure database character encoding to UTF-8&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;code&amp;gt;&amp;amp;gt;ALTER DATABASE umls2015ab CHARACTER SET utf8 COLLATE utf8_unicode_ci;&amp;lt;/code&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;Go to the 2015AB directory (where UMLS has been installed) in the META directory&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;Open the populate_mysql_db.sh script and change the first lines with your MySQL credentials:&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;(note: for MYSQL_HOME it adds &amp;quot;/bin/mysql&amp;quot; to find the mysql bin)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
MYSQL_HOME=/usr&lt;br /&gt;
user=&amp;lt;username&amp;gt;&lt;br /&gt;
password=&amp;lt;password&amp;gt;&lt;br /&gt;
db_name=umls2015ab&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;li&amp;gt;Then run &amp;lt;code&amp;gt;./populate_mysql_db.sh&amp;lt;/code&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Generate RDF from MySQL&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;Clone https://github.com/ncbo/umls2rdf&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;Rename conf_sample.py as conf.py and configure the access to your database (example when database in local)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Folder to dump the RDF files.&lt;br /&gt;
OUTPUT_FOLDER = &amp;quot;output&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#DB Config&lt;br /&gt;
DB_HOST = &amp;quot;localhost&amp;quot;&lt;br /&gt;
DB_NAME = &amp;quot;umls2015ab&amp;quot;&lt;br /&gt;
DB_USER = &amp;quot;root&amp;quot;&lt;br /&gt;
DB_PASS = &amp;quot;&amp;lt;password&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
UMLS_VERSION = &amp;quot;2015ab&amp;quot;&lt;br /&gt;
UMLS_BASE_URI = &amp;quot;http://purl.bioontology.org/ontology/&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;li&amp;gt;Define the ontology you want to generate in umls.conf&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;ul&amp;gt;&lt;br /&gt;
	  &amp;lt;li&amp;gt;Example for LNC-RU-RU: &amp;quot;LNC-RU-RU,LNC-RU-RU.ttl,load_on_codes&amp;quot;&amp;lt;/li&amp;gt;&lt;br /&gt;
  	  &amp;lt;li&amp;gt;If you want to get the name used for you ontology in the database you can get them by going to mySQL, select the umls database and get it from the following query: &amp;quot;select distinct SAB from MRCONSO;&amp;quot;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;/ul&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;Run ./umls2rdf.py&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;Get the ttl files in the output directory&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vemonet</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=Advanced_Administration&amp;diff=12805</id>
		<title>Advanced Administration</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=Advanced_Administration&amp;diff=12805"/>
		<updated>2016-01-28T17:18:38Z</updated>

		<summary type="html">&lt;p&gt;Vemonet: /* Annotator cache and dictionary update */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:NCBO Virtual Appliance]]&lt;br /&gt;
&lt;br /&gt;
On this page you will find some guidelines on how Advanced administration of the BioPortal Virtual Appliance. To proceed you will need a ssh connexion to your Appliance.&amp;lt;br/&amp;gt;&lt;br /&gt;
To simplify the examples we will consider we are using a Virtual Appliance deployed at '''http://my-bioportal-vm/'''&lt;br /&gt;
&lt;br /&gt;
= Solr search index =&lt;br /&gt;
&lt;br /&gt;
== Access to solr ==&lt;br /&gt;
&lt;br /&gt;
It is hosted by the tomcat on the port 8082&lt;br /&gt;
 http://my-bioportal-vm:8082/solr&lt;br /&gt;
&lt;br /&gt;
There are 2 cores:&lt;br /&gt;
&lt;br /&gt;
* core1 is used for search&lt;br /&gt;
* core2 is used when doing a full reindexing (it allows the search to work fine when reindexing the whole bioportal)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To swap the 2 cores:&lt;br /&gt;
&lt;br /&gt;
* Go to core admin tab&lt;br /&gt;
* Select core1&lt;br /&gt;
* Hit the &amp;quot;Swap&amp;quot; button&lt;br /&gt;
&lt;br /&gt;
== Reindex all ontologies in core2 ==&lt;br /&gt;
&lt;br /&gt;
Re-indexing in the core2 allows the BioPortal Appliance to not stop working during the reindexing (you just have to swap the cores when the reindexing is over)&lt;br /&gt;
&lt;br /&gt;
 bin/ncbo_ontology_index -a -l logs/reindexing_all.log -c http://my-bioportal-vm:8082/solr/core2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reindex only the specified ontologies in core2 ==&lt;br /&gt;
&lt;br /&gt;
 bin/ncbo_ontology_index -o STY,SNOMED -l logs/reindexing_STY_SNOMED.log -c http://my-bioportal-vm:8082/solr/core2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Updating the Annotator cache and dictionary =&lt;br /&gt;
&lt;br /&gt;
See the [http://www.bioontology.org/wiki/index.php/Annotator_Documentation#Update_cache_and_dictionary Annotator Documentation]&lt;br /&gt;
&lt;br /&gt;
= Common troubles =&lt;br /&gt;
&lt;br /&gt;
== ontologies_report.json is missing ==&lt;br /&gt;
&lt;br /&gt;
When running some job you can face the following error:&lt;br /&gt;
 ontologies_report.json : No such file or directory&lt;br /&gt;
&lt;br /&gt;
To avoid it you have to create a ''ontologies_report.json'' file at the following location:&lt;br /&gt;
 /srv/reports/ontologies_report.json&lt;br /&gt;
&lt;br /&gt;
It has to be owned by ncbobp:ncbobp and to have permission 666&lt;/div&gt;</summary>
		<author><name>Vemonet</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=Main_Page&amp;diff=12804</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=Main_Page&amp;diff=12804"/>
		<updated>2016-01-28T17:17:10Z</updated>

		<summary type="html">&lt;p&gt;Vemonet: /* Software */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the '''NCBO Public WIKI'''. This WIKI provides information about collaborative ontology development efforts, dissemination events conducted by the NCBO and publically shared materials from the NCBO. &lt;br /&gt;
Please visit our [http://www.bioontology.org Main Site] for more information and materials.&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
*[http://bioportal.bioontology.org NCBO BioPortal] - Home page for BioPortal Web site&lt;br /&gt;
* [http://sparql.bioontology.org/ NCBO BioPortal SPARQL Endpoint] - Access BioPortal via SPARQL queries (obsolete)&lt;br /&gt;
* [http://www.bioontology.org/wiki/index.php/Category:NCBO_Virtual_Appliance BioPortal Virtual Appliance] - Contains BioPortal, Annotator, and Resource Index.&lt;br /&gt;
* [http://www.bioontology.org/wiki/index.php/BioPortal_Release_Notes BioPortal Software Release Announcements] &lt;br /&gt;
*[[NCBO-OOR Development]] - Documentation on how the Open Ontology Repository community can customize and advance BioPortal capabilities.&lt;br /&gt;
&lt;br /&gt;
=== User Support Documentation ===&lt;br /&gt;
*[[BioPortal Help]] - General BioPortal help documentation. &lt;br /&gt;
* [http://www.bioontology.org/wiki/index.php/Using_NCBO_Technology_In_Your_Project Using NCBO Technology in Your Project] - Documentation on how to use NCBO Technology in your project&lt;br /&gt;
&lt;br /&gt;
=== Technical Documentation ===&lt;br /&gt;
* [http://data.bioontology.org/documentation NCBO REST Web services] - Listing of all NCBO web services with usage documentation&lt;br /&gt;
* [http://www.bioontology.org/wiki/index.php/SPARQL_BioPortal BioPortal SPARQL Endpoint] - BioPortal SPARQL documentation&lt;br /&gt;
* [http://www.bioontology.org/wiki/index.php/Category:NCBO_Virtual_Appliance BioPortal Virtual Appliance] - Contains BioPortal, Annotator, and Resource Index.&lt;br /&gt;
&lt;br /&gt;
=== Ontology Development Projects ===&lt;br /&gt;
Below are links for ontology development projects that NCBO is involved in. &lt;br /&gt;
*[[BRO:Main_Page]] - Biomedical Resource Ontology&lt;br /&gt;
*[[TMO:]] - Translational Medicine Ontology &lt;br /&gt;
*[[NPO:Main_Page]] - NanoParticle Ontology&lt;br /&gt;
*[[PATO:Main_Page]] - An ontology of phenotypic qualities&lt;br /&gt;
*[[RO:Main_Page]] - OBO Relations ontology&lt;br /&gt;
*[[CARO:Main_Page]] - Reference anatomical ontology&lt;br /&gt;
*[[CL:Main_Page]] - OBO Cell ontology&lt;br /&gt;
*[[SO:Main_Page]] - Sequence Ontology&lt;br /&gt;
*[[Disease:Main_Page]] - Disease Ontology, and other ontologies pertaining to diseases and disorders&lt;br /&gt;
*[[OCI:Main_Page]] - Ontology of Clinical Investigation&lt;/div&gt;</summary>
		<author><name>Vemonet</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=Advanced_Administration&amp;diff=12803</id>
		<title>Advanced Administration</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=Advanced_Administration&amp;diff=12803"/>
		<updated>2016-01-28T17:15:54Z</updated>

		<summary type="html">&lt;p&gt;Vemonet: Created page with &amp;quot;Category:NCBO Virtual Appliance  On this page you will find some guidelines on how Advanced administration of the BioPortal Virtual Appliance. To proceed you will need a s...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:NCBO Virtual Appliance]]&lt;br /&gt;
&lt;br /&gt;
On this page you will find some guidelines on how Advanced administration of the BioPortal Virtual Appliance. To proceed you will need a ssh connexion to your Appliance.&amp;lt;br/&amp;gt;&lt;br /&gt;
To simplify the examples we will consider we are using a Virtual Appliance deployed at '''http://my-bioportal-vm/'''&lt;br /&gt;
&lt;br /&gt;
= Solr search index =&lt;br /&gt;
&lt;br /&gt;
== Access to solr ==&lt;br /&gt;
&lt;br /&gt;
It is hosted by the tomcat on the port 8082&lt;br /&gt;
 http://my-bioportal-vm:8082/solr&lt;br /&gt;
&lt;br /&gt;
There are 2 cores:&lt;br /&gt;
&lt;br /&gt;
* core1 is used for search&lt;br /&gt;
* core2 is used when doing a full reindexing (it allows the search to work fine when reindexing the whole bioportal)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To swap the 2 cores:&lt;br /&gt;
&lt;br /&gt;
* Go to core admin tab&lt;br /&gt;
* Select core1&lt;br /&gt;
* Hit the &amp;quot;Swap&amp;quot; button&lt;br /&gt;
&lt;br /&gt;
== Reindex all ontologies in core2 ==&lt;br /&gt;
&lt;br /&gt;
Re-indexing in the core2 allows the BioPortal Appliance to not stop working during the reindexing (you just have to swap the cores when the reindexing is over)&lt;br /&gt;
&lt;br /&gt;
 bin/ncbo_ontology_index -a -l logs/reindexing_all.log -c http://my-bioportal-vm:8082/solr/core2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reindex only the specified ontologies in core2 ==&lt;br /&gt;
&lt;br /&gt;
 bin/ncbo_ontology_index -o STY,SNOMED -l logs/reindexing_STY_SNOMED.log -c http://my-bioportal-vm:8082/solr/core2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Annotator cache and dictionary update =&lt;br /&gt;
&lt;br /&gt;
See the [http://www.bioontology.org/wiki/index.php/Annotator_Documentation#Update_cache_and_dictionary Annotator Documentation]&lt;br /&gt;
&lt;br /&gt;
= Common troubles =&lt;br /&gt;
&lt;br /&gt;
== ontologies_report.json is missing ==&lt;br /&gt;
&lt;br /&gt;
When running some job you can face the following error:&lt;br /&gt;
 ontologies_report.json : No such file or directory&lt;br /&gt;
&lt;br /&gt;
To avoid it you have to create a ''ontologies_report.json'' file at the following location:&lt;br /&gt;
 /srv/reports/ontologies_report.json&lt;br /&gt;
&lt;br /&gt;
It has to be owned by ncbobp:ncbobp and to have permission 666&lt;/div&gt;</summary>
		<author><name>Vemonet</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=Category:NCBO_Virtual_Appliance&amp;diff=12802</id>
		<title>Category:NCBO Virtual Appliance</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=Category:NCBO_Virtual_Appliance&amp;diff=12802"/>
		<updated>2016-01-28T16:59:28Z</updated>

		<summary type="html">&lt;p&gt;Vemonet: /* Basic System Administration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== NCBO VIRTUAL APPLIANCE v2.4 IS NOW AVAILABLE ==&lt;br /&gt;
The NCBO Virtual Appliance has been updated to use NCBO's new v4.0 software infrastructure, including the use of an RDF triplestore as the primary data storage mechanism. Please read below as much of the Appliance workflow has changed.&lt;br /&gt;
&lt;br /&gt;
For documentation of v1.0 Virtual Appliances, please see our [http://www.bioontology.org/wiki/index.php?title=Category:NCBO_Virtual_Appliance&amp;amp;oldid=12610 archive].&lt;br /&gt;
&lt;br /&gt;
== Virtual Appliance Basics ==&lt;br /&gt;
&lt;br /&gt;
The NCBO Virtual Appliance image contains a pre-installed, pre-configured version of commonly-used open source NCBO software running on a Linux operating system. &lt;br /&gt;
&lt;br /&gt;
It is available as a VMWare Virtual Appliance OVF, as well as an Amazon Web Service AMI, and can be obtained by contacting us following the instructions under '''Getting Started''' below.&lt;br /&gt;
&lt;br /&gt;
The following software is included on the image as of v2.4:&lt;br /&gt;
* Ontologies API (REST service)&lt;br /&gt;
* Annotator&lt;br /&gt;
* Recommender&lt;br /&gt;
* BioPortal Web User Interface (including ontology visualization, widgets, biomixer, and Annotator UI)&lt;br /&gt;
&lt;br /&gt;
Please see below for how-to documentation for managing the software and running data population for Annotator.&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
=== VMWare Virtual Appliance ===&lt;br /&gt;
* To obtain the VMWare Virtual Appliance, contact [mailto:support@bioontology.org NCBO Support] to initiate your request. You'll then be asked privately for your BioPortal account username. organizational goals, and reason for preferring the local installation. (If you don't have a BioPortal account, you can create one at: http://bit.ly/bioportal-account.) The overall transaction can take a few working days, depending on resource availability.&lt;br /&gt;
* The download is provided as a zip archive containing several files. One of these is an Open Virtualization Format (OVF) file that may need to be [http://www.bioontology.org/wiki/index.php/Virtual_Appliance_FAQ#How_can_I_use_the_OVF_image_with_my_virtualization_software.3F_.28VMWare.2C_VirtualBox.2C_KVM.2C_Xen.2C_etc.29 converted to work in your virtualization environment].&lt;br /&gt;
* You can supply the hostname (machine name) for the virtual machine during the deployment process. Documentation will refer to this hostname as 'example'.&lt;br /&gt;
* '''Change default passwords'''&lt;br /&gt;
** Operating System&lt;br /&gt;
*** Username: &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Password: password is prompted on the first boot&lt;br /&gt;
** BioPortal Admin User&lt;br /&gt;
*** Username: &amp;lt;code&amp;gt;admin&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Password: &amp;lt;code&amp;gt;changeme&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Amazon AWS AMI ===&lt;br /&gt;
Amazon AMI is available on the [https://aws.amazon.com/marketplace/seller-profile/ref=dtl_pcp_sold_by?ie=UTF8&amp;amp;id=76948a46-8f8a-4a68-9a5c-3e3ff6b82d10 AWS Market Place].  Please contact [mailto:support@bioontology.org NCBO Support] for more information.&lt;br /&gt;
Once the instance is running, enter the public DNS provided by Amazon into your browser to access BioPortal web interface.   The default application administrator is 'admin' and the initial password is the Instance ID.  You can also SSH to the machine using the username 'ec2-user' and your Amazon private key.&lt;br /&gt;
&lt;br /&gt;
=== General Instruction ===&lt;br /&gt;
* Add an ontology using the BioPortal Admin User here: http://{YourDomainName}/ontologies/new&lt;br /&gt;
** The ncbo_cron project is configured to automatically process new ontologies every 5 minutes (see [http://www.bioontology.org/wiki/index.php/Virtual_Appliance_FAQ#When_are_new_ontologies_parsed.3F documentation for enabling the scheduler]). This processing includes:&lt;br /&gt;
*** Parsing any new, unparsed ontologies&lt;br /&gt;
*** Calculating a set of metrics for these ontologies&lt;br /&gt;
*** Indexing these ontologies for use with search&lt;br /&gt;
*** Processing the ontology for use with the annotator&lt;br /&gt;
* REST services are available at the following location:&lt;br /&gt;
** http://example:8080&lt;br /&gt;
** http://example:8080/documentation&lt;br /&gt;
&lt;br /&gt;
== System Requirements ==&lt;br /&gt;
The following requirements are for the resources that you devote to your Appliance instance, not for the machine running your host environment. For example, if you are using a system with 4GB of RAM, then you will need to devote all of that RAM to your guest Appliance.&lt;br /&gt;
&lt;br /&gt;
'''Note: these requirements are for basic usage'''. System requirements will vary greatly depending on the size of the ontologies you work with, the number of ontologies in the system, and the number of concurrent requests that the system needs to respond to. It can also vary depending on how the ontologies are used. For example, the search index can be RAM-intensive but parsing ontologies can be CPU-intensive. You will need to experiment with your Appliance resource settings to find what works for your scenario.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
** 2 CPU (2 GHz)&lt;br /&gt;
** 4GB RAM&lt;br /&gt;
** Hard disk space: 20GB&lt;br /&gt;
&lt;br /&gt;
* Recommended for heavier usage&lt;br /&gt;
** 4 CPU (3 GHz) &lt;br /&gt;
** 8GB RAM  (or more depending on the size/number of ontologies)&lt;br /&gt;
** Hard disk space: 20GB (or more depending on number/size of ontologies)&lt;br /&gt;
&lt;br /&gt;
== Image Format and Operating System Details ==&lt;br /&gt;
The NCBO Appliance image was created using the [http://www.vmware.com/appliances/getting-started/learn/ovf.html Open Virtualization Format], which should allow the machine to be used in a variety of environments.&lt;br /&gt;
&lt;br /&gt;
The operating system is CentOS 6.6 64-bit running:&lt;br /&gt;
*Tomcat 6.0.26 &lt;br /&gt;
*Solr 4.10.4 &lt;br /&gt;
*Java 7&lt;br /&gt;
*MySQL 5.1.x&lt;br /&gt;
*Rails 3.2.x&lt;br /&gt;
*Ruby 2.1.5&lt;br /&gt;
*memcached &lt;br /&gt;
*redis 2.8.18&lt;br /&gt;
*nginx 1.6.3&lt;br /&gt;
*4store&lt;br /&gt;
*Passenger/Apache&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following applications use these services/runtime environments:&lt;br /&gt;
* Sinatra, Ruby, 4store, redis&lt;br /&gt;
** Ontologies API&lt;br /&gt;
** Annotator&lt;br /&gt;
** Recommender&lt;br /&gt;
* Rails, Ruby, memcached, mysql&lt;br /&gt;
** BioPortal Web User Interface (including ontology visualization, Flex widgets, biomixer, Annotator)&lt;br /&gt;
* Tomcat, Solr&lt;br /&gt;
** Search index&lt;br /&gt;
&lt;br /&gt;
== Basic System Administration ==&lt;br /&gt;
* Most of our administration scripts and build environment assume that you will be running as the root user.&lt;br /&gt;
* We assume familiarity with basic CentOS Linux administration&lt;br /&gt;
* 2 text editors are originally installed: nano and vim&lt;br /&gt;
* All services required for BioPortal Stack are automatically started on boot.  For troubleshooting purposes you can manually stop/start services:&lt;br /&gt;
** &amp;lt;code&amp;gt;bprestart&amp;lt;/code&amp;gt;: manually restart services required for BioPortal Stack.   &lt;br /&gt;
** &amp;lt;code&amp;gt;bpstart&amp;lt;/code&amp;gt;: manually start services.  &lt;br /&gt;
** &amp;lt;code&amp;gt;bpstop&amp;lt;/code&amp;gt;: manually stop services&lt;br /&gt;
* Start individual services:&lt;br /&gt;
** &amp;lt;code&amp;gt;/sbin/service httpd start&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;/sbin/service memcached start&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;/sbin/service tomcat6 start&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;/sbin/service mgrep start&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;/sbin/service 4s-httpd-ontologies_api start&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;/sbin/service unicorn start&amp;lt;/code&amp;gt;&lt;br /&gt;
* Stop individual services:&lt;br /&gt;
** &amp;lt;code&amp;gt;/sbin/service httpd stop&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;/sbin/service memcached stop&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;/sbin/service tomcat6 stop&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;/sbin/service mgrep stop&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;/sbin/service 4s-httpd-ontologies_api stop&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;/sbin/service unicorn stop&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== License ==&lt;br /&gt;
All NCBO software is released with the 2-clause BSD license. Source code is included on the Virtual Appliance.&lt;/div&gt;</summary>
		<author><name>Vemonet</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=Annotator_Documentation&amp;diff=12801</id>
		<title>Annotator Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=Annotator_Documentation&amp;diff=12801"/>
		<updated>2016-01-28T16:34:58Z</updated>

		<summary type="html">&lt;p&gt;Vemonet: Created page with &amp;quot;Category:NCBO Virtual Appliance  = General workflow informations =  * Cache and dictionary file updated at each ontology submission parsing * The dictionary.txt file is ge...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:NCBO Virtual Appliance]]&lt;br /&gt;
&lt;br /&gt;
= General workflow informations =&lt;br /&gt;
&lt;br /&gt;
* Cache and dictionary file updated at each ontology submission parsing&lt;br /&gt;
* The dictionary.txt file is generated from Redis data (annotator cache at localhost:6379)&lt;br /&gt;
* Annotator ruby lib (https://github.com/ncbo/ncbo_annotator)&lt;br /&gt;
** The Annotator calls mgrep on port 5555 which uses ''/srv/mgrep/dictionary/dictionary.txt'' to annotate the text.&lt;br /&gt;
** Mgrep uses /srv/mgrep/dictionary.txt to retrieve the mgrep ID (1st column of dictionary.txt)&lt;br /&gt;
** Redis use the mgrep ID to retrieve the class URI and other data (PREF or SYN, ontology URI)&lt;br /&gt;
&lt;br /&gt;
= Update cache and dictionary =&lt;br /&gt;
&lt;br /&gt;
== Redis prefix ==&lt;br /&gt;
When caching data about a concept Redis use a prefix (it allows BioPortal to update the cache on another prefix without interrupting the Annotator service)&lt;br /&gt;
&lt;br /&gt;
To get the prefix used by the annotator in Redis:&lt;br /&gt;
	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 redis-cli -h localhost -p 6379 &amp;lt;br/&amp;gt;&lt;br /&gt;
   6379&amp;gt; get current_instance&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change it:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 6379&amp;gt; set current_instance &amp;quot;c1:&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Totally clean the cache (optional) ==&lt;br /&gt;
Not always necessary, but can be useful if you have old annotations (for concept from deleted submissions) that won't go away.&amp;lt;br/&amp;gt;&lt;br /&gt;
Be careful it also delete the &amp;quot;current_instance&amp;quot;, so you will have to set it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 redis-cli -h localhost -p 6379 &amp;lt;br/&amp;gt;&lt;br /&gt;
   6379&amp;gt; flushall&lt;br /&gt;
   6879&amp;gt; set current_instance &amp;quot;c1:&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Setting up of config files ==&lt;br /&gt;
&lt;br /&gt;
Running the generate cache CRON job will create new entries in Redis with the prefix defined in the config file with &amp;quot;annotator_redis_alt_prefix&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Config files location in the VM:&amp;lt;br/&amp;gt;&lt;br /&gt;
* /srv/ncbo/ncbo_cron/config/appliance.rb&amp;lt;br/&amp;gt;&lt;br /&gt;
* /srv/ncbo/ontologies_api/current/config/environments/appliance.rb&lt;br /&gt;
&lt;br /&gt;
To generate the cache on a new &amp;quot;alt&amp;quot; prefix and continue to annotate with the one defined in Redis current_instance&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Annotator.config do |config|&lt;br /&gt;
   config.annotator_redis_prefix  = &amp;quot;&amp;quot;&lt;br /&gt;
   config.annotator_redis_alt_prefix  = &amp;quot;c1:&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Generate the Redis cache and dictionary for all ontologies ==&lt;br /&gt;
&lt;br /&gt;
The following CRON job will generate the annotator cache in Redis, then generate the dictionary used by mgrep (in ''/srv/mgrep/dictionary/dictionary.txt'')&amp;lt;br/&amp;gt;&lt;br /&gt;
'''Be careful!''' It is using the _annotator_redis_alt_prefix_ to generate the cache, but the Redis _current_instance_ to generate the dictionary.&amp;lt;br/&amp;gt;&lt;br /&gt;
So if you are doing a total refresh of the cache and dictionary (after a flushall for example) you will have to define the same prefix in Redis current_instance and in config.annotator_redis_alt_prefix&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Then run the following command from the ncbo_cron project (''/srv/ncbo/ncbo_cron''):&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 bin/ncbo_ontology_annotate_generate_cache -a -r -d -l logs/all_cache.log&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It will generates entry in Redis like this : &amp;quot;c1:term:-1762481778059933889&amp;quot;&lt;br /&gt;
Check for it in Redis:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 redis-cli&lt;br /&gt;
   6379&amp;gt; keys c1:term:*&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restart mgrep : ''service mgrep restart'' or do a ''bprestart''&lt;br /&gt;
&lt;br /&gt;
The annotator should be updated!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== More details on the generate cache options ==&lt;br /&gt;
&lt;br /&gt;
The CRON job ''ncbo_ontology_annotate_generate_cache'' can be run with different options:&lt;br /&gt;
&lt;br /&gt;
* -r or --remove-cache&lt;br /&gt;
Reset cache to scratch&lt;br /&gt;
DO NOT use the -r attribute when generating cache for individual ontologies, as it will delete the entire cache used by the Annotator and replace it with a new one that will only contain the given ontologies.	&lt;br /&gt;
&lt;br /&gt;
* -a or --all-ontologies&lt;br /&gt;
To generate the cache for all ontologies : run the process on the annotator_redis_alt_prefix&lt;br /&gt;
	&lt;br /&gt;
* -o STY,SNMI&lt;br /&gt;
Generate the cache only for the specified ontologies : run the process on the annotator_redis_prefix&lt;br /&gt;
	&lt;br /&gt;
* -d or --generate-dictionary&lt;br /&gt;
Also re-generate the dictionary for the terms prefixed by current_instance. Does the same job as the ncbo_ontology_annotate_generate_dictionary CRON job.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Generate the dictionary only ==&lt;br /&gt;
&lt;br /&gt;
To generate the dictionary from the Redis cache (terms prefixed with Redis ''current_instance''):&lt;br /&gt;
&lt;br /&gt;
 /srv/ncbo/ncbo_cron/bin/ncbo_ontology_annotate_generate_dictionary&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting =&lt;br /&gt;
&lt;br /&gt;
== Check which dictionary mgrep is using ==&lt;br /&gt;
&lt;br /&gt;
Restart mgrep and run it:&lt;br /&gt;
 ps -ef | grep mgrep&lt;br /&gt;
&lt;br /&gt;
It should give something like:&lt;br /&gt;
 mgrep    27924     1  0 Jan27 ?        00:00:00 /usr/local/mgrep-4.0.2/mgrep --port=55555 -f /srv/mgrep/mgrep-55555/dict -w /usr/local/mgrep-4.0.2/word_divider.txt -c /usr/local/mgrep-4.0.2/CaseFolding.txt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Run queries on mgrep ==&lt;br /&gt;
&lt;br /&gt;
Run queries against the mgrep directly, using a telnet connection to the mgrep server&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 telnet my-bioportal-vm 55555&lt;br /&gt;
   ANY entity&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should return something like this (if entity is cached for the annotator, which should be since it is in STY)&lt;br /&gt;
&lt;br /&gt;
 1882193402596741431	2	7	entity&lt;/div&gt;</summary>
		<author><name>Vemonet</name></author>
	</entry>
</feed>