This package contains the main IMV software files for the Interactive Mutation Viewer tool, which is particularly useful to display/validate/annotate population sequencing results of viral population in a virology study. Two example viewers (an alignment viewer and a population sequencing viewer) were built on top of the core software with a MSF->JSON for IMV converter also provided. The package requires Ext v3.2.1 to function properly, you must obtain the license of Ext v3.2.1 separately under proper license terms. * License: This entire software package is licensed to you under GPL license v3 (http://www.gnu.org/copyleft/gpl.html). * Software Author: Mingyi Liu (mingyi.liu@bms.com) from Bristol-Myers Squibb (Charles Tilford and Dennis Hernandez contributed to the sample file included in this package). The directory layout is: -- readme.txt -- AlignViewer (example viewer to view MSF alignments converted by the aln2imv tool) -- map.html (the Viewer UI - open URL of this file in browser to use the viewer) -- js (Javascript files directory for AlignViewer) -- alignViewer.js (this is really a configuration file that customizes IMV library to fit the alignment viewer needs) -- CGIs -- aln2imv.pl (CGI script to convert MSF file to JSON for IMV) -- alignments (Contains an example MSF file "boca.msf". This dir is used for converted json files as well) -- echo.pl (CGI script to simply echo all the parameters) -- DemoVids -- IMV.html (open this file to view the demo video (with some instructions too) for the viewers included in this software package -- ... other files are supporting files. Do not change/delete/rename them! -- IMV (main IMV software library) -- css (5 style sheets as of July 9, 2013) -- images (6 icons as of July 9, 2013) -- js (18 scripts as of July 9, 2013) -- MutationViewer (example viewer for population or clonal sequencing results from virology studies) -- images (favicon) -- js (Javascript files directory for example Viewer) -- virologyViewer.js (this is really a configuration file that customizes IMV library to fit the virology sequencing result viewer needs) -- map.html (the Viewer UI - open URL of this file in browser to use the viewer) -- SampleJson-NS5A-1a.Boca.Pop.json (example data file) Installation & how to use the tools: 1. First let's assume your web files are under /usr/local/apache2/htdocs (URL is http://myserver/mydocs), and cgi-bin directory is /usr/local/apache2/cgi-bin (URL is http://myserver/mycgis): a. Simply put this directory to /usr/local/apache2/htdocs/PubD-IMV. b. Make a symlink to the PubD-IMV/CGIs directory under your cgi-bin directory (e.g. "ln -s /usr/local/apache2/htdocs/PubD-IMV/CGIs CGIs"). 2. Obtain ExtJS v3.2.1 (http://www.sencha.com/products/extjs/download/ext-js-3.2.1, they have one open source license and two commercial licenses) and put the package at /extjs/321 under your web server's root directory. 3. Also obtain Bioperl and install on server. 4. That's it, you're done! a. Now for the Alignment Viewer example tool, you can convert MSF files to the proper format using http://myserver/cgi-bin/CGIs/aln2imv.pl, and after conversion you'll see a link to viewer using the just-converted file. Direct URL to the viewer is at http://myserver/mydocs/PubD-IMV/AlignViewer/map.html. b. You can access the Virology Mutation Viewer example tool using URL http://myserver/mydocs/PubD-IMV/AlignViewer/map.html. Just select "demo static file" from the dropdown menu on the top left corner. c. Note that very IMPORTANT description on acceptable JSON format for the Virology Mutation Viewer which utilizes the full power of this software is described in detail in PubD-IMV/IMV/js/track1.js. d. Also note that do NOT change track1.js name to track.js name- otherwise if your user has Adblock installed, it'd mistakenly block this js file! e. When viewing the data, double click on any filter on left side brings up a dialog of all possible values; clicking on any n.t./sequence name/a.a. brings up detailed information (such as mutation %, statistics at position, user comments, trace image, sequence exports etc) for those entities. Customization: Now this is certainly more complicated than using the two ready-made example viewers. Some suggestions: 1. In most cases, following the example and comments in AlignViewer/js/alignViewer.js and MutationViewer/js/virologyViewer.js would be enough if you need something similar. 2. For bigger changes, you need to have good knowledge of Javascript and ExtJS v3.2.1. Most of the changes you might want to do would be done in IMV/js or css/images directories. There are some comments in the JS files to help comprehension of the code. 3. For providing trace image, you need to replace empty.pl file with a real script that provides proper trace image (and coordinates about where each base is on the image) for a given cenbase (center base). 4. For base editing, you also need to replace empty.pl file with a service that would store the base edit results. Replace the URL in js file to the service URL. 5. For pref manager, you need to replace empty.pl with a service that stores user preference in DB. Replace the URL in js file to the service URL.