Pop Up Browser Welcome Basket
See this tutorial on getting started on Jetstream. It’s also a good idea to set up a Globus server on your image if you plan to move large files to and from the server (references, track data, etc). This cannot be predone, so the VM does not come packaged with a Globus set up, but the instructions are found here.
Once you have a Jetstream account, create a new project, add an image, search for Pop Up Browser, and start that image. When it finishes building, you will receive an IP address - copy this and paste it into a browser - you should see your new browser!
You can also access the virtual machine a couple of ways:
ssh XSEDENAME@IP.ADDRESS Jetstream GUI Jetstream Command Line
To get to the browser, simply copy the ip address Jetstream gives you and paste it into your browser.
Change your password
Change your password - everyone has the same one! This can be done two ways:
- Sign in using the default username and password. The default username is: "Browser_user" and the default password is: "Browsers4All!". Then click the link to Log In again (at the top). There will be a page that tells you how long your account has existed, and a couple of tabs under the name of the page - one will be "edit". Click edit, which will bring you to the profile edit form. You can change your password here.
- Use a terminal shell (through JS or putty or terminal) to do the following:
cd /var/www/html/ sudo drush upwd --password="MyNewPassword" admin
This second option is particularly useful if you forget your password - to use the GUI you have to be able to sign in first. To change it via command line, you just need to sign onto the machine!
There is information in the help section of Tripal for how to set up the dependencies for this module, but they are preinstalled in the popupjb VM. These tools are currently linked under the Genome Browser tab.
Four pages are available in the module:
- /popupjb_ref - allows you to upload a .fa or .fasta file as a reference file as well as name the reference
- /popupjb_track - allows you to upload .bam/.gff/.gff3/.bed/.vcf/.gbk files against a preloaded reference and name the tracks. - this does allow access to ANY open preloaded jbrowse. If there is a jbrowse you do not want to be modified, you can easily change the permissions of that directory to not be writable by apache/www-data
- /popupjb_delete - allows you to delete uploaded tracks for clean up, etc.
- /popupjb_makeblastdb - allows you to upload BLAST databases and link them to jbrowse instances.
To set up a browser, your best option is to preupload the files to the server (esp with larger files). You can do this using rsync:
rsync -a --rsync-path="sudo -u www-data rsync" ~/local/path/to/FILE XSEDENAME@URL:/var/www/html/jbrowse/uploads &
Once the file is uploaded, Click on Build a Reference. Fill out the form using the “preuploaded” options, and make sure you have the file name exactly the same as the one you uploaded. This process may take a bit to run, depending on the size of your reference. If you see a blank page, wait a while and refresh. If you are still having issues ~hour later, you may need to increase the size of your Jetstream Image (see Set up Dev/Production System for more details).
You can then add tracks the same way - either upload the data from rsync or Globus, or upload them through the webpage (for smaller files). Simply click on Load a Track and fill out the form. A link to the browser should be provided for you after successful upload.
NOTE: might need to refresh - jbrowse caches pretty heavily, so I have had to dump my browser cache to get the tracks to upload at times.
To delete a track, click Delete a Track and fill out the form. This will delete the track data, but will not remove the uploaded data (meaning to rebuild you can use the “preloaded” option in Add a Track).
To set up a BLAST DB, click BLAST DB Set Up on the Genome Browser or BLAST page. This will allow you to upload the reference file or use a preloaded file (such as one used to build the browser).
This step is best done AFTER you set up your browsers. The last part of the form asks if you want to link this database to a browser. If you do this, when you run a BLAST job against this database, a link will be produced to visualize the blast results against the jbrowse specified. Make sure the names are EXACTLY the same as the name you gave your jbrowse. NOTE: visualization only works for limited blast results.
Once the blast database is created, it will present you with a location for that file. You will have to add that file via the “Add content” link in the top left corner (admin only). Add content -> Add Blast Database -> provide it the link and the same name you did in the form!
To use BLAST, you can click on the BLAST Server button. This will allow you to choose which type of blast, then which inputs and parameters you wish to use. See http://126.96.36.199/genome_browser#overlay=admin/tripal/extension/tripal_blast/blast_ui to configure defaults and whether or not people can upload files to blast against your databases.
The BLAST server should automatically run the job, via the tripal job damon. If you need to troubleshoot this job daemon for any reason, see this page.
You can see screen shots on how to use these features here.
Drupal comes with a lot of permissions handling. The default has three levels:
Nodeaccess is preinstalled into the VM - which means you can set the permissions for each default page. For instance, you can set the access to the BLAST page to only authenticated users to prevent overuse of your compute cycles on your JS account. You can also do the same for the Browser page to prevent the access to unpublished data by the public.
Nodeaccess does not control custom pages though - so the upload pages are controlled separately. To control who can access these pages, go to http://188.8.131.52/genome_browser#overlay=admin/people/permissions, and scroll all the way to the bottom.
You can also set up custom groups - go to YOURURL/genome_browser#overlay=admin/people/permissions/roles to do this.
There are two ways to set up users - either manually enter them when requested, and send them an initial password; or you can have them fill out the request and have the site email you when new users apply for an account. I recommend the latter.
To do this, you will need to set up an SMTP server, which allows you to get emails when someone signs up (it has captcha built in to prevent spam as well).
SMTP go to https://www.drupal.org/project/smtp copy URL link sudo wget URL link untar sudo drush pm-enable smtp
THE ABOVE SHOULD ALREADY BE DONE FOR YOU!!! HOWEVER, YOU NEED TO SET THIS UP FOR YOUR EMAIL!!!
go to website-> modules->SMTP->configuration Turn module on SMTP server - smtp.gmail.com SMTP port - 465 Use encrypted protocol - Use SSL SMTP Authentication - username - your gmail email - password - your gmail passwoord Allow to send e-mails formatted as HTML SAVE Reopen - send a test email to yourself
If you sign in as an admin, you will see that there are a couple links above the page - view (default), edit, grant.
Click edit to change the page (explore in here - there are lots of things you can do here, including writing full php or html, create menu links, etc.).
Click grant to change the permissions for that page.
You can also add pages by clicking “Add content” in the top left corner of the admin controls - which will generate a page with the same links at the top.
I included demo buttons to add to your page as well. These are IP agnostic, so you can feel free to use and edit them as you so choose.
The Drupal documentation will also help with this.
You can change the appearance of the site using themes. These can be downloaded as tar files (google “free drupal 7 themes”) and added to the site. Upload the tar file (via wget or rsync or globus) to /var/www/html/sites/all/themes. Untar the files, go back to the website, then click “Appearance” in the admin controls. You can then select and enable the new theme. The settings tab allows you to change the behavior of each theme as well.
To add links to the menus, click Structure in the admin menu, and click “Menus”. The main menu is the bar at the top. You can list links, add links, etc from this menu. If you add aliases to your pages (go to page -> edit -> scroll to the bottom -> URL path setting), it will be easier to add links to the menu.
Since custom pages are not indexed the same way in drupal as basic pages (like home, genome browsers main page, etc), you have to add them slightly differently.
add link -> use alias or node number (i.e. /home)
add link -> use full address (i.e. http://YOURURL/blast or http://YOURURL/jbrowse/data=newbrowser)
It is highly recommended that you have two VMs for each browser that you plan to run in a longer time frame - one small production, and one medium development browser. Small VMs don’t have the memory to run the reference building jobs (too low memory), but larger VMs eat through SUs faster than necessary. Also, having a dev browser allows you the back up if you break something!
- To set this up, start a medium VM with the image - but don’t bother setting it up to be all pretty - this is just an initial workhorse.
- Use this VM to generate the jbrowse references and build your blast databases. Set up Globus on this machine.
- Then spin up a small VM with the same image - it will give you a new IP, set up Globus on this machine as well. Move your jbrowse references and your blast databases to the same folder on the small VM.
- Set up the small VM to be as pretty and wonderful as you’d like. When you are happy or get to a point where you want to “save”, image the VM (in the Jetstream GUI menu when you are on the Image page). Name it something like “DaphniaBrowser” and give it a version.
- Delete the initial workhorse. It will be replaced in a minute.
- Spin up a medium VM using the new DaphniaBrowser v1.0 image you just made. This will give you the EXACT same browser, but with more power.
- You can suspend this one unless you need it to develop new content, play with new modules, build new references, etc. You can then move anything built to the small production browser using Globus. Turn it off when you aren’t using it to save SUs.
I highly recommend going through tripal’s tutorial on setting up a genome browser - you can skip the install part - but this will familiarize you with a lot of the organization, etc. This is where I started ^_^. So should you!