OpenMS
Loading...
Searching...
No Matches
DigestionEnzymeDataProvider< EnzymeType > Class Template Referenceabstract

Abstract interface for providing digestion enzyme data. More...

#include <OpenMS/CHEMISTRY/DigestionEnzymeDataProvider.h>

Inheritance diagram for DigestionEnzymeDataProvider< EnzymeType >:
[legend]

Public Member Functions

virtual ~DigestionEnzymeDataProvider ()=default
 
virtual std::vector< std::unique_ptr< EnzymeType > > loadEnzymes ()=0
 Load enzyme definitions. Ownership is transferred to the caller.
 

Detailed Description

template<typename EnzymeType>
class OpenMS::DigestionEnzymeDataProvider< EnzymeType >

Abstract interface for providing digestion enzyme data.

Implementations of this interface supply enzyme definitions to DigestionEnzymeDB subclasses. This decouples data sourcing (file I/O, built-in definitions, etc.) from the database indexing logic.

Template parameter EnzymeType should be a subclass of DigestionEnzyme (e.g. DigestionEnzymeProtein, DigestionEnzymeRNA).

Constructor & Destructor Documentation

◆ ~DigestionEnzymeDataProvider()

template<typename EnzymeType >
virtual ~DigestionEnzymeDataProvider ( )
virtualdefault

Member Function Documentation

◆ loadEnzymes()

template<typename EnzymeType >
virtual std::vector< std::unique_ptr< EnzymeType > > loadEnzymes ( )
pure virtual

Load enzyme definitions. Ownership is transferred to the caller.

Note
Providers may only support a single call. Callers should invoke loadEnzymes() exactly once per provider instance.

Implemented in BuiltInProteaseDataProvider, InMemoryDigestionEnzymeDataProvider< EnzymeType >, and EnzymeXMLDataProvider< EnzymeType >.