Correlation Engine Highlighting Service FAQ

General Questions

Why is my page not highlighted?
There are several steps to try:
  • Is your script in the <body>? The script must be added to the <body>. If you add it to the <head> the highlighting may never get initialized. (This applies only to the embedded script, not to the bookmarks.)
  • Does the page finish loading? Highlighting normally takes place during the JavaScript onload event. If the page never finishes loading, the highlighting will never get called. If you can't get your page to finish loading, you can schedule the highlighting yourself. See Can I control when the highlighting runs? (This applies only to the embedded script, not to bookmarks, which run when you click on the bookmark.)
  • Do you have any JavaScript errors during your page load? If your page has any JavaScript errors during loading, The Correlation Engine Highlighting initialization may not get called. Use a JavaScript console or debugger to watch for any errors. (This applies only to the embedded script, not to bookmarks, which run when you click on the bookmark.)
  • Verify your key. If you are highlighting your own page, check the script that you have added. If you have created a bookmark for highlighting other pages, right click on the bookmark, and select properties". Compare the key in the URL to the key here or here.
  • In Internet Explorer, if the page sets document.domain, highlighting will not work. If you have JavaScript error messages turned on, you may see an "access denied" error.
  • Add "&debug=true" to the url. It should be added to the url in the script or the bookmark. You can add it before or after the apiKey. The debug flag will cause the JavaScript to alert with error messages in the case of certain errors.
  • Try a different page. While we have tried to design the highlighting function in a general way, it is possible that some pages may be incompatible.
  • Make sure that JavaScript is enabled. The highlighting requires JavaScript.
  • Make sure that you are using a supported browser.
Do I need different keys for highlighting my own pages and for the bookmark for highlighting other pages?
No, both forms of the Correlation Engine Highlighting Service use the same key.
Are frames and framesets supported?
If the Correlation Engine Highlighting Service finds a frameset, it will find all frames in the frameset, and apply the service to each frame. However, if the user subsequently clicks on a link that changes the contents of one of the frame, that frame will not be updated. If you are highlighting your own pages, you should add the highlighting script to individual frames, not to the framesets. You may prefer not to add the highlighting script to frames that are used exclusively for navigation.
May I share my key with others?
Illumina encourages each user to obtain their own key. However, if you are adding highlighting to multiple pages on one web site, you may wish to use a single key for the whole web site.
Can I change my key?
You may change your Correlation Engine Highlighting Service key here, but that will invalidate your current key. All existing pages and bookmarks using your old key will no longer get highlighted.
Can I get more than one key?
You can only get one key per Illumina account. If you need to change your key, you may do so here, but that will invalidate your current key. All existing pages and bookmarks using your old key will no longer get highlighted.
What information is sent to Illumina?
In order to locate biological terms in your page, and to determine the related information, the Correlation Engine Highlighting Service sends the contents of the entire page to Correlation Engine. Illumina uses this information only to provide The Correlation Engine Highlighting Service. Illumina's handling, possession, and use of this information complies with the Illumina terms of service and privacy policy. Because the contents of the entire page are transmitted to Illumina, you should refrain from using this service when viewing pages which contain sensitive information, including personal information.
Can I customize the appearance of the highlighting or popups on my web page?
Not with the basic product. Please contact Illumina regarding a custom highlighting package for your organization at highlightapi@nextbio.com.
Will everything in my page get highlighted?
Illumina only analyzes the HTML text of your web page. Consequently other media, such as images, flash, PDFs, etc. will not get highlighted. Also, only content that is present after the initial page load will be highlighted. Dynamic content, such as that fetched using AJAX, will not be highlighted. (If deferred highlighting would be useful to you, please contact Illumina at highlightapi@nextbio.com; we may consider this for a future release.) In Internet Explorer, if the JavaScript property document.domain is set, nothing will be highlighted.
When I highlight a secure (https) page, I get a message similar to "This page contains both secure and nonsecure items". What does this mean?
If you are using the Correlation Engine Highlighting Service on a secure page, you should first evaluate whether that is appropriate. The content is sent to Illumina. If the page contains confidential information, it may be inappropriate for you to use the service on this page. (See What information is sent to Illumina?.) Assuming that you do wish to use the Correlation Engine Highlighting Service with your page, the answer to this question depends on whether you are highlighting your own page, or using a bookmark to highlight other pages:
  • If you are highlighting your own page, you should do two things to eliminate this message. First, change the protocol on the url from http to https. This will send the data to Illumina over a secure channel, and eliminate the message in some browsers. However, some browsers, including Internet Explorer 6, will still display this message. To remove the message, you must provide us with the URL of a blank page or image on your own web site. (It doesn't actually have to be blank, any light weight page is acceptable). This url, must be on the same domain as the page being highlighted; if the domain does not match, your page may not work. You should then add "&blankurl=your url" to the URL of the script. For example, if your hostname is www.example.com, and you have a page called blank.htm on that host, your script will look like:
    <script type='text/javascript' src='https://api.nextbio.com/b/nbapi/include.nbs?type=js&name=genhighlight&apiKey=yourkey&blankurl=https://www.example.com/blank.htm'></script>
    You should only use this on your https pages.
  • If you are using the bookmark to highlight any page on the web, the bookmark will automatically choose https when using a secure page. Your page content will be sent to Illumina over a secure channel. However, some browsers, including Internet Explorer 6, will nonetheless display this message. You may answer either "yes" or "no" to the question; highlighting will take place regardless of your answer.
What ontologies were used to extract the entities?
Terms were extracted from the publications using the following ontologies:
  • Genes: NCBI Gene Indexes
  • Diseases: SNOMED CT
  • Tissues: MeSH
  • Compounds: Curated compilation of MeSH and PubChem
  • Biogroups: NCBI Gene Ontology, MSigDB Pathways, and InterPro Protein Families
  • Organisms: MeSH
  • SNPs: dbSNP
What browsers are supported?
Highlighting works in Internet Explorer 6 or later, Firefox 3 or later, Safari 4, and Chrome 4. It does not work in Firefox 2, and has not been tested in other browsers not listed here.

Advanced Features for JavaScript Developers

Can I control when the highlighting runs? I want to be sure it runs after my own onload handlers.
By default, the embedded JavaScript will schedule an onload handler, and will highlight the page after the page loads. This is fine for web pages that don't run a lot of JavaScript at initialization. However, if your page has a JavaScript onload method of its own, you may want the highlighting to run after your own JavaScript. This would be especially true if you want the highlighting to include updates that your JavaScript has made. You can control when the highlighting code takes place. First add the string "&init=EXPLICIT" to the URL of the script. This will prevent the highlighting from inserting its own onload handler. Then, in your JavaScript (probably as part of your own onload handler), call the function nbApi.initHighlight() when you are ready to initialize the highlighting. (This does not apply to bookmarks, which run whenever you click on the bookmark.)
My page updates itself using AJAX. Can I update the highlighting after the AJAX runs?
Yes, you can highlight specific element of the page by calling callback function after the AJAX runs. First add the string "&init=EXPLICIT" to the URL of the script. This will prevent the highlighting from inserting its own onload handler. Then, in your JavaScript (probably as part of AJAX callback), call the function nbApi.initHighlight(ElementId) to initialize the highlighting. (This does not apply to bookmarks, which run whenever you click on the bookmark.) Argument of a function is element id of the document that requires highlighting.
Can the Correlation Engine Highlighting Service cause side effects to my page?
The highlighting is done by adding <span> tags to your page. Usually, the addition of a <span> tag is innocuous. However, JavaScript or CSS can be affected by it. For example, if you have JavaScript that looks for the third span in a paragraph, addition of additional spans will affect it. If you have CSS like "span {background:red}" then all the highlighting spans will be red. See Can I disable highlighting on part of a page to block the highlighting on one section.
Why doesn't the highlighting popup look the same on my page as on other pages
Since the highlghting popup is added to your page, it is affected by your page's CSS. If you have CSS that affects all elements of a given type, it may affect those elements when they appear in the popup. We have tried to protect against common CSS, but there may still be some CSS that affects us. If you run into significant problems, please let us know at highlightapi@nextbio.com.
Can I disable highlighting on part of a page?
If you add the class "nbApiNoHighlight" to any HTML element, then that element, and all elements inside it will be ignored by the Correlation Engine Highlighting Service.
The script variables conflict with a variable in my own JavaScript. How do I fix it?
To minimize the possibility of conflicting with your own JavaScript or html, the Correlation Engine Highlighting Service places all JavaScript in a single object "nbApi", and prefixes all object ids and CSS classes with "nbApi". In the unlikely event that you already have JavaScript variables named "nbApi", or element IDs that begin with this string, you can change the string by adding the "&nameSpace=[namespace]" parameter to the URL. Choose your own string for [namespace] that doesn't conflict with your own code.