Add deacon and deacon DM#7473
Conversation
|
Test will error since there is still missing the format for deacon which has an open PR: galaxyproject/galaxy#21289 |
|
I will add the change later here since i have some testing to be done which i could done yet but some of reviews input was used to change the current state of the wrappers! |
|
@bernt-matthias i did change all and test all wrapper manually. When the format was added they all should be positiv! |
|
Deacon developer here. I'm unfamiliar with Galaxy development and how to test a PR like this in a running environment, but I'm happy to answer questions, review screenshots etc. |
I'm sure @SantaMcCloud can provide some screenshots of the tool if you like. |
|
Btw. wonderful the get feedback from the developer of the underlying software. This is super helpful and much appreciated. |
The way a PR is tested is that the
Yes this is really helpful thank you for this! |
|
Will fix the new test tomorrow but in the meantime the checksum check can be reviewed |
|
@SantaMcCloud can we replace the hard-coded URLs in the data manager with a TSV of URLs and expected checksums? This will make it more maintainable. I can work on that while I'm here at the GCC 2026 CoFest. |
We can replace this yes. And if you can or want to do it feel free to. Happy to learn from you then for futher tools and DMs! :) |
|
The download from zenodo could be much simplified by using zenodo_get. |
i will change it then |
|
hm the linting error now comes from the r linting which i dont know how to fix since it seems like this is an error from the Pipeline setup? |
| <param name="note" type="text" label="Add a note" help="Here some notes can be set for example from where the data comes, who created the data and so on"/> | ||
| </when> | ||
| <when value="fasta"> | ||
| <param name="file_name" type="text" label="Enter filename" help="Please enter the name of the file which will be downloaded without the extension" /> |
There was a problem hiding this comment.
We should maybe consider the fasta data table here as input as well.
There was a problem hiding this comment.
So just to check if im right this should work with the current fasta data table or a new data table?
There was a problem hiding this comment.
The all_fasta data table
| <option value="mouse">panmouse-1 (k=31, w=15, e=0.5)</option> | ||
| </param> | ||
| </when> | ||
| <when value="url"> |
There was a problem hiding this comment.
Do we need the url option?
There was a problem hiding this comment.
can we replace the hard-coded URLs in the data manager with a TSV of URLs and expected checksums?
Is there so much pre-built data out there anyway? If so, we should also store the origin URL in the loc file?
If the number of available pre-built files is small, I would prefer to have them hardcoded in the DM.
There was a problem hiding this comment.
Im not sure i just add if there might be a lot of usage later on.
Currently only the 2 hardcoded pre-builds are out so this was also the reason i did hardcode them. I can add the URL/Zenodo record ID in the loc file/data table if wanted
| <param name="version" type="text" label="Which version was used to build the file to copy" help="State the tool version used to build the index file"/> | ||
| <param name="format_version" type="text" label="Set the index format version" help="The current index format version for Deacon v.@TOOL_VERSION@ is 3"/> |
There was a problem hiding this comment.
The DM should set this information and not the DM user.
There was a problem hiding this comment.
This referred to the fasta input case. Your change seems to be regarding url input (which should be removed?)
| </when> | ||
| <when value="fasta"> | ||
| <param name="file_name" type="text" label="Enter filename" help="Please enter the name of the file which will be downloaded without the extension" /> | ||
| <param name="link" type="text" label="Input the URL to download a fast file for using it to build an index file"/> |
There was a problem hiding this comment.
This parameter seems not necessary to me.
There was a problem hiding this comment.
i will remove/change this based on the fasta table comment.
| </command> | ||
| <inputs> | ||
| <conditional name="index_type"> | ||
| <param name="is_select" type="select" label="Select if index file will be used from DM or own index file"> |
There was a problem hiding this comment.
"from DM" is pretty technical. Just something like "use a pre-built index"?
There was a problem hiding this comment.
Please do the same for the option.
|
@bernt-matthias i Will do the chnages later which i did not comment :) |
| #if $input.is_select == "prebuild" | ||
| #if $download == "human" | ||
| zenodo_get 17288185 -m -g "*.idx" -o '$out_file.extra_files_path' && | ||
| md5sum -c md5sums.txt || (echo "Checksum verification failed" >&2; exit 1) |
There was a problem hiding this comment.
You don't need the md5sum - the -m to zenodo_get does the MD5 check
| ln -s '$fastx_input.single_file' "${identifier}.${fastx_input.single_file.ext}" && | ||
| #else | ||
| #set $identifier = re.sub("[^\s\w\-]", "_", str($fastx_input.pair.forward.element_identifier)) | ||
| ln -s '$fastx_input.pair.forward' "${identifier}.${fastx_input.pair.forward.ext}" && |
There was a problem hiding this comment.
All of this use of identifier is not needed. One can simply ln -s '$fastx_input.single_file' "single.${fastx_input.single_file.ext}" && and similar for the paired reads.
There was a problem hiding this comment.
Maybe plus the complication that ext is "fastqsanger", but this might not be a problem ... do we have a test covering these datatypes?
Most simple would be to use $fastx_input.single_file directly if it works and skip the linking.
There was a problem hiding this comment.
Agreed - deacon uses paraseq to read sequence data which in turn uses niffler which sniffs the files to detect datatype, so exposing the extension of the datatype is not needed. A simple use of the relevant variable (like $fastx_input.single_file would work.
There was a problem hiding this comment.
I did change all tools beside of union and intersect since there can be x amout of file used and for debugging it might be better to have numbered files. If wanted i can remove this aswell!
bernt-matthias
left a comment
There was a problem hiding this comment.
Thanks for the changes. A few more comments
| <param name="note" type="text" label="Add a note" help="Here some notes can be set for example from where the data comes, who created the data and so on"/> | ||
| </when> | ||
| <when value="fasta"> | ||
| <param name="file_name" type="text" label="Enter filename" help="Please enter the name of the file which will be downloaded without the extension" /> |
There was a problem hiding this comment.
The all_fasta data table
| <param name="version" type="text" label="Which version was used to build the file to copy" help="State the tool version used to build the index file"/> | ||
| <param name="format_version" type="text" label="Set the index format version" help="The current index format version for Deacon v.@TOOL_VERSION@ is 3"/> |
There was a problem hiding this comment.
This referred to the fasta input case. Your change seems to be regarding url input (which should be removed?)
| ln -s '$fastx_input.single_file' "${identifier}.${fastx_input.single_file.ext}" && | ||
| #else | ||
| #set $identifier = re.sub("[^\s\w\-]", "_", str($fastx_input.pair.forward.element_identifier)) | ||
| ln -s '$fastx_input.pair.forward' "${identifier}.${fastx_input.pair.forward.ext}" && |
There was a problem hiding this comment.
Maybe plus the complication that ext is "fastqsanger", but this might not be a problem ... do we have a test covering these datatypes?
Most simple would be to use $fastx_input.single_file directly if it works and skip the linking.
I did start change the DM to use this data table but im not finish since i have a question where you might could help me since i need a test DB for this DM so i can use it in a test but for deacon i have the test files. So my question is can i put both into one config file [
yes i did forgot to change this sorry it should be removed now! |
It can all go into the sample |
Thank you this helped me a lot. The DM should be done now and i think all tools can be reviewed again! |
| #end if | ||
| "format_version":"3", | ||
| #if $input.is_select == "prebuilt" | ||
| "note":"Prebuilt index files from the devs of deacon" |
There was a problem hiding this comment.
Replace devs with developers
FOR CONTRIBUTOR: