Skip to content

Add tblastx module #8651

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

snehaag006
Copy link

This module adds support for NCBI's BLAST tblastx command, which compares six-frame translations of nucleotide sequences.
Developed by Sneha Agarwal as a contribution to the nf-core modules repository.

Copy link
Contributor

@itrujnara itrujnara left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Sneha, thank you for contributing to nf-core! While I greatly appreciate your willingness to expand the module library, multiple issues need to be addressed in this pull request.

  1. Multiple elements required by the module template are missing. I assume you created the module by manually replicating the structure of an existing module rather than using nf-core modules create. While allowed, this approach requires utmost care that no element of the template is missed, and is thus not recommended.
  2. You have included several non-standard elements, including a license, a README, and a mini-workflow. The license file is superfluous. The README could be helpful, but it is not compatible with the nf-core website. I will need to discuss the mini-workflow with the maintainers, but it should not be used for testing, as nf-test creates its wrapper workflow.
  3. The script declaration is highly inflexible, as it does not allow the user to pass any custom arguments.
  4. The test is incorrect, as it does not use nf-test.
  5. The test files are included in the module directory instead of being linked from the test data repository.
  6. The module is located at an incorrect path. As a subtool, it should be located at modules/nf-core/blast/tblastx, inside the already existing blast directory.

I highly suggest that you familiarize yourself with:

Then, I suggest the following course of action:

  1. Close this Pull Request
  2. Verify which test input files, if any, are already present in the module test data repository, and open a PR to add the missing ones
  3. Create the module again at the correct path using nf-core modules create
  4. Open a new PR to add the module to this repository

Thank you once again for joining nf-core contributors. If you have any doubts, don't hesitate to reach out to me here or on Slack.

@@ -0,0 +1,21 @@
MIT License
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You don't need to include a license file in modules. There is an MIT license at the repo root, which correctly covers all code within.

@@ -0,0 +1,25 @@
# blasttblastx
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As of the current template, modules don't contain README files. I will discuss it with other maintainers, but it is unlikely to stand. The documentation for the module should be included in meta.yml to ensure correct webpage generation.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree on behalf of maintainers: the module itself should be relatively self-explantory, and all of this is already ocvered in the meta file

nextflow.enable.dsl=2

process blasttblastx {
tag "${query.getBaseName()}"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Label is missing

tag "${query.getBaseName()}"

input:
path query
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Meta map input and output is missing

output:
path "tblastx_results.txt", emit: result

script:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ext.args handling is missing

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All input files for tests should be stored in the test-datasets repository (https://github.com/nf-core/test-datasets) and linked inside the test script.

@@ -0,0 +1,4 @@
params {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While a config is allowed for tests, input files should be specified inside the test script.

@@ -0,0 +1,10 @@
test_name: default
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not the correct format for nf-test (cf. nf-test documentation).

@@ -0,0 +1,7 @@
name: blasttblastx test
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not an nf-test snapshot. Other snapshot formats are not accepted.

-outfmt 6 \\
-out tblastx_results.txt
"""
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stub is missing

@@ -0,0 +1,25 @@
# blasttblastx
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree on behalf of maintainers: the module itself should be relatively self-explantory, and all of this is already ocvered in the meta file

@@ -0,0 +1,34 @@
nextflow.enable.dsl=2
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@snehaag006 did you use nf-core tools to generate teh module tempalte? a lot of this looks very manual written...

@jfy133
Copy link
Member

jfy133 commented Jun 17, 2025

If it helps, we have a detailed step-by-step tutorial here: nf-co.re/docs/tutorials/nf-core_training/writing-nf-core-modules/chapter-1-introduction :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants