Don't use re.split()
for this:
>>> re.findall(r'(?:"[^"]*"|[^\s"])+', string)
['protein219', 'Info=Acidfast', 'Name="Mycobacterium smegmatis"', 'pcp=36789']
Explanation:
(?: # Start of non-capturing group
"[^"]*" # Either match a quoted string
| # or
[^\s"] # anything besides spaces or quotes
)+ # End of group, match at least once