Skip to content

Update DeepLC and IM2Deep integration for their v4/v2 API rewrites#261

Merged
RalfG merged 4 commits intorelease/4.2from
feat/update-deeplc-im2deep
Apr 14, 2026
Merged

Update DeepLC and IM2Deep integration for their v4/v2 API rewrites#261
RalfG merged 4 commits intorelease/4.2from
feat/update-deeplc-im2deep

Conversation

@RalfG
Copy link
Copy Markdown
Member

@RalfG RalfG commented Apr 14, 2026

Update DeepLC and IM2Deep integration for their v4/v2 API rewrites, and run RT/IM predictions once for library generation instead of per batch.


Added

  • rt and im optional dependencies for DeepLC and IM2Deep

Changed

  • DeepLC integration uses deeplc.predict() functional API (replaces class-based DeepLC wrapper)
  • IM2Deep integration uses im2deep.predict() functional API (replaces legacy im2deep.im2deep.predict_ccs)
  • Both take PSMList directly, no DataFrame conversion
  • predict_library runs RT/IM predictions once on the full filtered PSMList before batching (closes Improve runtime for predict_library by running DeepLC and IM2Deep predictions only once #243)
  • Thread count passed to DeepLC/IM2Deep via predict_kwargs
  • Bump psm_utils requirement to >=1.5

Removed

  • _utils/retention_time.py and _utils/ion_mobility.py wrapper modules (inlined in core.py)
  • iRT calibration peptides (DeepLC v4 handles calibration internally)

RalfG added 3 commits April 14, 2026 08:15
- Replace retention_time.py and ion_mobility.py wrapper modules with
  inline calls to deeplc.predict_and_calibrate() and im2deep.predict()
- Both packages now take PSMList directly (no DataFrame conversion)
- Lazy imports kept inside if-blocks to avoid loading PyTorch at import
- Remove iRT calibration peptides (DeepLC v4 handles calibration)
- Bump psm_utils requirement to >=1.5
Move DeepLC and IM2Deep calls before the batch loop so they run once
on the full filtered PSMList instead of per batch.

Closes #243
- Extract _add_im_rt helper for DeepLC/IM2Deep calls
- Pass processes via predict_kwargs for PyTorch thread control
- Use bare type: ignore for optional dep imports
- Use deeplc.predict instead of predict_and_calibrate
@RalfG RalfG changed the base branch from releases to release/4.2 April 14, 2026 08:21
@RalfG RalfG added enhancement dependencies Pull requests that update a dependency file labels Apr 14, 2026
@RalfG RalfG added this to the v4.2.0 milestone Apr 14, 2026
@RalfG RalfG merged commit 843721b into release/4.2 Apr 14, 2026
5 checks passed
@RalfG RalfG deleted the feat/update-deeplc-im2deep branch April 14, 2026 08:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file enhancement

Development

Successfully merging this pull request may close these issues.

1 participant