Я хочу добраться до определенной точки строки, противоположной (с отрицательной стороны )той, что мне дана.
TTTTTTTTTTGGGGGGGGGGAAAAAAAAAACCCCCCCCC
Итак, вам нужно преобразовать координаты. На нижней нити основание 0 (правая -большая часть C )противопоставлена основанию 39 на верхней нити. Основание 1 соответствует основанию 38. Основание 2 соответствует случаю 37. (Важный момент :Обратите внимание, что происходит, когда вы складываете эти два числа — каждый раз. )Итак, основание 10 соответствует основанию 29, а основание 19 соответствует основанию 20.
Таким образом, :если я хочу найти основание 10 -20 в нижней цепи, я могу посмотреть на основание 20 -] 29 сверху (и затем обратно -дополняют его ).
Я написал следующее:
fp = open(infile, 'r')
for line in fp:
tokens = line.split()
exonstarts = tokens[8][:-1].split(',')
exonends = tokens[9][:-1].split(',')
zipped = list(zip(exonstarts, exonends))
chrom_len = len(chr_string)
s = ''.join(bc[base.upper()] for base in chr_string[-starts-1:-ends-1] for starts, ends in zipped)+'\n'
Тем не менее, каждый раз, когда я это делаю, я получаю:
Ошибка :глобальное имя 'starts' не определено
Как мне это исправить??