#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. Можете ли вы показать ввод последовательности и желаемый результат?