Repository: nf-core/tools

Issue:
All modules with the same prefix being found with nf-core modules update
### Description of the bug

Not sure whether this affects any other `nf-core modules` commands but if I want to update `minia` in my pipeline then it is correctly updated but another module with the same prefix `miniasm` is being installed too as you can see at the end of the console output below. I suspect there is a regex or glob that needs to be updated somewhere in the tools codebase to only find and update the required module.

### Command used and terminal output

```console
$ git clone https://github.com/nf-core/viralrecon.git 
Cloning into 'viralrecon'...
remote: Enumerating objects: 10345, done.
remote: Counting objects: 100% (100/100), done.
remote: Compressing objects: 100% (88/88), done.
remote: Total 10345 (delta 22), reused 42 (delta 4), pack-reused 10245
Receiving objects: 100% (10345/10345), 7.96 MiB | 5.16 MiB/s, done.
Resolving deltas: 100% (6536/6536), done.

$ cd viralrecon 

$ nf-core modules update minia

                                          ,--./,-.
          ___     __   __   __   ___     /,-._.--~\
    |\ | |__  __ /  ` /  \ |__) |__         }  {
    | \| |       \__, \__/ |  \ |___     \`-._,-`-,
                                          `._,._,'

    nf-core/tools version 2.2



INFO     Updating 'nf-core/modules/minia'                                                                                                                                update.py:239
INFO     Downloaded 4 files to ./modules/nf-core/modules/minia                                                                                                  modules_command.py:273

$ git status 
On branch master
Your branch is up-to-date with 'origin/master'.

Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
	modified:   modules.json
	deleted:    modules/nf-core/modules/minia/functions.nf
	modified:   modules/nf-core/modules/minia/main.nf
	modified:   modules/nf-core/modules/minia/meta.yml

Untracked files:
  (use "git add <file>..." to include in what will be committed)
	modules/nf-core/modules/miniasm/

no changes added to commit (use "git add" and/or "git commit -a")
```


### System information

_No response_


Discussion:
Not just updating, also installing and probably everything else...

```console
$ nf-core modules install minia

                                          ,--./,-.
          ___     __   __   __   ___     /,-._.--~\
    |\ | |__  __ /  ` /  \ |__) |__         }  {
    | \| |       \__, \__/ |  \ |___     \`-._,-`-,
                                          `._,._,'

    nf-core/tools version 2.3.dev0 - https://nf-co.re


INFO     Installing 'minia'                                                                                                                                install.py:127
INFO     Downloaded 4 files to ./modules/nf-core/modules/minia                                                                                     modules_command.py:273
 ❯ gs
## master
 M modules.json
?? modules/nf-core/modules/minia/
?? modules/nf-core/modules/miniasm/
```
Ok, this was a pretty extreme edge case 😅 It wasn't just all prefixes (`min` didn't work), it had to be a module that exists with a base name that matched another module that exists (not including submodules, so `samtools` also doesn't work).

Resolving patch:
diff --git a/nf_core/modules/modules_repo.py b/nf_core/modules/modules_repo.py
--- a/nf_core/modules/modules_repo.py
+++ b/nf_core/modules/modules_repo.py
@@ -128,7 +128,7 @@ def get_module_file_urls(self, module, commit=""):
         """
         results = {}
         for f in self.modules_file_tree:
-            if not f["path"].startswith("modules/{}".format(module)):
+            if not f["path"].startswith("modules/{}/".format(module)):
                 continue
             if f["type"] != "blob":
                 continue


Test patch: