You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
One of the only public predictors that explicitly covers MHC-II antigen processing in addition to MHC-I. Class-II processing is currently a gap in our predictor set (NetChop / pepsickle are MHC-I proteasomal cleavage; no class-II option exists today).
Fits the existing proteasome_cleavage / antigen-processing slot for class-I; class-II coverage may motivate a separate Kind or a refinement of the existing semantics.
Integration shape (proposed)
Closest existing analogue is NetChop, not pepsickle:
Not pip-installable. Distributed as git clone + python3 NetCleave.py --predict .... We'd shell out to a user-configured installation path, the same way we configure NetMHCpan paths today.
Heavy deps on the NetCleave side: Keras/TensorFlow, scikit-learn, biopython, pandas, numpy, plus R (dplyr, argparser). Users provide a working install; we don't try to manage it.
Inputs: FASTA of a protein, or CSV (peptide + UniProt ID, or peptide + protein sequence). We'd write a temp FASTA/CSV and parse the output directory.
Side effects: NetCleave can fetch protein sequences from UniProt at runtime. Wrapper should prefer the peptide+protein-sequence CSV form so we don't introduce network dependence inside predict().
Subprocess isolation: Likely needed (same Keras/TF + libomp class of issues that motivated [codex] Add pepsickle subprocess isolation #201 for pepsickle). Worth following the optional-subprocess pattern from Pepsickle.
Open design questions
Kind choice. Use existing proteasome_cleavage for both class I and II, or introduce a class-II-specific antigen-processing kind? The MHC-II pathway is endolysosomal, not proteasomal — strictly speaking proteasome_cleavage is misnamed if reused. Possible: add Kind.antigen_processing (already exists) as the umbrella and let predictors declare which they cover via kind_support() + mhc_class.
Output semantics. NetCleave outputs positional cleavage probabilities, not a single per-peptide score. We need to decide whether the per-peptide score is the C-terminal probability (analogous to NetChop) or something derived. Should align with how ProcessingPredictor and the score_cterm / score_nterm_cterm family already collapse positional scores to per-peptide.
Class-II peptide-length handling. Class-II peptides span a wider length range and the cleavage signal is different. Check whether the same wrapper code path works for both classes or whether class-II needs its own subclass (e.g. NetCleave_I / NetCleave_II mirroring NetMHCpan*_BA / _EL pattern).
kind_support() metadata. New predictor needs to declare its mhc_class (I, II, or both) and mhc_dependence (none — cleavage is MHC-independent).
Out of scope
Bundling or vendoring NetCleave itself.
Training / --train mode of NetCleave; we only need --predict.
Goal
Add a
NetCleavepredictor wrapper to mhctools for C-terminal peptide processing prediction (MHC-I and MHC-II pathways).Why
proteasome_cleavage/ antigen-processing slot for class-I; class-II coverage may motivate a separateKindor a refinement of the existing semantics.Integration shape (proposed)
Closest existing analogue is NetChop, not pepsickle:
git clone+python3 NetCleave.py --predict .... We'd shell out to a user-configured installation path, the same way we configure NetMHCpan paths today.dplyr,argparser). Users provide a working install; we don't try to manage it.predict().Pepsickle.Open design questions
Kindchoice. Use existingproteasome_cleavagefor both class I and II, or introduce a class-II-specific antigen-processing kind? The MHC-II pathway is endolysosomal, not proteasomal — strictly speakingproteasome_cleavageis misnamed if reused. Possible: addKind.antigen_processing(already exists) as the umbrella and let predictors declare which they cover viakind_support()+mhc_class.ProcessingPredictorand thescore_cterm/score_nterm_ctermfamily already collapse positional scores to per-peptide.NetCleave_I/NetCleave_IImirroringNetMHCpan*_BA/_ELpattern).kind_support()metadata. New predictor needs to declare itsmhc_class(I,II, orboth) andmhc_dependence(none— cleavage is MHC-independent).Out of scope
--trainmode of NetCleave; we only need--predict.Related