Почему бы не использовать регулярное выражение split?
import re
with open(<infile>) as inf:
for annot_info in f:
split_array = re.split(r'(\W+)(chr\w+):(\d+)..(\d+)', annot_info)
#do your sql processing here.
#write out to a file if you wish to.
даст вам ['', '+', 'chr6', '140302505', '140302604', '']. Вы можете использовать то же самое в ваших текущих методах mysql.
PS: шаблон регулярного выражения, который я использовал, даст вам пустые строки в начале и в конце. Измените регулярное выражение или измените вставку sql, чтобы исключить первый и последний элементы массива при нажатии.