Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement a "number peptides that can be removed" threshold for pVACvector #590

Open
susannasiebert opened this issue Oct 1, 2020 · 2 comments · May be fixed by #1168
Open

Implement a "number peptides that can be removed" threshold for pVACvector #590

susannasiebert opened this issue Oct 1, 2020 · 2 comments · May be fixed by #1168
Assignees
Milestone

Comments

@susannasiebert
Copy link
Contributor

Right now we only mark a peptide as problematic if it has no outgoing or incoming junctions. One could imagine this being a user-set threshold so that pVACvector would also mark peptides with 1,2,..,x number of incoming or outgoing junctions as problematic. This parameter would influence the likelihood of success (since more problematic junctions would now be tested with a spacer/trimming) at the cost of runtime.

@susannasiebert susannasiebert added this to the 2.1.0 milestone Oct 5, 2020
@susannasiebert susannasiebert modified the milestones: 3.0.0, 4.0.0 Jan 14, 2022
@susannasiebert susannasiebert modified the milestones: 4.0.0, 5.0.0 Jul 6, 2022
@chrisamiller
Copy link
Contributor

Found some old notes and wanted to get them into github - this seemed like the right place, as it's generally about "how to optimize pVACvector"

Right now, the default workflow is something like this:

  1. calculate all possible junctional epitopes
  2. if no solution is found, add next spacer, check again (loop)
  3. if no solution is found from all spacers, start trimming back peptides

As a next pass improvement, we could probably:

  1. calculate all possible junctional epitopes
  2. construct the best possible vector candidate
  3. identify any junctions that fail, hammer on just them (add spacers, trim) until a solution is found
  4. if no solution is found, pick the next best vector candidate that lacks the problematic junctions, repeat 3. (or if some threshold of tries is reached, we could fail and output the problematic peptides as described in this issue)

@susannasiebert susannasiebert modified the milestones: 5.0.0, 5.1.0 Dec 18, 2024
@susannasiebert
Copy link
Contributor Author

With the updates I recently made to pVACvector (5.0.0 release) to implement @chrisamiller suggestions above a number of invalid junctions threshold should no longer be necessary.

However, we can further improve on the update by doing the following (a variation of the last point in Chris' comment above):

  • Implement a threshold that controls how many peptides are ok to be removed from the final solution
  • If a solution with all peptides can't be found, start by iterating over each peptide, removing it from the graph and seeing if that leads to a solution. Output all solutions found that way.
  • Repeat this process and progressively remove more peptides up to the limit defined in the threshold

@susannasiebert susannasiebert modified the milestones: 5.0.0, 5.1.0 Dec 18, 2024
@susannasiebert susannasiebert changed the title Implement a "number of invalid junctions" threshold for pVACvector Implement a "number peptides that can be removed" threshold for pVACvector Dec 18, 2024
@susannasiebert susannasiebert self-assigned this Jan 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants