Mercurial > repos > enis > rstudio_bioconductor_it
view rstudio_bioconductor_it.xml @ 0:8661342f187e draft default tip
planemo upload commit 95e3d6f42b65d4aad0ebe5a027797e3cbf62400c
author | enis |
---|---|
date | Thu, 29 May 2025 14:27:36 +0000 |
parents | |
children |
line wrap: on
line source
<tool id="rstudio_bioconductor_it" tool_type="interactive" name="RStudio" version="4.5.0+3.21" profile="22.01"> <icon src="bioconductor.png" /> <description>R 4.5.0 with Bioconductor 3.21</description> <requirements> <container type="docker">bioconductor/galaxy-rstudio:RELEASE_3_21</container> </requirements> <entry_points> <entry_point name="RStudio" requires_domain="False" requires_path_in_header_named="X-RStudio-Root-Path"> <port>8787</port> <url>/</url> </entry_point> </entry_points> <environment_variables> <environment_variable name="HISTORY_ID" strip="True">${__app__.security.encode_id($rstudio.history_id)}</environment_variable> <!-- FIXME: Warning: The use of __app__ is deprecated and will break backward compatibility in the near future --> <environment_variable name="GALAXY_WEB_PORT">8080</environment_variable> <environment_variable name="GALAXY_URL">$__galaxy_url__</environment_variable> <environment_variable name="DEBUG">true</environment_variable> <environment_variable name="DISABLE_AUTH">true</environment_variable> <environment_variable name="API_KEY" inject="api_key" /> </environment_variables> <inputs> <param name="input" multiple="true" type="data" format="data" optional="true" label="Include data into the environment"/> </inputs> <command><![CDATA[ #import re echo "[`date`] - Setting up for RStudio as \$(id)." && ## Match the container user id to the host user/group id if supplied if [ -n "\$USERID" ]; then echo "[`date`] - Setting user id to \$USERID." && usermod -u "\$USERID" rstudio; fi && if [ -n "\$GROUPID" ]; then echo "[`date`] - Setting user group to \$GROUPID." && groupmod -g "\$GROUPID" rstudio; fi && ## This is where GalaxyConnector places files copied from Galaxy mkdir -p /import && chown rstudio:rstudio /import && ln -s "/import" /home/rstudio/galaxy_imports && mkdir -p ./rstudio_outputs && chown rstudio:rstudio ./rstudio_outputs && ln -s "\$PWD/rstudio_outputs" /home/rstudio/galaxy_outputs && echo "[`date`] - Creating Rprofile" && cp '$__tool_directory__/Rprofile.R' /home/rstudio/.Rprofile && ## Required because of the above usermod command, but before linking the input files chown -R rstudio:rstudio /home/rstudio/ && chown -R rstudio:rstudio /usr/local/lib/R/library && chown -R rstudio:rstudio /usr/local/lib/R/doc && #if $input: echo "[`date`] - Linking input files to '/home/rstudio/galaxy_inputs/'" && mkdir -p /home/rstudio/galaxy_inputs/ && #for $count, $file in enumerate($input): #set $cleaned_name = str($count + 1) + '_' + re.sub('[^\w\-\.\s]', '_', str($file.element_identifier)) echo "[`date`] - Linking '$file' to '/home/rstudio/galaxy_inputs/${cleaned_name}.${file.ext}'" && ln -sf '$file' '/home/rstudio/galaxy_inputs/${cleaned_name}.${file.ext}' && #end for #else echo "[`date`] - No input files provided, skipping file linking step." && #end if echo "[`date`] - Starting container processes, including RStudio..." && /init ]]> </command> <outputs> <data name="rstudio" format="txt" label="RStudio Interactive Tool"></data> <collection name="output_collection" type="list" label="RStudio outputs"> <discover_datasets pattern="__name_and_ext__" directory="rstudio_outputs/" assign_primary_output="true" recurse="true"/> </collection> </outputs> <stdio> <exit_code range="129" level="log" description="User shut down the container." /> </stdio> <tests> <test expect_num_outputs="1"> <param name="mode" value="previous" /> <param name="rstudio" value="test.txt" /> <param name="run_it" value="true" /> <output name="rstudio" file="test.txt" ftype="txt"/> </test> </tests> <help><![CDATA[ The RStudio Interactive Tool in Galaxy provides a user-friendly interface for conducting statistical analysis, visualization, and scripting using the R programming language. This tool is ideal for bioinformatics workflows involving data exploration, statistical modeling, and custom script development within the Galaxy ecosystem. Use Cases --------- - Exploratory data analysis - Custom script development - Genomic and transcriptomic data visualization - Statistical modeling and hypothesis testing Galaxy Integration Functions ---------------------------- To facilitate seamless data transfer between RStudio and Galaxy, the following built-in functions are available: Before launching the tool, you can select datasets from your history to include in the RStudio environment. This allows you to work with your data directly within RStudio without needing to manually transfer files. All files will be located in the `~/galaxy_inputs/` directory. Note that files mapped from a Galaxy history into RStudio like this are read only. Any files that you store in the `~/galaxy_outputs/` directory will be automatically transferred back to Galaxy when you finish your session and stop the RStudio Interactive Tool. In addition, you can use the following functions within your R session to facilitate interactive data transfer. All imported files will be located in the `~/galaxy_imports` directory. **gx_get(history_dataset_number)** – Loads a dataset from your Galaxy history into the R environment. Example: .. code-block:: r gx_get(1) df <- read.csv("~/galaxy_imports/1") head(df) **gx_put("file_name", ["file_type"])** – Saves an R object as a new dataset in your Galaxy history. Example: .. code-block:: r gx_put("/home/rstudio/output.csv") **gx_save("session_name")** – Saves your R script to Galaxy for reproducibility. Example: .. code-block:: r gx_save("analysis_script.R") ]]></help> </tool>