[Swift-commit] r8338 - SwiftApps/dsp-swift
ketan at ci.uchicago.edu
ketan at ci.uchicago.edu
Fri Dec 12 08:57:37 CST 2014
Author: ketan
Date: 2014-12-12 08:57:36 -0600 (Fri, 12 Dec 2014)
New Revision: 8338
Modified:
SwiftApps/dsp-swift/README
Log:
clean readme
Modified: SwiftApps/dsp-swift/README
===================================================================
--- SwiftApps/dsp-swift/README 2014-12-12 02:51:45 UTC (rev 8337)
+++ SwiftApps/dsp-swift/README 2014-12-12 14:57:36 UTC (rev 8338)
@@ -4,193 +4,15 @@
Introduction
-------------
-The Swift-Galaxy integration project aims to build tools which can be used to
-leverage the best features of http://swift-lang.org/main[Swift] and
-http://galaxyproject.org[Galaxy] combined. We start with building a generic
-Galaxy tool, called `foreach` which allows user to compose Galaxy workflows
-such that each computation stage in the workflow is executed by Swift. User can
-compose Galaxy tool and pick up arbitrary executables and dataset to run the
-executable over. User can also run the executable over a list of items such as
-string or file parameters.
+The `foreach` Mechanism
+------------------------
-NOTE: This document can be found http://swift-lang.org/tutorials/galaxy/tutorial.html[here].
-
-Swift-Galaxy `foreach` Mechanism
----------------------------------
-
-The basic mechanism is that the tool user-interface will accept parameters and
-will pass them along to a backend Swift "generator". This generator program
-will run the parameters over Swift source and configuration templates. As a
-result, the right source and configuration files are produced in a temporary
-directory (`/tmp/tmpname`). This is then executed and the results collected.
-
-There are two ways the `foreach` Swift tool can be utilized. First, over a range
-of numbers. The tool is used to run any arbitrary executable via Swift `foreach`
-loop over a range of numbers. The executable will run with number in range as
-commandline argument, one at a time. Furthermore, user can add arbitrary string
-arguments in addition to the number argument to the call to executable.
-
-The second way runs the `foreach` loop over a list of items read from an input
-file. These items can be file references or simple strings. The tool will pass
-one item at a time to the executable as argument parameter and run them all in
-parallel. This is similar to the above described number range except that the
-iteration takes place over a list of items provided as a file.
-
-
Installation
-------------
-This installation recipe assumes that you have Galaxy preinstalled. If not,
-installation instructions for Galaxy can be found
-https://wiki.galaxyproject.org/Admin/GetGalaxy[here].
-Step 0. Checkout the swift-galaxy SVN directory as follows:
-
-----
-svn co https://svn.ci.uchicago.edu/svn/vdl2/SwiftApps/swift-galaxy
-----
-
-Step 1. Create a symbolic link to the +swift-galaxy/swift+ directory from
-galaxy's +tools+ directory. For example, if Galaxy top level directory is
-+galaxy-dist+ and swift directory is $HOME/swift-galaxy/swift:
-
-----
-cd galaxy-dist/tools
-ln -s $HOME/swift-galaxy/swift swift
-----
-
-The advantage of symbolic links is that as users update the tool directory via
-`svn up`, they need not worry about reinstallation. Updates in installation
-gets automatically propagated to Galaxy.
-
-Step 2. Add the tool definitions of the tools contained in this Swift to
-Galaxy's tool_conf.xml. This can be done by copying the text in
-`<section>...</section>` from the tool_conf.xml in swift-galaxy directory and
-paste it to the tool_conf.xml of the Galaxy directory. In the current installation, the text to be copied is:
-
-----
-<section name="swift" id="swift">
- <tool file="swift/tryswift.xml" />
- <tool file="swift/genericswift.xml" />
- <tool file="swift/swiftforeach.xml" />
-</section>
-----
-
-Step 3. (Re)start Galaxy.
-
-----
-sh run.sh
-----
-
-In the Galaxy Web GUI, you should see the tools in a toolset titled Swift.
-
Screenshots
------------
+------------
-The following screenshot shows overall look-and-feel of the Swift-Galaxy tool
-in the Galaxy web GUI.
-
-image::./screenshots/overall.png["swift-galaxy screenshot", width=600, align="center"]
-
-The rest of this section walks you through each of the components shown in the
-above screen and their utility. The following screenshot shows execution
-location selector. User can select one or more execution locations from the
-list as their target execution site.
-
-image::./screenshots/execloc.png["execution location selector screenshot", width=200, align="center"]
-
-The following screenshot shows a dialog box to add Swift-level commandline
-arguments to be passed to the script.
-
-image::./screenshots/swift-level-args.png["swift-args screenshot", width=200, align="center"]
-
-The following screenshot shows a selection dropdown list to chose the execution
-interpreter from. The interpreters currently supported and tested are shell,
-java and python. Upcoming are R and matlab.
-
-image::./screenshots/execution-interpreter.png["interpreter screenshot", width=150, align="center"]
-
-The following screenshot shows the selection for an executable. User can upload
-an executable and select it from the list.
-
-image::./screenshots/executable.png["executable screenshot", width=200, align="center"]
-
-The following screenshot shows a selection for range of numbers or list of
-items to chose from. User can select one and the corresponding dialog box will
-appear below.
-
-image::./screenshots/rangeorlist.png["select range or list screenshot", width=150, align="center"]
-
-The following screenshot shows a dialog for string or file type arguments. A
-user can add string and filetype arguments to their executable and the
-commandline will be built accordingly.
-
-image::./screenshots/string-or-fileargs.png["string or fileargs screenshot", width=250, align="center"]
-
-The following screenshot shows a dialog box to enter the directory location for
-results of execution. The Swift output files will be placed here:
-
-image::./screenshots/outlocation.png["output location screenshot", width=250, align="center"]
-
An example
-----------
+-----------
-A simple Hello World Swift tool to run with Galaxy.
-
-To set up with your Galaxy environment follow the steps below:
-Prerequisite: Sun/Oracle java. Should work with IBM java but not tested. To test your java version:
-
-----
-java -version
-----
-
-Typical output is:
-
-----
-java version "1.7.0_17"
-Java(TM) SE Runtime Environment (build 1.7.0_17-b02)
-Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)
-----
-
-Step 1. Download and install Swift where Galaxy server is running. From a
-command prompt the following wget will pull the latest release from
-http://swift-lang.org/downloads/index.php[here].
-
-Step 2. SVN checkout the swift-galaxy directory and copy the Swift tool directory to Galaxy's tools directory:
-
-----
-svn co https://svn.ci.uchicago.edu/svn/vdl2/SwiftApps/swift-galaxy
-cp -r swift-galaxy/swift /location/of/galaxy-server/tools/
-----
-
-Step 3. Edit the +tool_conf.xml+ file present at the top-level of galaxy directory tree to add the following lines between the +<toolbox>+ and +</toolbox>+ xml tags:
-
-----
-<section name="swift-galaxy" id="swift-galaxy">
- <tool file="currdir/nameoftoolfile.xml" />
-</section>
-----
-
-Step 4. Restart the Galaxy server. The swift-galaxy tool should be available in the tool box of Galaxy GUI.
-
-Step 5. Invoke it by entering any number in the dialog box or leaving it to default.
-
-Step 6. For examples of other Galaxy-Swift tools, look into the swift directoty.
-
-Troubleshoot
--------------
-
-Each tool generates a set of Swift source and configuration files. These files are placed in a unique directory with a random name generated on the fly. The location of the directory is in `/tmp` and it is prefixed with name `swift-gal.` . The suffix is a four letter random number. You can run Swift from this directory to reproduce possible issues as follows:
-
-----
-swift -tc.file tc -sites.file sites.xml -config cf script.swift
-----
-
-Feel free to contact Swift http://swift-lang.org/support/index.php[support] if issues persist.
-
-Upcoming Features
-------------------
-
-* Mixing the order of file and string arguments
-* Optionally allowing user to not use range number as arguments
-* Providing more Swift patterns, eg. `if-else` conditionals
-
More information about the Swift-commit
mailing list