Here’s a thought: Snape’s patronus turning into a doe is a tacit agreement on his part that Lily and James were soul-mates.
There has been a lot of discussion about James, Lily and Snape. Their relationship dynamics are incredibly complicated and some people think Lily was stupid for picking a jerk like James over a longtime friend like Snape. But, did Snape think that? In the seventh book, Snape’s patronus takes the form of a doe because of his deep feelings for Lily. The doe represents Lily to Snape, just like Harry’s patronus represents his father who he looks to for protection. So, Snape images Lily as a doe, a creature she’s never otherwise connected with and James is connected to the stag, and the stag and the doe make a pair of soul-mates. Even Snape sees them that way.