I am a contributor to the Galaxy project and currently working on finding
similarities in Galaxy tools (a part of my master's thesis). This work aims
at finding similar tools for any Galaxy tool based on tools description and
their input/output file types.
For example, the similar tools for a tool "bowtie2" could be "bwa",
"bwameth" or "bwa_mem" among others.
To see the results of this project online, please visit the link
(works fine on Firefox and Chrome). You should wait for a few seconds
before you see a list of tools in the select list as the page loads a big
JSON file (~100MB) asynchronously. Once the tools are loaded, please choose
a tool and see the similar ones for your favourite tool(s). The similar
tools are arranged in the descending order of their probability scores (top
20 are shown). The similar tools that you see are a mixture of tools
extracted based on the selected tool's description and file types. It means
that sometimes the tools are similar due to their description/kind of
functions they have and sometimes due to their file types. Also, there are
a few graphics/plots at the end of the page.
Here is the code repository
to read more about this
I have followed the following approach to compute the similar tools:
1. Text mining to collect and preprocess the tools' keywords (which
represent a tool) - BM25 <https://en.wikipedia.org/wiki/Okapi_BM25>
2. Matrix factorization to extract important concepts (and not just
words) - Latent Semantic Analysis
3. Optimization to combine probability distributions - Gradient Descent
and Backtracking Line
Further, I have plans to include:
- Deep learning approach to compute similarity between paragraphs
inspired from this work
- Similarity in workflows
If you have any comment/feedback, please write. It will be immensely
Thanks a lot!