Skip to content

Adding xcms readexperiment file for XCMS4 based experiment#403

Open
CTR-LABERCA wants to merge 9 commits into
workflow4metabolomics:masterfrom
CTR-LABERCA:tools_xcms-v4-clean
Open

Adding xcms readexperiment file for XCMS4 based experiment#403
CTR-LABERCA wants to merge 9 commits into
workflow4metabolomics:masterfrom
CTR-LABERCA:tools_xcms-v4-clean

Conversation

@CTR-LABERCA

@CTR-LABERCA CTR-LABERCA commented Jun 29, 2026

Copy link
Copy Markdown

FOR CONTRIBUTOR:

  • I have read the CONTRIBUTING.md document and this tool is appropriate for the tools-iuc repo.
  • License permits unrestricted use (educational + commercial)
  • This PR adds a new tool or tool collection
  • This PR updates an existing tool or tool collection
  • This PR does something else (explain below)

@bgruening

Copy link
Copy Markdown
Contributor

This PR looks like a real replacement of the old tools not an evolution of the old. What about adding v4 as a new folder and don't touch the old ones. There is no tool linkage we can keep and no upgrade path for a user. So we will end up with new tools in the tool panel. The we can also keep them separate on GitHub.

What do you think?

@hechth

hechth commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

@CTR-LABERCA why did you remove all other files? from what I can see, this just replaces reading the experiment.

@hechth hechth changed the title Tools xcms v4 clean Adding xcms readexperiment file for XCMS4 based experiment Jun 29, 2026
@CTR-LABERCA

Copy link
Copy Markdown
Author

@hechth @bgruening
Sorry, there was a misunderstanding between @yguitton and me. The goal is indeed to update the xcms tools for version 4.

@yguitton and I discussed this point at length. We didn't really see read_msExperiment as a replacement. Rather, it's the first tool that creates an MsExperiment object, which is new in xcms v4. The subsequent tools, such as abims_fill_chromPeaks, xcms_plot_chromatogram, and others, will only be updated to support xcms v4.

In the rush, we only kept the new files dedicated to xcms 4 and opened a new pull request. We had a hard time deciding how to organize the transition, which led to this confusion. I'll fix everything. Sorry about that.
If you have any suggestions on how to handle this transition, we'd really appreciate your feedback.

@yguitton

Copy link
Copy Markdown
Member

@lecorguille @melpetera the last error is a url time out.. any clues?
ERROR: Error 'HTTPSConnectionPool(host='rdrr.io', port=443): Read timed out. (read timeout=5)' accessing https://rdrr.io/bioc/xcms/man/fillChromPeaks.html
..

@bgruening

Copy link
Copy Markdown
Contributor

The questions that we need to answer are:

  • "Is XCMS 3 and 4 so different that they are different tools."
  • "should XCMS 3 and 4 be maintained in parallel"

If one or both questions can be answered with yes, we start a new folder and put in new XML files and do not touch the old ones.

@CTR-LABERCA

Copy link
Copy Markdown
Author

The main change introduced by the migration to XCMS 4 is the replacement of the MSnExp data container with the MsExperiment data container during the initial data import step.

The workflow structure remains identical, while the selected tool version would determine whether the underlying data container is MSnExp (XCMS 3) or MsExperiment (XCMS 4). All subsequent preprocessing steps—peak detection, peak grouping, retention time alignment, and peak filling—remain conceptually unchanged.

    input :mzML file                         input: mzML file
         │                                         │
         ▼                                         ▼
 ┌───────────────┐                        ┌────────────────┐
 │ readMSData    │                        │ readMsExperiment│
 │ (MSnbase)     │                        │ (MsExperiment) │
 └───────────────┘                        └────────────────┘
         │                                         │
         ▼                                         ▼
     MSnExp R Object                 ★ MsExperiment R Object --> New
         │                                         │
         ├─────────────────────────────────────────┤
         ▼                                         ▼
  findChromPeaks                         findChromPeaks
         │                                         │
         ▼                                         ▼
  groupChromPeaks                        groupChromPeaks
         │                                         │
         ▼                                         ▼
    adjustRtime                            adjustRtime
         │                                         │
         ▼                                         ▼
  fillChromPeaks                         fillChromPeaks

The idea, we have in mind in this context, is to allow users to select between installed version with the built-in version selector.

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.

4 participants