<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Hi Bruno,<br>
<br>
    I am the person who wrote the existing version of the RExpression
actor in Kepler, so I can probably supply some answers for your
questions <span class="moz-smiley-s3"><span> ;-) </span></span><br>
<br>
   There are a number of limitations in the current implementation on
using multiple R actors in Kepler. First of all, each R actor runs in a
seperate process. In other words, R is started up, the commands in the
actor R-script execute, and R then shuts down. If you create an output
port that has the same name as an R variable, the R variables value is
'translated' to a Kepler variable (with limits discussed below) and
sent through the port to any connected actor.<br>
<br>
   This output of values limited to a few simple R data structures due
to problems of converting arbitrary R classes to some equivalent in
Kepler. Strings, numbers, arrays, matrices, and dataframes can be
output, but arbitrary classes cannot. If you check out the nightly
build zip file of Kepler (which is a build of the latest version), you
will see under a workflow called $Kepler/demos/R/ReadTable.xml that
demos passing a dataframe from one R actor to another.<br>
<br>
    As I said, by default one R actor does not inherit the workspace of
another. However, there is a parameter of the RExpression actor called
'save or Not' that has the default value of '--no-save'. This can be
changed to '--save'. Doing so saves the R workspace. Another actor can
be connected to this first actor and the script of the second actor set
to load the saved workspace. Thus one can pass a complete R workspace
from one RExpression actor to another. A series of 4 R actors use this
technique in the example workflow "$Kepler/demos/R/BEAM_$_1.xml". In
this approach, data is NOT passed through the ports; instead, an output
port just passes a 'trigger' to the input port of the next RExpression
actor and this trigger controls the sequencing of how the actors fire.
Some people have complained that this technique 'subverts' the basic
Kepler concept of passing all data through the ports. It also does
create some potential problems with workflows where actors are not
configured to fire sequentially. Nevertheless, it does allow
modularized R scripts to be used in a sequential manner.<br>
<br>
    Hopefully these comments will be useful. Let me know if you have
additional questions.<br>
<br>
Dan Higgins<br>
NCEAS/Ecoinformatics<br>
<br>
<br>
------------------------<br>
<br>
Bruno Yoshimura wrote:
<blockquote
 cite="mid:c0563c000710271017k369d145fve8b9f86d016fdbc3@mail.gmail.com"
 type="cite">I am writing a paper about Visual Programming for
bioinformatics and it
would be wonderful if I found somebody who knows how to use R with
Kepler. The main objective of this study is to decide whether or not it
is worth to use Kepler in this area.<br>
  <br>
More specifically, I would like to know the challenges and problems in
using R inside Kepler. I had some problems trying to run some R
Expressions, and I could not find a solution. The problem is the
following: When I try to link two "R Expressions" ("a" and "b"), the R
Expression "b" does not inherit  the classes and imports  of the R
Expression "a" (using the ports).<br>
  <br>
It is possible to link two or more R Expressions? How should I do it?<br>
It is possible to send a entire Class using ports?<br>
  <br>
Thanks,<br>
Bruno<br>
  <pre wrap="">
<hr size="4" width="90%">
_______________________________________________
Kepler-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Kepler-users@ecoinformatics.org">Kepler-users@ecoinformatics.org</a>
<a class="moz-txt-link-freetext" href="http://mercury.nceas.ucsb.edu/ecoinformatics/mailman/listinfo/kepler-users">http://mercury.nceas.ucsb.edu/ecoinformatics/mailman/listinfo/kepler-users</a>
  </pre>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">-- 
*******************************************************************
Dan Higgins                                  <a class="moz-txt-link-abbreviated" href="mailto:higgins@nceas.ucsb.edu">higgins@nceas.ucsb.edu</a>
<a class="moz-txt-link-freetext" href="http://www.nceas.ucsb.edu/">http://www.nceas.ucsb.edu/</a>    Ph: 805-893-5127
National Center for Ecological Analysis and Synthesis (NCEAS) Marine Science Building - Room 3405
Santa Barbara, CA 93195
*******************************************************************</pre>
</body>
</html>