AllegroLayout is a high-speed and high-quality interactive layout app designed for large-scale networks and provides various kinds of [OpenCL](http://en.wikipedia.org/wiki/OpenCL)-accelerated [force-directed layout](http://en.wikipedia.org/wiki/Force_based_layout) algorithms supporting edge-weighting, edge-repulsive layout.
It can solve the main problem of high-running time in [force-directed layout](http://en.wikipedia.org/wiki/Force_based_layout) algorithms by its massively parallel [OpenCL](http://en.wikipedia.org/wiki/OpenCL) implementation which is [10x – 200x faster than non-OpenCL implementation](http://allegroviva.com/allegrolayout2/opencl-acceleration/).
It automatically fine-tunes the complicated layout parameters, which is often required to get high-quality layouts and is too hard for normal users without fully understanding the algorithm details.
Furthermore, a user can guide the layout processing interactively while executing it by selecting and moving nodes, showing/hiding nodes & edges, and adjusting the layout settings. All the changes in a graph, and layout parameters are applied immediately in the interactive layout mode.
* [http://youtu.be/YqJSpVTS1o8 Real-time Interactive Layout] : This video shows various features of AllegroLayout.
* [http://youtu.be/UQtUcmoOa3Q Graph Editing in the Interactive Layout Mode]: This video shows how useful the new interactive layout mode is for editing a new graph.
* [http://youtu.be/Ep4j061meEU Large Biological Network Layout]: BINDhuman Network (19,905 nodes, 38,706 edges)
* **Force-directed Layout**: [http://youtu.be/HQBMfozLa4Y youtube video] or
[http://allegroviva.com/allegrolayout2/tutorial/force-directed-layout online keynote slides]
This tutorial helps you to easily understand how force-directed layout works and the characteristics of the layouts supported by AllegroLayout.
###AllegroLayout vs. Prefuse Forece-Directed
Prefuse is a default force-directed layout of Cytoscape which uses the [Barnes–Hut](http://en.wikipedia.org/wiki/Barnes–Hut_simulation) approximation algorithm of which the computational cost is **O(n log(n))**, where n is the node count, while AllegroLayout computes all-pair node interaction forces without any approximations so that it is more accurate but has more computational cost of **O(n²)**.
However, our highly optimized OpenCL implementation is incredibly much faster than the Prefuse Barnes–Hut approximation algorithm. Please check out [http://allegroviva.com/allegrolayout2/opencl-acceleration/ AllegroLayout OpenCL Benchmark].
### Unique Features
* **OpenCL-accelerated Layout**:
You can check the layout speedup and **time comparison between AllegroLayout and Prefuse Layout** at [http://allegroviva.com/allegrolayout2/opencl-acceleration/ AllegroLayout OpenCL Benchmark].
* **Highest-quality Layout by Automatic Parameter Tuning**:
Just define the scale and gravity. All the complex parameters are automatically tuned so that you can always
get a highest-quality layout. Please check out [http://allegroviva.com/allegrolayout2/layout-gallery/ Layout Gallery].
* **Visual Clustering by Clustering Layouts**¹:
You can clearly see the clusters of highly inter-connected node groups and their relations after
the clustering layouts so that you can easily notice which nodes make clusters and where there are.
* **Real-time Layout Animation**¹: It shows how nodes are moving in real time while processing the layouts.
* **Real-time Interactive Layout Mode**¹: You can guide the layout in real time by selecting and moving nodes, and adjusting the layout settings while processing the layouts.
The addition, deletion, showing, and hiding of nodes and edges are automatically detected and applied. It also adapts to the change of the visual style of a network in real time.
* **Automatic Convergence Detection**: Just use the default max iteration. It automatically stops when layout is done.
* **Automatic Node Overlap Prevention**: It detects overlapping nodes and move them into non-overlapped locations.
* **Fast Parallel Graph Partition**: It finds connected components in a graph simultaneously in parallel while laying out.
* **Parallel Partition Layout**: It layouts all the connected components simultaneously in parallel.
* **Real-time Partition Sorting & Arrangement**: It sorts the connected components and arrange them in real time.
¹: professional edition only
### Force-directed Layouts
* Spring-Electric Layout
: use the same force with the *Prefuse Force Directed Layout*
* Fruchterman-Reingold Layout
* Weak Clustering Layout ¹
* Strong Clustering Layout ¹
* Edge-Repulsive Spring-Electric Layout ¹
* Edge-Repulsive Fruchterman-Reingold Layout ¹
* Edge-Repulsive Weak Clustering Layout ¹
* Edge-Repulsive Strong Clustering Layout ¹
For more details, please visit http://allegroviva.com/allegrolayout2/force-based-layouts/
¹: professional edition only
### System Requirements for OpenCL acceleration
* O/S: Windows, Mac OS X, or Linux
* Any OpenCL devices are supported such as Intel/AMD CPUs, Integrated/discrete Intel/NVIDA/AMD GPUs .
### Known Issue on Linux
- AllegroLayout with Cytoscape 3.2.x on Linux fails to connect our license server when it is started by running the “Cytoscape” execution file.
It causes the license activations including the professional evaluation license to be failed. So please always start Cytoscape by **executing the shell script of “cytoscape.sh” in the Cytoscape folder** instead of “Cytoscape”. Read more at [http://allegroviva.com/faqs/]
### Installation Notes
* **It is recommended to update your graphics driver into the latest for Windows and Linux users**
please visit one of the following to download the latest driver.
- [AMD graphics driver](http://support.amd.com/en-us/download)
- [NVIDIA graphics driver](http://www.nvidia.co.kr/Download/index.aspx?lang=en-us)
- [Intel OpenCL driver](https://software.intel.com/en-us/articles/opencl-drivers)
* **If your system has the 1st / 2nd generation Intel Core Processor and Windows O/S, please install Intel OpenCL Runtime [64bit](http://registrationcenter.intel.com/irc_nas/3782/intel_sdk_for_ocl_applications_2013_r3_runtime_x64_setup.msi) or [32bit](http://registrationcenter.intel.com/irc_nas/3782/intel_sdk_for_ocl_applications_2013_r3_runtime_x86_setup.msi).**
**For Cytoscape 3.0.x & 3.1.x. only**
AllegroLayout requires loading classes in the `sun.*, com.sun.*` package so that it tries to automatically add `sun.*, com.sun.*` in the key of `org.osgi.framework.bootdelegation` in the file: `<Cytoscape folder>/framework/etc/custom.properties`.
However, if an administrative right is required to edit the `custom.properties` file, but the current user has no administrative right, then the automatic addition fails and it shows the failure notice.
In the case of the failure, please do one of the followings. This is required only once.
* Please restart Cytoscape as administrator or with an administrative right.
For Windows users,
1. Go to *Cytoscape* folder
2. Right click on *Cytoscape*
3. Click on *'Run as administrator'*
You can check out [the video tutorial ](http://helpx.adobe.com/x-productkb/global/run-program-administrator-windows-7.html) : How to run a program as an administrator in Windows.
* Please add the property `sun.*, com.sun.*` manually :
1. open the `<Cytoscape folder>/framework/etc/custom.properties` file,
2. add the property `sun.*, com.sun.*` as like `org.osgi.framework.bootdelegation=org.netbeans.lib.profiler.*,sun.*,com.sun.*`
3. restart Cytoscape
* If you could not use all the previous methods, please install Cytoscape into your user folder where you have the write access, and start the Cytoscape. Then, AllegroLayout will automatically add the settings.
### Update Notes
**For Cytoscape 3.0.x & 3.1.x. only**
After updating AllegroLayout through *Cytoscape App Manager*, please restart *Cytoscape*. After restarting, all the functions will work properly.
### Support Forums
* We provide various support forums where you can get help from our team and other users.
Please follow [https://twitter.com/allegroviva_com @allegroviva_com].
Please note that the free community edition includes the 15-day evaluation of professional edition, which supports OpenCL acceleration, all the layout algorithms, and the animated & interactive layout modes. If you need more time to evaluate, please contact us at email@example.com.
You can purchase a license in our [http://sites.fastspring.com/allegroviva/product/store online store]: Research License (US$39), Professional License (US$69).
**A professional license can be transferred into other computers at any time as many times as you want**, but you can activate only one computer at the same time by using single license key.