Installation Guide..

Prerequisites
⦿ Basic installation of GenIE CMS will require a web server. We recommended to install latest LAMP (Linux,Apache,MySQL,PHP).

Download & Install
⦿ Go to web root directory (ex: /var/www) and run following command.
wget https://geniecms.org/latest/setup.sh && sh setup.sh install_genie
⦿ Navigate to http://[your server name]/genie (ex: http://localhost/genie).
⦿ Follow the instructions on the front page to customise the installation.
⦿ Download and install necessary plugins as described in plugins section.

Optional settings
⦿ Update php.ini (ex: memory_limit=256M)
⦿ MySQL my.cnf (ex: max_allowed_packet = 32M)



⦿ Basic customization shows changing main password, adding new pages and updating menu items .

Loading sample genome into GenIECMS

Import eucalyptus grandis genome into GenIE database

⦿ Download the latest version of setup.sh file into your web root directory (ex: /var/www).
wget -nc https://geniecms.org/latest/setup.sh
⦿ Run follwing command to load egrandis v2.0 data into GenIE database.
sh setup.sh -u [username] -p [password] -n [new_database_name] load_egrandis_database
⦿ Finally update the genie/plugins/genelist/genelist/services/settings.php and genie/plugins/gene/services/settings.php with above username, password, localhost and database details

#Download the setup.sh file into your web root directory (ex: /var/www)
cd /var/www
wget -nc https://geniecms.org/latest/setup.sh
sh setup.sh
Usage: setup.sh [OPTIONS] <action>
Where <action>:
    install_genie     Install GenIECMS
    load_egrandis_database Load latest eucalyptus grandis v2.0 database as an example dataset for GeneList and Gene Page plugins
    init              Initialize the empty database for GeneList and Gene Page plugins
    import            Import initial source files and load into the database
Options:
    -u <user>         Username to access database
    -p <password>     User password to access database
    -h <host>         MySQL server address (default: localhost)
    -r <port>         MySQL server port (default: 3306)


#Install egrandis genome into GenIE database
sh setup.sh -u mysql_user -p mysql_pass -n sample_egrandis load_egrandis_database

Install BLAST plugin with eucalyptus grandis genome

⦿ Download the latest version of BLAST plugin and place it inside the plugins folder (ex: /var/www/genie/plugins).
⦿ Download egrandis BLAST indices and place inside the data folder (ex: /var/www/genie/data).
⦿ Update the /var/www/genie/plugins/blast/config.json file and /var/www/genie/plugins/gene/config.json files with above blast indices.

#Install Ubuntu task-spooler.
sudo apt-get install task-spooler

#Go to the plugins directory.
cd /var/www/genie/plugins
wget https://geniecms.org/latest/plugins/blast.zip
unzip blast.zip && rm blast.zip
sudo chgrp www-data blast/tmp && sudo chmod -R 775 blast/tmp

#Download egrandis BLAST indices and place it inside data folder.
cd blast
wget https://geniecms.org/latest/data/egrandis_blast_indices.tar.gz
tar -zxvf egrandis_blast_indices.tar.gz && rm egrandis_blast_indices.tar.gz

#Edit BLAST configuration file.
nano /var/www/genie/plugins/blast/config.json
{
"selection_box":[{"height":180,"width":400}],     
"datasets":[
       {
     "number": 1,
     "user_friendly_name": "Genome",
     "dataset_path":"/var/www/genie/data/BLAST/Egrandis_297_v2.0",
     "molecule_type":"nucleotide",
     "group_name":"Eucalyptus grandis"
  },
{
     "number": 2,
     "user_friendly_name": "CDS",
     "dataset_path":"/var/www/genie/data/BLAST/Egrandis_297_v2_cds",
     "molecule_type":"nucleotide",
     "group_name":"Eucalyptus grandis"
  },
     {
     "number": 3,
     "user_friendly_name": "Transcript",
     "dataset_path":"/var/www/genie/data/BLAST/Egrandis_297_v2_transcript",
     "molecule_type":"nucleotide",
     "group_name":"Eucalyptus grandis"
  },
{
     "number": 4,
     "user_friendly_name": "Protein",
     "dataset_path":"/var/www/genie/data/BLAST/Egrandis_297_v2_protien",
     "molecule_type":"protein",
     "group_name":"Eucalyptus grandis"
  }
],
"default_jbrowse_dataset_directory":"Fegr20"
}


#Edit gene page configuration file to display inside the sequence tab.
nano /var/www/genie/plugins/gene/config.json

{
"selecttion_box":[{"height":180,"width":400}],
   "datasets": [
      {
        "genome_blast_dataset_path": "/var/www/genie/data/BLAST/Egrandis_297_v2.0"
      },       {
        "cds_blast_dataset_path": "/var/www/genie/data/BLAST/Egrandis_297_v2_cds"
      },       {
        "transcript_blast_dataset_path": "/var/www/genie/data/BLAST/Egrandis_297_v2_transcript"
      },       {
        "protein_blast_dataset_path": "/var/www/genie/data/BLAST/Egrandis_297_v2_protien"
      }],
   "default_jbrowse_dataset_directory": "Fegr20"
}


#Finally logging to the GenIECMS using admin password and add a new menu item called BLAST.

Install JBrowse plugin with eucalyptus grandis genome

⦿ Download the latest version of JBrowse plugin and place it inside the plugins folder (ex: /var/www/genie/plugins).
⦿ Download egrandis JBrowse indices and place inside the data folder (ex: /var/www/genie/plugins/jbrowse/data).
⦿ Update the genie/plugins/jbrowse/jbrowse.conf file with above JBrowse indices.
⦿ Please read JBrowse documentation for more information.

#Go to the plugins directory.
cd /var/www/genie/plugins
wget https://geniecms.org/latest/plugins/jbrowse.zip
unzip jbrowse.zip && rm jbrowse.zip

#Download egrandis JBrowse indices and place it inside data folder.
cd jbrowse
wget https://geniecms.org/latest/data/egrandis_jbrowse_indices.tar.gz
tar -zxvf egrandis_jbrowse_indices.tar.gz && rm egrandis_jbrowse_indices.tar.gz

#Edit JBrowse configuration file, if needed.
nano /var/www/genie/plugins/jbrowse/jbrowse.conf

#Finally logging to the GenIECMS using admin password and add a new menu item called Jbrowse.

Loading a new genome into GenIECMS

⦿ Please do the basic installation as described in above first section.
⦿ The rest will be available soon!

Writing a Plugin

Development of plugin does not require to understand the GenIE framework.

Hello World! Plugin
⦿ Create hello_world directory inside the plugin directory.
⦿ Place following index.php file inside hello_world directory.
⦿ Add tool.php into the hello_world directory.
⦿ Navigate to http://[server name]/genie/hello_world.