BioInstaller icon indicating copy to clipboard operation
BioInstaller copied to clipboard

Building pipeline in BioInstaller

Open anupullanhi opened this issue 5 years ago • 5 comments

Dear All,

How can we build pipeline using BioInstaller after the installation of tools/software?

Using the tools mentioned below

  1. trimmomatic
  2. hisat2
  3. samtools
  4. feature count
  5. DESeq2

I am trying to build a transcriptome pipeline using BioInstaller. There are no manual/ procedure for building pipeline.

Any help regarding this would be appreciated!

Thanks & Regards Anoopa

anupullanhi avatar Jan 10 '20 11:01 anupullanhi

Dear Anoopa,

Basic knowledge about Shiny and Shinydashboad may be required.

Then you can follows these steps:

  • Step1: View https://cran.r-project.org/web/packages/BioInstaller/vignettes/plugins_of_BioInstaller_shiny.html.
  • Step2: Copy the shiny.easy_project.parameters.toml in ~/.bioshiny/plugins and rename a new plugin (e.g. shiny.my_plugin.parameters.toml).
  • Step3: Global replace easy_project to your plugin name in the new plugin file.
  • Step4: Add e.g. system('/path/pipeline.R -i va1 -c var2') or any R code in the rcmd_last field.
  • Step5: Enable your plugin in ~/.bioshiny/shiny.config.yaml:
shiny_tools:
  pipeline:
      - easy_project
      - CEMiTool
      - annovarR
      - annovar
      - vcfanno
      - your_plugin_name

varname values can be used in the rcmd_last commands.

varname = ["project_name", "parent_dir"]

Besides, input_id is associated with varname and type, and the type can be used to automaticly generate the UI.

input_id = ["input_project_name", "input_parent_dir"]
type = ["shiny::textInput", "shiny::textInput"]

More plugins see https://github.com/openbiox/bioshiny/tree/master/src/bioshiny/inst/extdata/config.

Miachol avatar Jan 10 '20 13:01 Miachol

Dear Miachol,

Thank you so much Miachol. Can you please email ([email protected]) any pipeline.R script for more clarity.

Thanks & Regards Anoopa

anupullanhi avatar Jan 10 '20 14:01 anupullanhi

https://github.com/openbiox/bioshiny/blob/master/src/bioshiny/inst/extdata/config/shiny.CEMiTool.parameters.toml

Any R code is ok.

One of the key points is that all output files in sprintf("%s/output/%s", dirname(config$shiny_db$db_path), qqkey) will be saved to the database that you can view or download these files in the dashboard page via task character key.

Best wishes. Jianfeng

Miachol avatar Jan 14 '20 05:01 Miachol

Hello Jianfeng,

Thank you for the instructions and helping us with pipeline scripts. We are able to create pipeline and we have few queries regarding running the pipeline.

Once we submit pipeline in Pipeline module, how to take submitted inputs and run our pipeline in backend and show the progress in front end. Our pipeline is for transcriptome analysis and we are not able to send the inputs to the script. This is the link for the Bioshiny app we created - 18.223.187.14:3285 Also, what is the function of rcmd_last

Thanks Anoopa

anupullanhi avatar Jan 20 '20 13:01 anupullanhi

As shown in the usage section of README.md, you need to set the shiny workers if you want to run the pipeline.

start two workers

bioshiny::set_shiny_workers(2)

You can directly use the input variable (e.g. exp_dat in the following example) in your rcmd_last.

cmd_last = """ if (exp_dat != "") { expr0 <- fread(exp_dat) } else { data(expr0) } “”"

[CEMiTool.paramters.readfiles.input.single_input] title = "Single sample anlayais:" title_control = "class = 'input-section-p'" varname = ["exp_dat"] input_id = ["input_exp_dat"] type = ["shiny::selectInput"] label = ["Gene expression matrix"] [CEMiTool.paramters.readfiles.input.single_input.choices] exp_dat = "!!glue {c('', featch_files()$file_path)}" [CEMiTool.paramters.readfiles.input.single_input.selected] exp_dat = “"

In your plugin, you may want to use this:

cmd = sprintf(“Rscript /home/ubuntu/efs/Anoopa/pipeline.R %s”, paste0(files, collapse=" “)) system(cmd)

The rcmd_last in the pipeline plugins are used to store the R code that need to be executed by the background workers.

Best wishes

On Jan 20, 2020, at 21:58, anupullanhi [email protected] wrote:

Hello Jianfeng,

Thank you for the instructions and helping us with pipeline scripts. We are able to create pipeline and we have few queries regarding running the pipeline.

Once we submit pipeline in Pipeline module, how to take submitted inputs and run our pipeline in backend and show the progress in front end. Our pipeline is for transcriptome analysis and we are not able to send the inputs to the script. This is the link for the Bioshiny app we created - 18.223.187.14:3285 x-msg://1/url Also, what is the function of rcmd_last

Thanks Anoopa

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/JhuangLab/BioInstaller/issues/19?email_source=notifications&email_token=AELGLVQD34PZBQU7VQF4EJLQ6WUZXA5CNFSM4KFGQRV2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEJMW3VA#issuecomment-576286164, or unsubscribe https://github.com/notifications/unsubscribe-auth/AELGLVSBCMBIO5USQYWE3X3Q6WUZXANCNFSM4KFGQRVQ.

Miachol avatar Jan 21 '20 03:01 Miachol