Summary: Pipette Analysis allows Pipeline Pilot protocol developers to deploy protocols to end users through an intuitive web-based pipelining interface. To allow the use of existing protocols in Pipette Analysis, the protocols must meet some basic criteria and be located in a specific locations in the protocol database (XMLDB). This article provides details for both on-prem and ScienceCloud deployment.
Clicking a link will scroll the page to the relevant section.
- Service Types
- Service Templates
- Authoring Services
- Authoring Outputs
- Testing Services
- Publishing a Service
The types of protocols that are exposed to users in Pipette Analysis Pipelining include:
- Pipelining services – Exposed to end users in the middle section to build pipelines.
- Outputs – Visible on the right as places users can drag and drop results for sending over to new reports, other applications, and to generate output files.
A convenient starting point when developing a new service for Pipette is the New Protocol from Template feature on Pipeline Pilot's File menu.
The following service templates are currently available:
- Reader Service – A protocol with an unconnected Pass port and no input ports. This protocol is typically used to start pipelines.
- Calculator Service - A protocol with both an unconnected input port and an unconnected Pass port. This protocol is also used to construct pipelines.
- Output Service – A protocol with an unconnected input port, but no unconnected Pass port. This protocol can be used to create a service that outputs data to reports, applications or files.
Note: These templates are intended to provide you with examples to use as starting points for developing your own services. You can design other types of protocols, including ones that use filters, lookup services, aggregators, and more.
Outputs are a specialized type of service. As such, the parameters and help information for services is also relevant (see above).
The default locations for Pipette Analysis output depends on how it's deployed. The locations include:
- The administrator can change this location and also add more locations if necessary. For details, see Pipette Analysis Administration Guide.
- For the current location on your server, consult your administrator.
- Outputs can be grouped into subfolders at this location.
- Outputs are shared between Pipette Analysis Pipelining and Pipette Analysis Charting.
Pipette Analysis services are standard Pipeline Pilot protocols that must have certain features for proper integration.
Write a file to the top-level of the job directory:
The file written to the job directory will be returned to the user's browser. If the browser is able to open this format, (e.g., HTML reports and PDF documents), the file opens in a new browser tab. If the browser cannot open the format, (e.g., SD files), then the user is prompted to download it.
The data that the user has dropped on the output will be passed to the service through the open input port (if available).
In addition, the
@id global contains the ID of the user-scoped cache that contains this data, and the
@indexes global contains the selected data IDs (if specified). This cache can be read, but must not be changed or deleted. Take a copy of the data if you need to change it.
After authoring and saving new services, protocol developers should test them with Pipette. The first time you add a new service or change service parameters, it is necessary to refresh the Pipette page in your browser to ensure that the service appears in the list or as an output.
To test any subsequent changes to your service, rerun the step where it is used by hovering over the step and typing "q". An updated output service can be tested by dragging a data item on the output service a second time.
Publishing a Service
- On-prem – The development cycle ends as soon as the service is saved to the location visible to end users.
- ScienceCloud – Perform a protocol publication step to move your service into production. You can do this by right-clicking the protocol and selecting Publish to ScienceCloud (then follow the onscreen instructions). For further details, see Publishing Protocols on ScienceCloud.