Question: How to create and run a pipeline using BioBlend and Galaxy API?
0
gravatar for mainulhossain
15 months ago by
mainulhossain0 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 COMMENTlink modified 14 months ago • written 15 months ago by mainulhossain0
1
gravatar for mainulhossain
14 months ago by
mainulhossain0 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 COMMENTlink modified 14 months ago • written 14 months ago by mainulhossain0
1

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

ADD REPLYlink written 14 months ago by Martin Čech ♦♦ 4.9k
1
gravatar for mainulhossain
14 months ago by
mainulhossain0 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 COMMENTlink written 14 months ago by mainulhossain0
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 COMMENTlink 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 REPLYlink modified 15 months ago • written 15 months ago by mainulhossain0

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 REPLYlink modified 14 months ago • written 14 months ago by mainulhossain0
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