Join us for an event September 26!
How to Streamline RNA-Seq analysis and increase productivity—point, click, and done
The API reference documentation is available here: REST API for Partek Flow
The public key and Python libraries are available here: PartekFlow-REST.zip
Upload and analyze a group of samples.
Get the name of a pipeline from the GUI or from the API
http://localhost:8080/flow/api/v1/pipelines/list
Get the list of required inputs for the pipeline from the API
http://localhost:8080/flow/api/v1/pipelines/inputs?project=iDEA&pipeline=AlignAndQuantify
Get the IDs for the library files that match the required inputs
http://localhost:8080/flow/api/v1/library_files/list?assembly=hg19
Use UploadSamples.py to upload the samples and launch the pipeline
>python UploadSamples.py -v --server http://localhost:8080 --user admin --files ~/sample1.fastq.gz ~/sample2.fastq.gz --project ProjectName --pipeline AlignAndQuantify --inputs 28061,145855
Generate an authentication token
An access token can be generated from the System information section of the settings page.
Alternatively, GetToken.py will generate a token.
>python GetToken.py --server localhost:8080 --user admin
Example output:
TOKEN: cUOWY0VvkSFagrDUANVtM7A8SPal8Gx0cf0ee24bfa9fe68e2b5564dab2b6a27e1fb525e5...
This token can be specified as the --password parameter for the Python API.
If the token is not supplied, then the Python API will prompt for the password and encrypt it.
When accessing the API directly, the encrypt parameter must be specified with the RSA value to use the token.
For example:
curl --form username=admin --form encrypt=RSA --form password=cUOWY0VvkSFagr... http://localhost:8080/flow/api/v1/users/list
Add a collaborator to a project
curl -X PUT "http://localhost:8080/flow/api/v1/projects?project=ProjectName&collaborator=user1&role=Collaborator&username=admin
&encrypt=RSA&password=[url encoded token]"
Monitor a folder and upload files as they are created
#!/bin/bash
inotifywait -m $PATH_TO_MONITOR -e create -e moved_to |
while read path action file; do
if [[ $file == *.fastq.gz ]]; then
echo "Uploading $file"
python UploadSamples.py -v --server $SERVER --user $USER --password $TOKEN --files $path/$file --project "$PROJECT" --pipeline $PIPELINE --inputs $INPUTS
fi
done
Monitor the queue and send a notification if there are too many waiting tasks
#!/bin/bash
while true; do
result=`python QueueStatistics.py --server $SERVER --user $USER --password $TOKEN --max_waiting $MAX_WAITING`
if [ $? -eq 1 ]; then
/usr/bin/notify-send $result
exit 1
fi
sleep $INTERVAL
done
Additional Assistance
If you need additional assistance, please visit our support page to submit a help ticket or find phone numbers for regional support.
Your Rating: | Results: | 0 | rates |