How do I run my calculation on someone else's computer?
From APBS software documentation wiki
There are many cases where it is inconvenient to run calculations on your own computer: your calculation may require more resources (memory, etc.) than available on your system, you may have many calculations to run, etc.
There are two primary mechanisms for running APBS on external resources: the APBS Opal client and the NCBR Opal web interface.
APBS Opal client
The APBS Opal client is a drop-in replacement for the main APBS executable. As such, it can be used in place of the APBS executable for any of the examples in this documentation.
The Opal Toolkit is a set of software produced by the National Biomedical Computational Resource (NBCR). This toolkit allows for the computing load for processor intensive scientific applications to be shifted to a 3rd party and/or
generic computing grid. This can be tremendously advantageous in situations where a large amount of computing power is not locally available, but
is required, for the task at hand. In particular, many users have discovered that their local computational resources are insufficient for certain types of APBS calculations on large systems or at extremely high accuracy. This client removes this resource limitation by allowing users to run on clusters at NBCR.
Recent developmental versions APBS add optional support for the off-loading of APBS calculations to an Opal service. Currently, the client uses services hosted by NBCR. Opal support has been integrated into APBS such that the end user will not be able to tell the difference between local and Opal runs of APBS: the APBS Opal client can be invoked in exactly the same way as the main APBS binary with identical output.
The APBS Opal support is in the form of a Python script ApbsClient.py and is installed by default when following the installation procedure outlined elsewhere. The script has been tested on Python 2.5; newer/older versions of Python may or may be functional.
As mentioned above, the basic invocation is the same as the main binary. The only difference is the executable, which is called ApbsClient.py, rather than apbs. This client should be installed by default when APBS is installed. Users can run:
ApbsClient.py [options] {input}
where options are described below and input is an APBS input file. Options available with ApbsClient.py include
- --fetch={dir}
- By default, the resulting files will be saved to the directory from which ApbsClient.py was launched. The --fetch switch can be used to change the directory (dir) to which the resulting files should be saved.
- --help
- This will cause a brief summary of the available options to be displayed.
- --job-id={id}
- This command can be used to automatically fetch the results of an APBS calculation run with the --non-blocking option. The --fetch switch must also be present if the --job-id switch is in use.
- --local
- This forces APBS to be run locally rather than on remote resources.
- --no-fetch
- One can prevent the automatic retrieval of APBS calculation results with this flag. If used, APBS will output a URL from which the resulting data can be retrieved later via a web browser. Use of this switch will also cause APBS to output a job ID which can be used to automatically retrieve all files using ApbsClient.py with the --job-id switch.
- --non-blocking
- By default, an Opal calculation will cause APBS to block (pause) until the remote calculation is complete. If you would instead like to manually retrieve the files, you can use the --non-blocking switch, which will cause APBS to output a URL from which the resulting data can be retrieved later via a web browser. Use of this switch will also cause APBS to output a job ID which can be used to automatically retrieve all files using ApbsClient.py with the --job-id switch.
- --service-location={URL}
- By default, the Opal support in APBS makes use of the NBCR's Opal web services. However, the user can easily substitute in any functional Opal APBS installation by specifying the URL for the remote service with this option.
NBCR Opal web interface
APBS can also be run via the web for users who are uncomfortable with command-line execution or have limited control over installation of new programs on their computer.
In this example, we will perform an APBS run using the NBCR Opal service. The example will use a version of the Born example provided with APBS modified to produce electrostatic potential output. The files used are: ion-pot.in (the APBS input file) and ion.pqr (the structure file). Please click on the images below for higher-resolution versions of the screenshots for each step.
- Launch the APBS Opal web applications at the NBCR Opal Dashboard (http://ws.nbcr.net/opal/GetServicesList.do)
- Type in the command line instructions typically provided for an APBS command line run (excluding the executable name and path)
- Click on "Choose File" to upload the first file for the APBS run.
- Navigate to the file on your local file system and select it.
- The input structure file also needs to be provided. Click on "Add Another File". Navigate to the second file, and select it for upload.
- Add in any additional files required for the run (for example, if you have additional XML or PQR files specified in your APBS input script.
- Once all of the files are uploaded, click the "Submit" button.
- After submission, the Opal web service will begin refreshing the page to alert you to the status of your run (you do not need to manually refresh the page).
- Once the run is complete the Opal web service page will update, and the link provided on the page will direct you to your output files.
- Follow the link to download or view the output from your APBS Opal run.
