Как мне отформатировать это регулярное выражение, чтобы найти нужную последовательность аминокислот?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как мне отформатировать это регулярное выражение, чтобы найти нужную последовательность аминокислот?

Сообщение Anonymous »

Я ищу аминокислоту в последовательностях в файле fasta. Я проверяю, является ли 564-я аминокислота в последовательности буквой V, I или E. Файл, к которому осуществляется доступ, был прочитан и обработан как часть другой функции. Код ниже:

Код: Выделить всё

with open("/Users/adia/Downloads/FGFR_fusion.fasta",'r') as fasta:
test = fasta.read()
test = test.split(">")
del test[0]
out = open("/Users/adia/Desktop/PSB HW_6.txt", 'w')
for x in test:
if 'fibroblast growth factor receptor 1 isoform' in x:
out.write(x)

with open("/Users/adia/Desktop/PSB HW_6.txt", 'r') as filtered:
test2 = filtered.read()
out = open("/Users/adia/Desktop/564ID.txt", 'w')

** AA564 = re.compile('^M.{562}[IVE]')**
matches = re.finditer(AA564,test2)

found = []
for match in matches:
found.append(match.group(0))
print(f"Found {match.group(0)} at position {match.start()}.\n")

if found == []:
print("No match found.")

No match found.
Я точно знаю, что есть как минимум одно совпадение (я сам читал и разделял каждую последовательность), но по какой-то причине это не работает.
Я пробовал массу вариантов этого регулярного выражения:
  • re.compile('M.{562}[IVE]')
  • re.compile('^M.{562}[IVE]')
  • re.compile('^M.{562}[IVE]', re.M)
  • re.compile('^M.{562}[IVE]',re.DOTALL)
  • re.compile( 'M.{562}[IVE].*')
  • re.compile('^M.{562}[IVE].*')
  • re.compile('^M[GALMFWKQESOVICYHRNDT]{562}[IVE]')
  • re.compile('M[GALMFWKQESOVICYHRNDT]{562}[IVE]')< /li>
    re.compile('^M[A-Z]{562}[IVE]'
Возможно, в нем что-то есть связано с тем, как файл форматируется при его первой записи, поскольку это входные данные в той части, с которой у меня возникают проблемы. Но я проверил, и когда он считывается и возвращается обратно, оба раза это строка. Я не могу редактировать его дальше или использовать регулярное выражение. Я пробовал использовать регулярное выражение101, чтобы увидеть, где находится несоответствие, но ничего очевидного. Может ли кто-нибудь подсказать, как решить эту проблему?
TIA!

Подробнее здесь: https://stackoverflow.com/questions/791 ... d-sequence
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»