Ivy Ivy is a secure computing environment for researchers consisting of virtual machines (Linux and Windows) and Jupyter Notebooks. Researchers can use Ivy to process and store sensitive data with the confidence that the environment is secure and meets HIPAA requirements.
Overview Ivy consists of two separate computing environments. Access to one environment does not automatically grant access to the others:
Virtual Machines JupyterLab Notebooks - Coming Soon! Data Transfer In/Out of Ivy HIPAA Compliance Coming Soon - Secure HPC Requesting Access University of Virginia tenure stream and academic general faculty, research faculty, research scientists, and postdoctoral associates may request an account on Ivy.
Available Packages The following bioinformatics packages are available on the Ivy Linux Virtual Machines
Bowtie2 Bowtie2 is a memory-efficient tool for aligning short sequences to long reference genomes.
For bowtie2 usage information, please click here
HISAT2 HISAT2 is a fast and sensitive tool for aligning short reads against the general human population (as well as single reference genome)
* Requires approval before installation
For HISAT2 usage information, please click here
Bowtie2 is a memory-efficient tool for aligning short sequences to long reference genomes. It indexes the genome using FM Index, which is based on Burrows-Wheeler Transform algorithm, to keep its memory footprint small. Bowtie2 supports gapped, local and paired-end alignment modes. Alignment to a known reference using Bowtie2 is often an essential first step in a myriad of NGS analyses workflows.
Bowtie2 Usage Alignment using bowtie2 is a 2-step process - indexing the reference genome, followed by aligning the sequence data.
Create indexes of your reference genome of interest stored in reference.fasta file:
bowtie2-build [option(s)] <reference.fasta> <bt2-index-basename> This will create new files with the provided basename and extensions .
Available Packages The following Data Analysis packages are available on the Ivy Linux Virtual Machines
MATLAB MATrix LABoratory (MATLAB for short) is a software designed for quick scientific calculations, such as matrix manipulation, plotting, and others. It has hundreds of built-in functions for a wide variety of computations and several tools designed for specific research disciplines, including statistics and partial differential equations.
* Limited licenses available, for more information on MATLAB and licensing, please click here
SAS SAS is large platform independent software with multiple components, and is used for statistical analysis, data ETL operations, as well as several other reporting problems.
The following database software are available on the Ivy Linux Virtual Machines
MySQL Is the most popular open-source relational database, used in academia and industry worldwide. It has been in use for over 20 years and is backed by a large developer community. It is available in both free and proprietary versions.
MariaDB MariaDB is a community developed version of MySQL, and is highly compatible with MySQL and other relational databases. Existing databases can be easily migrated between MySQL and MariaDB, and vice versa.
PostgreSQL Unlike MariaDB and MySQL, PostgreSQL is an object relational database, and can be used in a manner similar to other relational databases.
* Please note that HISAT2 requires approval prior to installation on the VM
HISAT2 is a fast and sensitive tool for aligning short reads against the general human population (as well as single reference genome). It indexes the genome using a Hierarchical Graph FM Index (HGFM) strategy, i.e. a large set of small indexes that collectively cover the whole genome (each index representing a genomic region of 56 Kbp).
HISAT2 Usage: Alignment using HISAT2 is a 2-step process - indexing the reference genome, followed by aligning the sequence data.
Create indexes of your reference genome of interest stored in reference.
cTAKES Overview cTAKES or The clinical Text Analysis and Knowledge Extraction System, is a Mayo Clinic developed Natural Language Processing (NLP) tool used to extract information out of clinical records. It is open-source, and built on the Apache Unstructured Information Management Architecture. cTAKES is modular, expandable, for a number of generic use cases, and contains excellent best practice notes.
cTAKES Usage cTAKES components Some of cTAKES components are listed below:
Sentence boundary detection (OpenNLP technology) *Tokenization (rule-based) Morphologic normalization (NLM’s LVG) POS tagging (OpenNLP technology) Shallow parsing (OpenNLP technology) Named Entity Recognition Negation and context identification (both based on NegEx) cTAKES Named Entities cTAKES contains the following Named Entities:
Stata Overview Stata is a graphical data analysis tool developed by StataCorp, and is short for Statiscs and Data. It is used in various disciplines, including biomedicine, economics, epidemiology, among others. It is capable of performing statistical analysis, simulations, regression, and data management. Besides the standard version Stata also ships with the MP version (multi=processing), and SE for large databases.
NB Users requesting an installation of Stata would be required to bring their own license. Please consult with us before requesting an installation. You may also request a Stata license from the UVa Software Gateway
IDL Overview IDL, short for Interactive Data Language, is an interactive shell based data analysis programming language. Used vastly in medical imaging, it can quickly create visualizations and graphs of large data sets in a few easy steps due to its vector nature. FORTRAN users would be familiar with the IDL syntax. IDL is not to be confused with Java IDL or Microsoft IDL.
Basic IDL Usage To start IDL, open a terminal window and type idl. This will start the interactive shell.
Variables in IDL To initialize variables in IDL, type:
<variable_name> = <variable_value> e.g.
x = 3 and hit Enter/Return
MATLAB Overview MATLAB is a high-performance language for technical computing. It integrates computation, visualization, and programming environment. MATLAB stands for MATrix LABoratory. MATLAB was made to provide easy access to matrix software developed by the LINPACK (linear system package) and EISPACK (Eigen system package) projects. MATLAB includes a programming language environment with built-in editing and debugging tools, and supports object-oriented programming.
Programming in MATLAB MATLAB has many advantages compared to conventional computer languages (e.g., C, FORTRAN) for solving technical problems. MATLAB is an interactive system whose basic data element is an array, and almost all problems can be solved in MATLAB using that one data element.
SAS Overview SAS is a command-driven software package used for statistical analysis and data visualization. It is available in . It is one of the most widely used statistical software packages in both industry and academia. You may use it if you have a large number of statistical algorithms. It is not limited to an industry, and could be used in both scientific and non-scientific contexts. We only offer the Teaching & Research version at the moment.
Common Usage For this example we will use a common scenario from SAS Clinical Standards Toolkit, which is used for supporting clinical research activiites.
Pre-approved packages The following software packages are pre-approved for image processing on an Ivy Linux VM
KNIME KNIME is open source analytics platform for data mining and pipelining.
KNIME’s Image Processing Plugin allows users to perform common image processing techniques such as registration, segmentation, and feature extraction. KNIME is compatible with over 120 image file types and can be used alongside ImageJ.
ImageJ ImageJ is a Java-based image processing program developed at the NIH.
ImageJ can be used interactively through a graphical user interface or automatically with Java.
OpenCV OpenCV is an open source library for computer vision applications.
LibreOffice Overview Our Linux VMs come prepackaged with the open source alternative to Microsoft Office®, called LibreOffice. As of last writing, version 5 is installed, including the specific software suites mentioned below. LibreOffice is compatible with all Microsoft Office formats, and can be connected to services like Google Drive or DropBox. It is available under the Mozilla Public License. LibreOffice is full GUI software and would require you to RDP into your VM or use a graphical tool such as FastX in order to render it.
LibreOffice Writer LibreOffice Writer is the word processor component of LibreOffice. It can save documents in .
Java SDK Overview Ivy Linux VMs are installed with Java SDK 1.8. Java is a popular Object Oriented programming language and is used in a multitude of scenarios. It is available under the GNU General Public License for all users. The SDK consists of a large number of tools such as javac that help in application development.
Running Java commands from the Command Line Open a Command Line Terminal and enter java followed by the desired command. E.g. to find the version of the SDK
java -version Running your code To compile java code, first cd to the location of your .
Perl Our VMs have Perl 5.16.3 available as part of the base linux VM. Licensed as open source under the GPL, it is most often used to develop mission critical software, and has excellent integration with markup languages such as HTML, XML, amongst others. Since it is both Object Oriented as well as procedural, it could be used within a multitude of programming projects. It includes built in database integration via its DBI module. Other than DBI, it has thousands of modules, making it one of the most extensible languages. Due to its interpreted nature, Perl is similar to Python and would be easy to understand for those familiar with Python.
Rodeo Overview Our Linux VMs are installed with Rodeo version 2.5, as of the last update. Rodeo is a lightweight, Python based, IDE for data science. It has a very streamlined code-to-plot workflow, with easily extensible packages that make it simple to analyze difficult patterns in data. It includes many data analysis features under one roof, and adopts features from iPython Notebook (it actually runs atop the iPython kernel). Like most Python projects, it is open source and available for free.
Launching Rodeo You can launch Rodeo from the Applications menu. It is a self contained IDE that would not require any knowledge of the command line.
Anaconda Our VMs have python 2 and 3 available as part of the Anaconda distribution. Anaconda comes installed with many packages best suited for scientific computing, data processing, and data analysis, while making deployment very simple. Its package manager conda installs and updates python packages and dependencies, keeping different package versions isolated on a project-by-project basis. Anaconda is available as open source under the New BSD license. It also ships with pip, the common python package manager.
Installing packages Packages could be installed via pip or conda package managers
Installing packages on a Linux VM
A) Using conda
Open the bash terminal, and type: