Извините заранее, если это уже было задано, но я потратил часы на поиск ответов на это. Я новый ученик Python (3.5.1, Windows 10), и моя задача - написать функцию, которая читает содержимое файла Fasta (чье имя задано пользователем) и создает новый файл (имя также указано пользователем, может быть .fasta или .txt) с последовательностями Fasta в верхнем регистре. Файл fasta форматируется, поэтому заголовку последовательности предшествует каретка, а последующие строки - это символы (те, которые я хочу заглавными). Файл fasta может содержать несколько строк, включенных в файл, я не хочу задерживать эти строки.Python - функция, которая считывает содержимое файла и создает новый файл с содержимым в верхнем регистре
import sys
def fasta_upper(fasta_input_file, fasta_output_file):
fasta_input_file = sys.argv
with open('fasta_input_file', 'r') as f:
file_contents = f.read()
temp_contents = file_contents[:]
for line in temp_contents:
if line.startswith('>'):
pass
else:
g = line.upper()
open('fasta_output_file', 'w')
fasta_output_file.write(g)
fasta_input_file.close()
fasta_output_file.close()
Например, это Fasta Файл:
Название последовательности cgtatgggggtattccgtagctctgctgacgcgcttatatttagc cgctcgatctggaggactctgcgatcgcggcatcgagctagcggc
бы записать так:
Название sequen се CGTATGGGGGGTATTCCGTAGCTCTGCTGACGCGCTTATATTTAGC CGCTCGATCTGGAGGACTCTCGATCGCGGCATCGAGCTAGCGCGGC
Я уверен, что это просто пронизана очевидных ошибок, но опять же я буду студент пытается узнать. Пожалуйста, будьте нежны! Заранее спасибо за любые советы или советы вы имеете, я действительно наслаждался Python, и я хотел бы, чтобы преодолеть это разочарование и стать более состоятельной программиста :)
Что было не так с просто звоню 'верхний()'? –
@JoelCornett хорошо разбирается в примерах. Ouwan12 хочет преобразовать только нуклеотидные последовательности и оставить неизменным все остальное, включая заголовки последовательностей. Или я пропустил более простой способ? –