Question: How to create and run a pipeline using BioBlend and Galaxy API?
0
gravatar for mainulhossain
15 months ago by
mainulhossain • 0 wrote:

I need to build the following pipeline:

  1. Upload an SRA file from a remote FTP server (with anonymous access)
  2. Convert SRA to FASTQ file
  3. Grooming the FASTQ data
  4. Upload reference dataset from another remote FTP server
  5. Map data from steps 3 and 4 with BWA
  6. Create BAM file from SAM tool

Is it possible to create such a pipeline without using Galaxy UI? Can I make it using only BioBlend? If not, can galaxy API help to create it?

Thanks,

Mainul

bioblend galaxy api pipeline • 566 views
ADD COMMENT • link • modified 14 months ago • written 15 months ago by mainulhossain • 0
1
gravatar for mainulhossain
14 months ago by
mainulhossain • 0 wrote:

I think I have got it. The format of input parameters is as below:

params = {
"fastq_R1": {"values":[{"src":"hda", "id":"9ac6c47a8515c831"}]},
"fastq_R2":{"values":[{"src":"hda","id":"6dbc21d257b88b00"}]}
}

Thanks,

ADD COMMENT • link modified 14 months ago • written 14 months ago by mainulhossain • 0
1

Bunch of examples can also be found at our tests: https://github.com/galaxyproject/galaxy/blob/dev/test/api/test_tools.py

ADD REPLY • link written 14 months ago by Martin Čech ♦♦ 4.9k
1
gravatar for mainulhossain
14 months ago by
mainulhossain • 0 wrote:

I was at last able to pass input parameters as the following:

params = {
"fastq_R1": {"values":[{"src":"hda", "id":"9ac6c47a8515c831"}]},
"fastq_R2":{"values":[{"src":"hda","id":"6dbc21d257b88b00"}]}
}

Thanks,

ADD COMMENT • link written 14 months ago by mainulhossain • 0
0
gravatar for Martin Čech
15 months ago by
Martin Čech ♦♦ 4.9k
United States
Martin Čech ♦♦ 4.9k wrote:

You can make this pipeline without the use of Galaxy's UI I believe. Using BioBlend will help you with the Galaxy interactions but you will also have to use some other libraries for the ftp transfers and such (so not only bioblend).

Does this help?

ADD COMMENT • link modified 15 months ago • written 15 months ago by Martin Čech ♦♦ 4.9k

Hi Martin, thanks for your reply. I will try as you suggested.

ADD REPLY • link modified 15 months ago • written 15 months ago by mainulhossain • 0

Thank you very much. I was able to pass input parameters to run_tool command. But I still have a problem with run_tool. For some tools, for example FASTQ Groomer, where a single input parameter is enough, the command works.

param = {'name': dataset_id}
runtool(history_id, tool_id, param)

But for the tools where I want to give multiple parameters, it's not working. For example, in FastUniq the input params look as follows:

[
{
.... 'name':'fastq_R1', .... .... }, {
..... 'name':'fastq_R2', .... ... }, {
.... ... } ]

I want to pass here two input files, fastq_R1 and fast1_R2. I tried the following:

params = [{'name': dataset_id1}, {'name': dataset_id2}]
runtool(history_id, tool_id, param)

It's not working. I get the following error:

Error at line 19: Unexpected HTTP status code: 500: {"err_msg": "Uncaught exception in exposed API method:", "err_code": 0}

Do you have an idea how to do it?

Regards

ADD REPLY • link modified 14 months ago • written 14 months ago by mainulhossain • 0
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 16.09
Traffic: 169 users visited in the last hour