Category Archives: R

Debug Java in Bio7


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/ -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


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 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:

Overview videos on YouTube



Bio7 2.7 Retina-Display Fix for MacOSX


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 ‘/’ file with a text editor (right-click on, execute ‘Show Package Contents’ and open ‘/Contents/Info.plist’) and add the following lines before the </dict> tag:


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/

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



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


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 –” (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

The powerful Eclipse Git plugin to connect Bio7 with Git repositories.

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
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.

“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.

JavaScript editor and development tools. Install with the Update-manager (search for JavaScript – see video above).

PyDev Editor
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
(Add site: 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
Powerful C/C++ editor and development tooling.

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)
An Integrated Development Environment and Refactoring Tool for Fortran

Julia Editor
A Julia editor in an early stage. But very promising.

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
To install more themes into Bio7.

A plugin which adds clipboard history support and a crazy outline view.

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.




Bio7 2.6 for MacOSX Released


I released a new version of Bio7 for MacOSX.

(Screenshots: Bio7 with Dark theme enabled. Scrollbars are set to “When scrolling” in the preferences.)

For an overview of the new features please consult the release notes of Windows and Linux here:


Download and extract the installation file from

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.

To install Rserve open the R shell and then execute the menu action “Options->Install Rserve (coop. mode)”. This will download an install Rserve in your default R library location, see video below (please make sure that your default MacOSX R library install location has writing permissions! – normally you don’t have to worry about this on MacOSX!).

The special version of Rserve can also be downloaded here:

For a manual installation in the R prompt type the following command to install the compiled package (replace with your file path!):

> install.packages(“Users/yourName/Downloads/Rserve_1.8-4_Mac_cooperative.tgz”, repos=NULL)

Installation of Useful R Packages

R packages which are useful in combination with Bio7 can easily be installed with the main menu “Scripts” action:


Bio7 Documentation and Examples

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

A plethora of Bio7 videotutorials can be found on YouTube.

The latest Bio7 examples can be downloaded (download and import as *.zip) from Github here!