tripal / tripal_galaxy Goto Github PK
View Code? Open in Web Editor NEWThis module is for integration of Tripal and a remote Galaxy Instance.
Home Page: https://tripal-galaxy.readthedocs.io/en/latest/
License: GNU General Public License v2.0
This module is for integration of Tripal and a remote Galaxy Instance.
Home Page: https://tripal-galaxy.readthedocs.io/en/latest/
License: GNU General Public License v2.0
See the error message below:
Notice: Trying to get property of non-object in theme_webform_display_galaxy_pflist() (line 54 of /var/www/html/sites/all/modules/tripal_galaxy/includes/components/tripal_galaxy.galaxy_pflist.inc).
We're still not able to grab the trimmomatic tool in all of its entirety.
It's under the tool_inputs[operations] index 1
Notice: Undefined property: stdClass::$uuid in tripal_galaxy_get_files_dir() (line 984 of /home/forge/beta.hardwoodgenomics.org/sites/all/modules/custom/tripal_galaxy/api/tripal_galaxy.api.inc).
This error comes when I submit the form for adding a site-wide file. The site-wide file can still be added without a problem.
The upload button issue is back. No upload file button. The branch I cloned is 7.x-1.x.
If the remote Galaxy server isn't available at the top that a new workflow is being added then the form just blanks out.
The module checks to see if a UUID changes for a workflow under the assumption that the UUID will only change if the workflow changes. The intent was to keep a workflow from being used by an end-user if there was a change to it and the webform may therefore no longer be applicable. But, it seems that if a Galaxy server is rebooted (and perhaps just unavailable) that the UUID's also change even if the workflow did not, causing the workflows on the Tripal site to be disabled. We need to find a work around for this.
The supported file types on file selector components coming from a Galaxy workflow are hardcoded on line 584 and 589 of the includes/tripal_galaxy.webform.inc file. These need to come directly from the Galaxy workflow.
...when the workflow is invoked. Currently, when invoking a workflow all of the input type values set by the user get set, but those that belong to 'repeat' input types do not.
Investigate
This will be for later...
A lot of fastq files have extension .fq
. It would be good to make .fq
a supported fastq file extension.
Deleting an instance gives:
Recoverable fatal error: Argument 2 passed to db_query() must be of the type array, string given, called in /var/www/html/sites/all/modules/tripal-extensions/tripal_galaxy/includes/tripal_galaxy.admin_configuration_form.inc on line 128 and defined in db_query() (line 2401 of /var/www/html/includes/database/database.inc).
This option is not being presented on the tripal front end.
Need to verify that the correct prebuilt option is in place.
I tryed to add a Galaxy workflow and received the following error message:
Error: Call to undefined function dpm() in colleague_submission_alterations_node_insert() (line 7 of /var/www/Drupal/sites/all/modules/custom_modules/colleague_submission_alterations/colleague_submission_alterations.module).
deal with it
I am using the most up to date code for tripal and galaxy module. I created a WGCNA workflow and submitted to galaxy. When I run a status check with drush trp-galaxy-status --submission=1
this is the error:
Updating status of workflow... exception 'ErrorException' with message 'API error. The following parameters for function GalaxyDatasets::show() are required: dataset_id.' in [error] /var/www/html/sites/all/modules/tripal-extensions/tripal_galaxy/api/tripal_galaxy.api.inc:180 Stack trace: #0 /var/www/html/sites/all/modules/tripal-extensions/tripal_galaxy/tripal_galaxy.drush.inc(78): tripal_galaxy_check_submission_status('1') #1 [internal function]: drush_tripal_galaxy_trp_galaxy_status() #2 phar:///usr/local/bin/drush/includes/command.inc(422): call_user_func_array('drush_tripal_ga...', Array) #3 phar:///usr/local/bin/drush/includes/command.inc(231): _drush_invoke_hooks(Array, Array) #4 [internal function]: drush_command() #5 phar:///usr/local/bin/drush/includes/command.inc(199): call_user_func_array('drush_command', Array) #6 phar:///usr/local/bin/drush/lib/Drush/Boot/BaseBoot.php(67): drush_dispatch(Array) #7 phar:///usr/local/bin/drush/includes/preflight.inc(66): Drush\Boot\BaseBoot->bootstrap_and_dispatch() #8 phar:///usr/local/bin/drush/includes/startup.inc(458): drush_main() #9 phar:///usr/local/bin/drush/includes/startup.inc(365): drush_run_main(false, '/', 'Phar detected. ...') #10 phar:///usr/local/bin/drush/drush(114): drush_startup(Array) #11 /usr/local/bin/drush(10): require('phar:///usr/loc...') #12 {main}
Occasionally, I will submit a workflow and drush trp-run-jobs will return an error such as:
Job execution failed: Cannot upload a file with an fid
(If I can figure out exactly how I manage to get that error, I'll file another issue). But if any error occurs at this job submission step, the workflow is left in a "Waiting" state for the user forever. Would be more helpful to update the workflow status to "error".
Problem: In regards to the shared files for galaxy - where a tripal admin can make a file available for any user. As currently implemented, for example, if I make available the chestnut genome for analysis as a file, every time a user uses it in a workflow, it will be transferred to the galaxy server and stored in a new history. I may be wrong, but I think this results in the same file being repeatedly uploaded and stored on the galaxy server in many histories.
Possible solution: Galaxy data libraries could offer a way for us to store globally accessible files on the galaxy side without storing them in multiple histories.
I.e visibility of workflows, API key visibility, visibility of the user's existing data on galaxy
when I use a file from the "User Uploaded Files" drop down that actually does not exist in my sites/default/files/tripal/users/[USER_ID], it causes the following error:
Uploading GCF_000005845.2_ASM584v2_genomic.fna.fasta...
Exception: failed creating formpost data in [error]
/data/www/html/hardwoods_dev/drupal-7.52/sites/all/modules/custom/tripal_galaxy/api/tripal_galaxy.api.inc:710
Stack trace:
#0
/data/www/html/hardwoods_dev/drupal-7.52/sites/all/modules/custom/tripal_galaxy/api/tripal_galaxy.api.inc(386):
tripal_galaxy_upload_file(Object(GalaxyInstance), '514',
'd4fa6959d18b946...', Array)
If i re-upload the file and run the workflow again, the workflow can go through without problem.
When importing these two workflows:
https://galaxy.bioinfo.wsu.edu/u/mingchen0919/w/rnaseq-normalized-counts-cuffnorm-single-end
https://galaxy.bioinfo.wsu.edu/u/mingchen0919/w/rnaseq-normalized-counts-cuffnorm
I got this error:
Notice: Undefined index: name in tripal_galaxy_build_webform() (line 97 of /data/www/html/hardwoods_dev/drupal-7.52/sites/all/modules/custom/tripal_galaxy/includes/tripal_galaxy.webform.inc).
This two workflows worked fine if running directly on Galaxy.
test
Some galaxy tools have "data" type input that does not specify any input format (allowed file types). This type of inputs is supposed to accept all kinds of files. In Tripal webforms, this type of inputs only allows for uploading files with .data
extension.
The code below is from a Galaxy tool, the "data" type param does not have a format
attribute, which means it should accept all kinds of format.
<inputs>
<param type="data" name="file_list" multiple="true" />
<param type="text" name="format" label="the format of input files (e.g., fastq, fastqsanger, fasta)"/>
When Tripal uploads file for a workflow to galaxy, have that file be stored in the data library partition of galaxy such that when a user is running a workflow and wants to use the same file, query the data library of that user on the galaxy side and provide the list of files previously uploaded to galaxy.
When executing a galaxy workflow, galaxy builds working instance for each input file. For example, if I do a one-factor-two-levels deseq2 analysis, and I have 3 counts files for each level, galaxy will split the job into 3 independent deseq2 analysis jobs. Galaxy handles this issue by grouping files into data collections. The module may need to provide the functionality of uploading files into a data collection object.
Weird error during webform construction
case 'data_input' : // Make a fake tool and input so we can add the component for a // data_input step. $tool = array( 'id' => NULL, 'name' => $step['tool_inputs']['name'], ); $input = array( 'name' => $step['tool_inputs']['name'], 'full_name' => $step['tool_inputs']['name'], 'type' => 'data_input', );
If the input data set tool is brought in vanilla (meaning that the workflow was not imported) (even with the label changed which is where the 'name' element should be set)
There is this bizarre error of the 'name' element not being set causing an error to the webform construction and disallowing the the workflow from being inserted to the site.
It would be very helpful if multiple files uploading is supported. Every time when I need to upload more than one file, I have to click 'Next Page' button and then click back to upload new files.
When a user presses the submit
button on the tripal side to start the workflow, silently delete these file from the tripal server as they are only needed and used on the galaxy side
By default, admins have permission to execute workflows and to admin the Galaxy module but these check marks do not show up on the tripal permissions page. (IE Galaxy module exposes two permissions items, "Execute Published Galaxy Workflows" and "Administer Galaxy". By default admins can do both, but no check marks show up on permission page)
By default, anonymous and authenticated users can also try to run Galaxy workflows (even without having that permission in the drupal permissions) BUT they can't upload files.
If I add "Execute Published Galaxy Workflows" as a permission for authenticated users, the behavior remains the same. An authenticated user can still see the workflows and try to run them but still cannot upload files.
I think the expected behavior would be that if the "Execute Published Galaxy Workflows" is NOT checked for a role, a user with that role would not be able to start a workflow (which would mean they also would not be able to upload files or even get to the page where that is possible).
Currently on the tripal_galaxy.module file I have the hook alter set up to reroute the submit button from ANY webform to the custom tripal galaxy workflow exec, this needs to be fixed as webforms will/may be used more extensively in the future (the idea is to create a new node type that will be galaxy specific)
when adding these two workflows:
https://raw.githubusercontent.com/statonlab/dibbs/master/workflow-updates/RNASeq-counts_(cuffquant%2C_paired_end).ga
https://raw.githubusercontent.com/statonlab/dibbs/master/workflow-updates/RNASeq-counts_(cuffquant%2C_single_end).ga
I got this error:
Notice: Undefined index: name in tripal_galaxy_build_webform() (line 97 of /data/www/html/hardwoods_dev/drupal-7.52/sites/all/modules/custom/tripal_galaxy/includes/tripal_galaxy.webform.inc).
Notice: Undefined index: name in tripal_galaxy_build_webform() (line 99 of /data/www/html/hardwoods_dev/drupal-7.52/sites/all/modules/custom/tripal_galaxy/includes/tripal_galaxy.webform.inc).
This option is not being selected and locked properly by the front end interface
I got this error when I ran the bdss-hisat2-alignment workflow.
I have submitted a PR to fix this issue.
The workflow(s) are not being launched after the submission is pressed.
This needs to be fixed first
If an admin/user is taking off a workflow, should we also provide the option to get rid of the files from the server too?
Luckily this is only happening with the 'input file' type input settings so one needs to go looking at the code that generates the title and description
If the cron job checks the status of a workflow and it is not complete, but is running it doesn't seem to update the status in a subsequent run of the cron does not update the status.
Add each existing and subsequent user on the Tripal server to the galaxy server with an API key.
Be sure that the user can see their particular API key on the Tripal side
Getting to the middle of a 12 step Workflow should NOT take 2 minutes of clicking Next Step
Analyses that are run on the Galaxy instance should not be allowed to stay around forever. We need a way to to set a lifespan for each run so that they disappear after a certain period of time if not specifically renewed by the user.
Usually for a boolean field for a tool, The label true (yes) is mapped to true (yes) and the label false (no) is mapped to false (no). However, this is not necessary for Galaxy tools. For example, the tool below has two boolean inputs, for the first one, the 'truevalue' is mapped to 'fastq' while the 'falsevalue' is mapped to 'fasta'. It seems that The tripal galaxy module assumes that for a boolean input, if I select "Yes", it will pass the value "Yes". This can cause problems in many tools.
There is 9 inputs, certain calls on the function are only specifying 7 inputs, which leads to certain components/sub components from being rendered ๐
The tested workflow has a List collection input: https://galaxy.bioinfo.wsu.edu/u/mingchen0919/w/quality-control-se-dataset-collection
Files were successfully uploaded to Galaxy server after running the drush trp-galaxy-invoke
command. Then it generated this error:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.