Category Archives: R

Bio7 2.9 Released

16.08.2018

A new release of Bio7 is available. The new Bio7 2.9 release comes with a plethora of new R features and bugfixes.

Screenshot MacOSX with dark theme and opened ‘R ImageJ Analysis’ perspective

Screenshot ‘R’ perspective Windows and opened R-Shell code completion

Release Notes:

General:

  • Based on Eclipse 4.8
  • Improved the dark theme and the layout of the dark theme in many places
  • All editor font colors are now changed automatically to default optimized colors when using the dark theme
  • New ‘Switch Theme’ action available to easily switch to the dark theme or back to the default theme
  • Java updated to 1.8.181
  • New Fullscreen/Hide Menu action available (Main menu “Window” – Key: Strg+Shift+ 4)
  • New Hide and Show main menu actions available (useful to hide added plugin menus again)
  • Added pdf reader option “Okular” to open a R pdf plot with the okular application (used when the SWT browser + open external preference is selected)
  • Added a new Table API method to transfer a matrix array form Java more efficiently
  • Improved the WorldWind search function (using the photon geocoding API)
  • Improved the default font size for Swing components on Retina displays (e.g., ImageJ components)

R:

  • Updated R for Windows to version 3.5.1
  • Added a new plot option to plot huge plots in a temporary folder and open them in ImageJ virtually (disk resident). The folder will automatically be opened after plotting (plot images have to be deleted manually!)

ImageJ

  • ImageJ Updated to 1.52f18
  • ImageJ toolbar improved for the dark theme (see screenshots)
  • Added a new ImageJ detach image menu in the ‘Window’ menu of the ImageJ-Canvas view

R Markdown:

  • Added syntax coloring of R markdown snippets
  • Added new context menu actions in menu “Text” (Find and replace, Toggle Block Selection, To Upper Case, To Lower Case)
  • Added a new context menu action to toggle word wrap, etc.

R editor:

  • Added a new warning and quickfix for possibly wrong comparisons of NULL, NA, NaN

  • Added a new option in the preferences for the new warning
  • Added new context menu actions in menu “Text” (Find and replace, Toggle Block Selection, To Upper Case, To Lower Case)
  • Improved the display for quickfix suggestion, warning and errors when the font is resized dynamically (especially for MacOSX)
  • The help browser for code completion popups now display help sites in dark mode if the Bio7 dark theme is enabled.

ImageJ Macro Editor

  • Added a general rename method to rename selected word occurences
  • Added new context menu actions in menu “Text” (Find and replace, Toggle Block Selection, To Upper Case, To Lower Case)
  • Added latest macro code completion function definitions

Download and Installation:

Windows:

Just download the *.zip distribution file from https://bio7.org and unzip it in your preferred location. Bio7 comes bundled with a Java Runtime Environment, R and Rserve distribution and works out of the box.

Linux:

Download and extract the installation file from https://bio7.org.
For Linux you have to install R and Rserve (see Rserve installation below!).

MacOSX:

Download and extract the installation file from https://bio7.org.

If you start Bio7 a warning or error can occur because of the changes how Apple treats signatures! To allow Bio7 to start see this instructions for Yosemite and Sierra:

OS X Yosemite: Open an app from an unidentified developer

macOS Sierra: Open an app from an unidentified developer

If you have still problems with Sierra see this solution!

In addition for MacOSX you have to install R and Rserve (see below!).

Linux and MacOSX Rserve (compiled for cooperative mode) installation:

To install Rserve open the R shell and then execute the menu action “Options -> Install Rserve (coop. mode) for R …” for different R versions. This will download an install Rserve in your default R library location, see video below (please make sure that your default Linux R library install location has writing permissions!). In cooperative mode only one connection at a time is allowed (which we want for this Desktop appl.) and all subsequent connections share the same namespace (default on Windows)!

Play Video

This video will be embedded from Youtube. The privacy policies of google apply.

Installation of Useful R Packages

R packages which are useful in combination with Bio7 can easily be installed with the R-Shell context menu “Packages” action:

R-Shell context menu->Packages->Install_Default_R_Packages

Bio7 Documentation

For more information about Bio7 please consult the soon updated Bio7 User Guide.

A plethora of Bio7 videotutorials for an introduction can be found on YouTube.

Debug Java in Bio7

27.06.2018

In Bio7 R and Java code can be easily combined in the Bio7 platform. For instance to create Graphical User Interfaces in Java (with SWT or JavaFX), transfer image pixel/selection data from ImageJ and finally doing the analysis parts in R code/scripts which can be called from within Java (an easy to use API on top of Rserve in Bio7 is available, see, e.g., Groovy examples here).

However sometimes it is necessary to debug the Java language as part of such combined work. In Bio7 (based on Eclipse RCP) the very powerful Java debugging tools from Eclipse are available by default.

In addition in Bio7 it is possible to debug dynamically compiled Java classes in the same Bio7 process (using Java like a scripting language is a special feature of Bio7).

The video at the bottom of this page demonstrates the use of a remote debugging connection on the same computer (localhost connection) to debug dynamically compiled/executed Java code.

Debugging a Java process which has already started (Bio7 in this case) is only possible if Bio7 is started beforehand with the following Java arguments inside a shell to start a debug server connection:

Windows (started from the current directory = Bio7 installation directory):
Bio7.exe -vmargs -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000

Mac (given the full path to the Bio7 executable):
/Applications/Bio7.app/Contents/MacOS/Bio7 -vmargs -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000

Linux (started from the current directory = Bio7 installation directory):
./Bio7 -vmargs -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000

Furthermore the compiler debug information option has to be enabled in the Bio7 Java preferences (for the dynamic compilation process) and a seperate debug connection has to be started for this Java class (with the available Eclipse debug configuration dialog).

In the video below I (hopefully) demonstrate how you can (graphically) debug a simple cellular automata simulation like the Game of Life within a running Bio7 (Java) process.

R Improvements for Bio7 2.8

18.05.2018

The next release of Bio7 adds a lot of new R features and improvements. One minor change is that the default perspective after the startup of Bio7 now is the R perspective to emphazise the importance of R within this software.

The R-Shell view has been simplified and the R templates have been moved in it’s own simple view for an improved usability (see screenshot from R perspective below).

In addition the context menu has been enhanced to allow the creation of submenus from scripts found in folders and subfolders (recursively added) which you can create for a menu structure.
Scripts can be added created in R, JavaScript, Groovy, Jython, BeanShell, ImageJ Macros.
Java (with dependant classes) can be dynamically compiled and executed like a script, too.

Several improvements have also been added to the R-Shell and the R editor for an easier generation of valid R code. The R-Shell and the R editor now display R workspace objects with it’s class and structure in the code completion dialog (marked with a new workspace icon – see below).

R-Shell:

R editor:

In the R editor a new quick fix function has been added to detect and install missing packages (from scanned default packages folder of an R installation – has to be enabled in the Bio7 R code analysis preferences).

Also the detection of missing package imports are fixable (when a function is called but the installed package declaration is missing in the code but the package is installed to deliver the function).

The code assistance in the R-Shell and in the R editor now offers completions for, e.g., dataframes (columns) in the %>% operator of piped function calls:

In addition code assistance is available for list, vectors, dataframes and arrays of named rows and columns, etc., when available in the current R environment.

Code completion for package functions can now easily added with the R-Shell or the R editor which loads the package function help for both interfaces. The editor will automatically be updated (see updated editor marking unknown functions in screencast below).

Numerous other features, improvements and bugfixes have been added, too.

Bio7 2.8 will hopefully be available soon at:

https://bio7.org

Overview videos on YouTube

 

 

Bio7 2.7 Retina-Display Fix for MacOSX

08.01.2018

I recently discovered on a high dpi display (Retina-Display) enabled 13’’ notebook that the latest release of Bio7 for MacOSX is not displayed in high dpi but in a lower resolution which makes text and icons blurry (scaled) and unnecessary strains the eyes when editing R scripts with the R editor.

So I uploaded a new, fixed version for MacOSX.

However, to fix an already downloaded version of Bio7 you have to open open the ‘/Bio7.app/Contents/Info.plist’ file with a text editor (right-click on Bio7.app, execute ‘Show Package Contents’ and open ‘/Contents/Info.plist’) and add the following lines before the </dict> tag:

<key>NSHighResolutionCapable</key>
<true/>

In addition to update the Info.plist file for the Operating System you have to open the Terminal (in ‘Applications/Utilities’) and execute the following command (default install directory – shell command is one line!):

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -v -f /Applications/Bio7.app

Here some screenshots from before and after the fix was applied on a Retina-Display (zoom in for details):

Before:

After:

An updated version with the fix already applied can be downloaded here

See also:

Release notes for Bio7 2.7

 

Install Useful Eclipse Plugins in Bio7 for R, Data Science and Programming

20.10.2017

Beside a massive of amount of R packages and ImageJ plugins Bio7 can be extended with Eclipse plugins useful for data science and programming.

Some of them could also be very useful for R related developments (e.g., to develop R packages or distribute Shiny apps).

Installation of Eclipse Plugins

One  way to install Eclipse plugins is by using the Update Manager in the help menu (Help->Install New Software).

Thus the first step to install a plugin is to open the Update Manager and selecting the category “Eclipse Repository – http://download.eclipse.org/releases/neon” (see screenshot below!)

Another handy way of searching and installing Eclipse plugins is by using the Marketplace Client plugin which must be installed firstly with the Update Manager.

Search for the Marketplace Client (e.g., “marketplace”) plugin to filter, select and install the Marketplace Client.

The following plugins can be installed using either the Marketplace Client or the Update Manager.

Database Remote Files and Shells

EGit

https://marketplace.eclipse.org/content/egit-git-team-provider
The powerful Eclipse Git plugin to connect Bio7 with Git repositories.

TM-Terminal

http://marketplace.eclipse.org/content/tcf-terminals
A true native terminal with SSH,Telnet and Serial line support. Bio7 comes already with a pseudo-terminal but lacks the support of a pty connection and ANSI escape sequences (but can be controlled from a Bio7 API interface). The terminal can also be installed with the Update-manager searching for “tm” (see screenshot below).

Remote System Explorer

https://marketplace.eclipse.org/content/remote-system-explorer-ssh-telnet-ftp-and-dstore-protocols
A plugin to connect Bio7 with SSH, Telnet, FTP and DStore protocols.This plugin work very well with a remote connection and makes it easy to transfer data from a local workspace to a remote server. Remote files can be opened, edited and stored with the available Bio7 editors (e.g., a *.html file with the JavaFX editor – see screenshot below).
Apropos, please use an OpenSSH key for, e.g. a SFTPconnection!). It works great together with the TM-Terminal plugin.

DBWeaver

https://marketplace.eclipse.org/content/dbeaver
“DBeaver is free universal SQL client/database tool for developers and database administrators. It can work with any database server which has JDBC driver.” (source: website DBWeaver)
DBWeaver is a great database tool and plugin for Eclipse and can also be installed into Bio7 to control and edit R database connections.

Scripting Editors with Bio7 interpret support

The following three editors can be used within the current Bio7 process to execute scripts using the Bio7 interface. It is important however to create a language project first to profit from the advanced editor features.

Bio7 will recognize the opened editor type and interpret the current opened script with the embedded script interpreter of Bio7 when using the dedicated toolbar action.

Please use the context menu action “Open with” to open the scripts with the installed editors instead of the default Bio7 editors (Groovy, Jython/Python editors are available by default in Bio7).

Here a video installing and using the JavaScript editor as an general example.

JSDT

https://eclipse.org/webtools/jsdt/
JavaScript editor and development tools. Install with the Update-manager (search for JavaScript – see video above).

PyDev Editor

https://marketplace.eclipse.org/content/pydev-python-ide-eclipse
A very powerful Python editor which can be used to execute Bio7 Jython and Python scripts instead of the Bio7 default editor.
In addition Bio7 can use the PyDev editor to execute scripts running on the Bio7 Java classpath. If you open Jython/Python scripts with the PyDev editor the default Bio7 action will be visible to execute the scripts on the Bio7 classpath.

Groovy Editor

https://github.com/groovy/groovy-eclipse/wiki
(Add site: http://dist.springsource.org/snapshot/GRECLIPSE/e4.7/ to the Update Manager)
A more powerful Groovy editor. Can also be used with the Bio7 classpath if scripts are opened with this editor instead.

General programming editors and extensions

Eclipse CDT

https://marketplace.eclipse.org/content/eclipse-cdt-cc-development-tooling
Powerful C/C++ editor and development tooling.

Arduino C++ IDE:

https://marketplace.eclipse.org/content/arduino-c-ide
A great Arduino extension of the C++ editor of Eclipse. See this video for an introduction. Bio7 embedds some Java libs to communicate with an Arduino (see Bio7 examples).

Photran (comes with PTP)

https://eclipse.org/ptp/
http://www.eclipse.org/photran/
An Integrated Development Environment and Refactoring Tool for Fortran

Julia Editor

https://github.com/JuliaComputing/JuliaDT
A Julia editor in an early stage. But very promising.

Bash Editor

https://marketplace.eclipse.org/content/bash-editor
A bash editor for bash scripts. Perfect for the use with the above linked TM-Terminal and Remote Systems Explorer.

Jeeeyul’s Eclipse Themes

https://marketplace.eclipse.org/content/jeeeyuls-eclipse-themes
To install more themes into Bio7.

pde-tools

https://github.com/jeeeyul/pde-tools#crazy-outline
A plugin which adds clipboard history support and a crazy outline view.

WindowBuilder

https://marketplace.eclipse.org/content/windowbuilder
A very powerful builder for Graphical User Interfaces for SWT, etc.
In Bio7 a wizard is available to create a template for the builder (File->New->Bio7 Java Projects->Bio7 Java Project (WindowBuilder template)).
You can then open this template with the WindowBuilder to create interfaces (e.g., to create R interfaces using the new Bio7 R API). The created interface can be compiled dynamically with Bio7 (compiling the main class) and executed instantly in the current Bio7 process (see screenshot below)

More plugins can be found with the Eclipse Marketplace Client. It depends however how useful the plugins are in the context of Bio7.