The Buffalo Bills open training camp July 25 at St. John Fisher College in Pittsford, New York. Here’s a 53-man roster projection:

QUARTERBACK (2): Josh Allen, Matt Barkley

The Bills took a flier on University at Buffalo quarterback Tyree Jackson after he surprisingly went undrafted in April. His fall through the draft makes it less likely another team would spend a 53-man roster spot this September on Jackson if he was cut by the Bills, which could clear a path for Jackson to return to the practice squad. The decision could hinge on Jackson’s performance this preseason, but keep in mind that this regime kept only two true quarterbacks to begin 2017 (Tyrod Taylor and Nathan Peterman) and 2018 (Peterman and Allen).

RUNNING BACK (4): LeSean McCoy, Frank Gore, Devin Singletary, Senorise Perry

GM Brandon Beane hinted in May that Gore could compete for McCoy’s starting job, and both veterans — as well as Singletary, a third-round rookie — received first-team reps in the spring. For now, the assumption is that McCoy and Gore both stick and the odd man out is T.J. Yeldon, who seemed a rung lower on the spring depth chart. Perry’s special-teams abilities make him the most useful option as the No. 4 running back. The order of the top three, however, could still depend on the preseason. The tricky part for coach Sean McDermott will be balancing giving McCoy and Gore enough live reps in practices and games to be evaluated while also reducing wear and tear on their older bodies.

FULLBACK (1): Patrick DiMarco

DiMarco played only 16 percent of offensive snaps last season, which has led to questions in some circles about whether his spot on the roster is justified. Given DiMarco’s leadership (he was voted a captain in 2018) and special-teams ability (he played the fourth-most snaps last season), he should be safe.

WIDE RECEIVER (6): John Brown, Zay Jones, Cole Beasley, Robert Foster, Andre Roberts, Ray-Ray McCloud III

The top five at this position seem fairly set, although it remains to be seen how snaps are distributed between Brown, Jones and Foster. The Bills have kept six receivers on their opening-day roster the past two seasons and McCloud got the nod here after receiving some first-team looks in the spring. The 2017 sixth-round pick still faces competition from Isaiah McKenzie, Victor Bolden Jr. and others.

TIGHT END (4): Tyler Kroft, Lee Smith, Dawson Knox, Tommy Sweeney

The most pressing question is whether Kroft, who broke his foot this spring, will be ready for the start of the regular season. If not, he could be a candidate to sit out at least the first six games on the reserve/physically unable to perform list. If so, Jason Croom could stick on the roster — or Croom could beat out Sweeney, a seventh-round rookie, for a final spot.

OFFENSIVE LINE (9): Dion Dawkins, Ty Nsekhe, Cody Ford, LaAdrian Waddle, Mitch Morse, Jon Feliciano, Spencer Long, Quinton Spain, Wyatt Teller

There is plenty to sort out during training camp, including the right tackle competition between Nsekhe and Ford, as well as who starts at both guard spots. The locks for the 53-man roster seem to be Dawkins (the incumbent left tackle starter), Ford (a second-round rookie), Nsekhe (who was guaranteed $7.7 million in March) and Morse (who became the NFL’s highest-paid center this offseason).

DEFENSIVE LINE (8): Jerry Hughes, Trent Murphy, Shaq Lawson, Mike Love, Star Lotulelei, Jordan Phillips, Ed Oliver, Harrison Phillips

The only real question here is the final defensive end spot, and Love seemed to have an edge this spring over Eddie Yarbrough, seventh-round rookie Darryl Johnson Jr. and free-agent addition Eli Harold. The top four defensive tackles appear settled.

LINEBACKER (6): Lorenzo Alexander, Tremaine Edmunds, Matt Milano, Julian Stanford, Maurice Alexander, Vosean Joseph

It was tough to find a spot for Deon Lacey, who led the Bills in special-teams snaps each of the past two seasons. The additions of Alexander, a veteran free agent, and Joseph, a fifth-round pick, have the potential to shake things up.

SECONDARY (10): Tre’Davious White, Levi Wallace, Taron Johnson, Kevin Johnson, Lafayette Pitts, Micah Hyde, Jordan Poyer, Kurt Coleman, Siran Neal, Jaquan Johnson

At cornerback, there could be a competition in training camp between Wallace, the incumbent starter, and veteran free agents Johnson and E.J. Gaines. If the latter two cannot crack the starting lineup, their roster spots become less certain. Johnson’s strong performance this spring gave him the fourth cornerback spot in this projection and the final slot went to Pitts, who played the second-most special-teams snaps for Buffalo last season. After Rafael Bush retired last week, the Bills signed the veteran Coleman as a replacement. Neal got time practicing as a slot cornerback this spring, which could open a back-end role for Jaquan Johnson, a sixth-round rookie. No matter how duties are distributed, safety is a strong position on the Bills’ roster.

SPECIALIST (3): K Stephen Hauschka, P Corey Bojorquez, LS Reid Ferguson

There will be a punting competition this August between Bojorquez, who ended last season on injured reserve, and Cory Carter, who missed all of last season with a torn ACL. It is too early to tell who could win.