Как использовать подстроку для извлечения последовательности и использовать цикл while?

#python #while-loop #substring #fasta

#питон #цикл while #подстрока #фаста

Вопрос:

Я очень новичок в программировании, так что извините за любые ошибки!

Мне нужно изменить приведенный ниже сценарий (GC_content.py ) с другим файлом в качестве входных данных (SfPhi01.fasta) для вычисления перекоса для этого входного файла в Python v2, редактирование в emacs. Затем мне нужно изменить его, чтобы вычислить перекос для сегментов из 100 пар оснований (биологический контекст) с шагом 50 пар оснований.

Мне дали советы использовать подстроку для извлечения последовательности из позиции X в (X 100) и установить начальное значение X равным 0. Мне также нужно использовать цикл while, который увеличивает значение X на 50 и продолжает вычисления до тех пор, пока X меньше размера генома минус 100 пар оснований.

 import re

i=0

Input = open(sys.argv[1], 'r')
Output = open(sys.argv[1] 'GC_content', 'w')
for line in Input:
     if re.match('>', line):
          if i>0:
              Output.write('n')
              Output.write(line)
          else:
              Output.write(line)
          i =1
     else:
        length = float(len(line.replace('n', '')))
        G = re.subn('G', 'G', line)
        C = re.subn('C', 'C', line)
        G_count = float(G[1])
        C_count = float(C[1])
        GC_content = (G_count   C_count)/length
        Output.write('GC content: ' 't' str(GC_content) 'n')
Input.close()
Output.close()
 

Комментарии:

1. Python 2 очень мертв , он был (наконец, после слишком долгого периода неопределенности) заброшен почти год назад. Пожалуйста, начните с перехода на Python 3.

2. Похоже, вы пытаетесь найти перекос GC из последовательности fasta. Можете ли вы показать ввод последовательности и желаемый результат?