{"id":98,"date":"2020-04-28T10:55:24","date_gmt":"2020-04-28T10:55:24","guid":{"rendered":"http:\/\/www.ebi.ac.uk\/training\/online\/courses\/workflows-combining-tools-for-data-analysis\/getting-data-from-resource-name\/"},"modified":"2022-10-26T14:25:47","modified_gmt":"2022-10-26T14:25:47","slug":"getting-data-from-resource-name","status":"publish","type":"page","link":"https:\/\/www.ebi.ac.uk\/training\/online\/courses\/workflows-combining-tools-for-data-analysis\/getting-data-from-resource-name\/","title":{"rendered":"Creating tools for workflows"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Workflows bring together multiple tools, which have often been created to be used as stand-alone tools rather than as part of a workflow. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So to help you consider what is required to make a tool workflow ready, Brack et al. (2021) wrote &#8217;10 simple rules for making a software tool workflow-ready&#8217;:<sup><a href=\"https:\/\/www.ebi.ac.uk\/training\/online\/courses\/workflows-combining-tools-for-data-analysis\/references\/\">7<\/a><\/sup><\/p>\n\n\n\n<ol class=\"wp-block-list\"><li><strong>Make sure a workflow engine can talk to your software easily<\/strong> &#8211; consider the format of input and output data of your tool.<\/li><li><strong>Make your tool simple to install<\/strong> &#8211; reducing the time and effort required to install your tool will likely increase its use.<\/li><li><strong>Document your tool<\/strong> &#8211; users will need to know what the tool is for and how it works, so documentation is essential. <\/li><li><strong>Make your tool maintainable<\/strong> &#8211; sustainability can be a challenge for software, especially those developed as a result of research funding, however for workflows to be usable, their components need to be sustained over time. <\/li><li><strong>Follow the principle of least surprise<\/strong> &#8211; if tools don&#8217;t act as users expect it can limit their use.<\/li><li><strong>Make your tool parallelisable<\/strong> &#8211; many tools are designed to run on locally on a single computer and so it may be necessary to re-engineer tools before they can become part of a workflow. <\/li><li><strong>Make your workflow tool a good citizen<\/strong> &#8211; create software in a way that won&#8217;t cause problems for others when they run it, such as being unnecessarily resource heavy.<\/li><li><strong>Make output reproducible<\/strong> &#8211; many factors can affect reproducibility, however given the importance of reproducibility to research, it is vital to consider whether your tool allows for reproducibility.  <\/li><li><strong>Carefully consider human interaction<\/strong> &#8211; workflows are designed for automation of analyses, however sometimes it is necessary for humans to make decisions as part of an analysis. <\/li><li><strong>A software tool should just do one thing<\/strong> &#8211; if your tool does multiple things, it may be worth breaking it down into multiple tools so that each could be included in a workflow individually. <\/li><\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Read more about these &#8216;<a rel=\"noreferrer noopener\" href=\"https:\/\/zenodo.org\/record\/5636487#.Yk7ZdijMKUl\" target=\"_blank\">10 simple rules for making a software tool workflow-ready<\/a>&#8216;.<sup><a href=\"https:\/\/www.ebi.ac.uk\/training\/online\/courses\/workflows-combining-tools-for-data-analysis\/references\/\">7<\/a><\/sup> <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Workflows bring together multiple tools, which have often been created to be used as stand-alone tools rather than as part of a workflow. So to help you consider what is required to make a tool workflow ready, Brack et al. (2021) wrote &#8217;10 simple rules for making a software tool workflow-ready&#8217;:7 Make sure a workflow&#8230;<\/p>\n","protected":false},"author":30,"featured_media":0,"parent":0,"menu_order":2,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-98","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.ebi.ac.uk\/training\/online\/courses\/workflows-combining-tools-for-data-analysis\/wp-json\/wp\/v2\/pages\/98","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ebi.ac.uk\/training\/online\/courses\/workflows-combining-tools-for-data-analysis\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.ebi.ac.uk\/training\/online\/courses\/workflows-combining-tools-for-data-analysis\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.ebi.ac.uk\/training\/online\/courses\/workflows-combining-tools-for-data-analysis\/wp-json\/wp\/v2\/users\/30"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ebi.ac.uk\/training\/online\/courses\/workflows-combining-tools-for-data-analysis\/wp-json\/wp\/v2\/comments?post=98"}],"version-history":[{"count":8,"href":"https:\/\/www.ebi.ac.uk\/training\/online\/courses\/workflows-combining-tools-for-data-analysis\/wp-json\/wp\/v2\/pages\/98\/revisions"}],"predecessor-version":[{"id":619,"href":"https:\/\/www.ebi.ac.uk\/training\/online\/courses\/workflows-combining-tools-for-data-analysis\/wp-json\/wp\/v2\/pages\/98\/revisions\/619"}],"wp:attachment":[{"href":"https:\/\/www.ebi.ac.uk\/training\/online\/courses\/workflows-combining-tools-for-data-analysis\/wp-json\/wp\/v2\/media?parent=98"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}