Skip to content

Commit 69d0659

Browse files
committed
update README.md
1 parent ed26970 commit 69d0659

1 file changed

Lines changed: 36 additions & 28 deletions

File tree

README.md

Lines changed: 36 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,15 @@
22

33
Waters2mzML converts Waters `.raw` MS¹ and MSⁿ data (MSe and DDA) into structured `.mzML` files and applies post‑processing steps to correct metadata, MS levels, and scan numbering. The output is compatible with tools such as MZmine 3.
44

5-
The project is a Python package with a modular pipeline:
5+
The project is a modular Python package built around a reproducible conversion pipeline:
66

77
- conversion through ProteoWizard `msconvert`
88
- extraction of acquisition metadata from Waters `_extern` files
99
- annotation of MS levels and precursor information
1010
- mzML post‑processing and scan renumbering
11+
- optional parallel execution with retry logic
1112

12-
The implementation is platform‑agnostic at the Python level. Conversion still depends on ProteoWizard availability on the host system.
13+
Conversion depends on ProteoWizard availability on the host system.
1314

1415
Repository: [https://github.com/AnP311/Waters2mzML](https://github.com/AnP311/Waters2mzML)
1516

@@ -18,19 +19,21 @@ Repository: [https://github.com/AnP311/Waters2mzML](https://github.com/AnP311/Wa
1819
## **Features**
1920

2021
- Parse Waters `_extern` metadata
21-
- Identify and remove non‑analytical functions (e.g., lockmass)
22+
- Identify and remove non‑analytical functions
2223
- Assign MS levels for MS¹, MSe, and DDA
2324
- Reconstruct precursor information when present
2425
- Convert `.raw` to `.mzML` through `msconvert`
25-
- Renumber scans and correct metadata in the resulting `.mzML`
26-
- Provide a CLI entry point (`waters2mzml`)
27-
- Include unit, integration, and regression tests
26+
- Renumber scans and correct metadata in the `.mzML`
27+
- Parallel execution with configurable worker count
28+
- Retry logic for failed jobs
29+
- CLI entry point (`waters2mzml`)
30+
- Unit, integration, and regression tests
2831

2932
---
3033

3134
## **Supported Data**
3235

33-
Tested on:
36+
Validated on:
3437

3538
- Waters Synapt G2‑Si
3639
- Waters Xevo G2 (DDA)
@@ -42,9 +45,7 @@ Other Waters instruments may work if their `_extern` format matches the tested v
4245

4346
## **Installation**
4447

45-
Not yet published to PyPI.
46-
47-
For development:
48+
Development installation:
4849

4950
```
5051
pip install -e ".[test]"
@@ -54,28 +55,28 @@ pip install -e ".[test]"
5455

5556
## **Usage**
5657

57-
Run the full pipeline on one or more `.raw` directories:
58+
Convert one or more `.raw` directories:
5859

5960
```
60-
waters2mzml convert path/to/raw_files/ --out path/to/mzml/
61+
waters2mzml convert path/to/raw/ --out path/to/mzml/
6162
```
6263

63-
The CLI handles:
64+
The CLI performs:
6465

65-
- locating `msconvert`
66-
- running the conversion
67-
- applying raw annotation
68-
- applying mzML post‑processing
66+
- raw annotation
67+
- msconvert execution
68+
- mzML post‑processing
69+
- optional parallel execution
6970

70-
See `waters2mzml --help` for all commands and options.
71+
Run `waters2mzml --help` for all options.
7172

7273
---
7374

7475
## **Processing Notes**
7576

76-
### **Function Ordering**
77+
### **Function Roles**
7778

78-
The pipeline infers function roles from the `_extern` file:
79+
Function roles are inferred from the `_extern` file:
7980

8081
- Function 1 → MS¹
8182
- Subsequent functions → MS² (MSe or DDA)
@@ -84,29 +85,36 @@ The pipeline infers function roles from the `_extern` file:
8485

8586
### **MSe Precursor Assignment**
8687

87-
For MSe data, the pipeline assigns a precursor m/z based on the isolation window defined in the raw metadata. This reflects the acquisition setup but may not be required by all downstream tools.
88+
For MSe data, precursor m/z values are assigned from the isolation window defined in the raw metadata.
89+
90+
### **Centroiding**
91+
92+
Centroiding is handled by ProteoWizard.
93+
Peak picking can be enabled through the CLI.
8894

89-
### **Profile vs. Centroid**
95+
### **Parallel Execution**
9096

91-
Centroiding is delegated to ProteoWizard.
92-
If profile data is present, the user can enable peak picking through the CLI.
97+
Multiple `.raw` directories can be processed concurrently.
98+
Each directory is handled as an isolated job.
99+
Failed jobs can be retried a configurable number of times.
93100

94101
---
95102

96103
## **Development**
97104

98-
The repository includes:
105+
The repository contains:
99106

100-
- modular Python package (`waters2mzml/`)
107+
- the Python package (`waters2mzml/`)
101108
- test suite (`tests/`)
102-
- CI workflow
109+
- CI workflow
110+
- tests for parallel execution and retry logic
103111
- modern packaging (`pyproject.toml`)
104112

105113
---
106114

107115
## **Citation**
108116

109-
If you use Waters2mzML in a publication, cite the repository and ProteoWizard:
117+
If you use Waters2mzML, cite the repository and ProteoWizard:
110118

111119
- Chambers et al., *Nat. Biotechnol.* 30, 918–920 (2012)
112120
- [https://proteowizard.sourceforge.io/tools/msconvert.html](https://proteowizard.sourceforge.io/tools/msconvert.html)

0 commit comments

Comments
 (0)