Skip to content

Minor update#105

Merged
ypriverol merged 9 commits intobigbio:devfrom
yueqixuan:master
Sep 25, 2025
Merged

Minor update#105
ypriverol merged 9 commits intobigbio:devfrom
yueqixuan:master

Conversation

@yueqixuan
Copy link
Copy Markdown
Contributor

@yueqixuan yueqixuan commented Aug 27, 2025

PR Type

Bug fix, Enhancement, Documentation


Description

  • Enhanced label-free quantification detection with "lfq" keyword support

  • Updated error messages for better clarity

  • Improved README documentation with clearer examples

  • Updated citation information with published journal reference


Diagram Walkthrough

flowchart LR
  A["Label Detection"] --> B["Enhanced LFQ Recognition"]
  B --> C["Better Error Messages"]
  D["README Examples"] --> E["Clearer Documentation"]
  F["Citation"] --> G["Updated Journal Reference"]
Loading

File Walkthrough

Relevant files
Enhancement
quantification_type.py
Enhanced LFQ detection and error messaging                             

ibaqpy/model/quantification_type.py

  • Added "lfq" keyword to label-free quantification detection
  • Enhanced error message to include "lfq" in supported formats
+4/-2     
Documentation
README.md
Documentation improvements and citation update                     

README.md

  • Updated command examples with generic dataset names
  • Clarified parameter descriptions for better understanding
  • Updated citation with published journal reference
+4/-4     

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Aug 27, 2025

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Tip

👮 Agentic pre-merge checks are now available in preview!

Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.

  • Built-in checks – Quickly apply ready-made checks to enforce title conventions, require pull request descriptions that follow templates, validate linked issues for compliance, and more.
  • Custom agentic checks – Define your own rules using CodeRabbit’s advanced agentic capabilities to enforce organization-specific policies and workflows. For example, you can instruct CodeRabbit’s agent to verify that API documentation is updated whenever API schema files are modified in a PR. Note: Upto 5 custom checks are currently allowed during the preview period. Pricing for this feature will be announced in a few weeks.

Please see the documentation for more information.

Example:

reviews:
  pre_merge_checks:
    custom_checks:
      - name: "Undocumented Breaking Changes"
        mode: "warning"
        instructions: |
          Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).

Please share your feedback with us on this Discord post.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@qodo-code-review
Copy link
Copy Markdown
Contributor

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

⏱️ Estimated effort to review: 2 🔵🔵⚪⚪⚪
🧪 No relevant tests
🔒 No security concerns identified
⚡ Recommended focus areas for review

Logic Specificity

The LFQ detection now checks any occurrence of "lfq" or "label free" across labels but only when len(labels) == 1; confirm this does not miss valid multi-label LFQ inputs or accidentally match substrings in unrelated terms. Consider anchoring or stricter matching if needed.

if len(labels) == 1 and any(
    keyword in s.lower() for s in labels for keyword in ["lfq", "label free"]
):
    label_category = cls.LFQ
Error Message Consistency

The error message text was updated; ensure wording and capitalization are consistent with CLI/docs ("label-free" vs "label free", "LFQ") and that README reflects the exact accepted keywords.

raise ValueError(
    f"Cannot infer labeling scheme from {labels}, only support label free (or lfq), TMT and ITRAQ experiment!"
)

@qodo-code-review
Copy link
Copy Markdown
Contributor

qodo-code-review Bot commented Aug 27, 2025

PR Code Suggestions ✨

No code suggestions found for the PR.

@ypriverol ypriverol requested a review from Copilot September 25, 2025 06:14
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR enhances the label-free quantification (LFQ) detection capabilities and improves documentation. The main purpose is to add support for the "lfq" keyword in quantification type classification and update project documentation.

  • Enhanced LFQ detection to recognize both "lfq" and "label free" keywords
  • Improved error messaging to include "lfq" as a supported format
  • Updated README with clearer command examples and published citation information

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
ibaqpy/model/quantification_type.py Added "lfq" keyword support for LFQ detection and updated error message
ibaqpy/ibaq/peptide_normalization.py Added filtering logic for missing reference files in SDRF
README.md Updated command examples and citation with published journal reference

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment on lines +69 to +71
if len(labels) == 1 and any(
keyword in s.lower() for s in labels for keyword in ["lfq", "label free"]
):
Copy link

Copilot AI Sep 25, 2025

Choose a reason for hiding this comment

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

The nested generator expression creates unnecessary iterations. Consider using a more efficient approach by checking if any label contains any of the keywords without nested loops.

Copilot uses AI. Check for mistakes.
Comment thread README.md

```asciidoc
ibaqpy features2peptides -p tests/PXD003947/PXD003947-feature.parquet -s tests/PXD003947/PXD003947.sdrf.tsv --remove_ids data/contaminants_ids.tsv --remove_decoy_contaminants --remove_low_frequency_peptides --output tests/PXD003947/PXD003947-peptides-norm.csv
ibaqpyc features2peptides -p PXD000000.ibaq.parquet -s PXD000000.sdrf.tsv --remove_ids data/contaminants_ids.tsv --remove_decoy_contaminants --remove_low_frequency_peptides --output PXD000000-peptides-norm.csv
Copy link

Copilot AI Sep 25, 2025

Choose a reason for hiding this comment

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

The command uses 'ibaqpyc' instead of 'ibaqpy'. This appears to be a typo in the documentation.

Suggested change
ibaqpyc features2peptides -p PXD000000.ibaq.parquet -s PXD000000.sdrf.tsv --remove_ids data/contaminants_ids.tsv --remove_decoy_contaminants --remove_low_frequency_peptides --output PXD000000-peptides-norm.csv
ibaqpy features2peptides -p PXD000000.ibaq.parquet -s PXD000000.sdrf.tsv --remove_ids data/contaminants_ids.tsv --remove_decoy_contaminants --remove_low_frequency_peptides --output PXD000000-peptides-norm.csv

Copilot uses AI. Check for mistakes.
Comment thread README.md
@ypriverol ypriverol merged commit 0771474 into bigbio:dev Sep 25, 2025
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants