Я пытаюсь выделить часть последовательности fastta, используя данные подсчета из отдельного текстового файла.
Я ввел фасту в функцию def analy_seq.Когда я использую этот код, кажется, он работает, но я получаю все в выражении print в вертикальном списке, по одному нуклеотиду за раз.Я хочу, чтобы идентификатор и каждая связанная группа бит / с были напечатаны горизонтальными линиями
import re
def analyze_seq(id, seq, fname="FPT_REAL_unique.txt"):
with open(fname) as input_file:
for line in input_file:
columns = line.rstrip('\n').split('\t')
qid, qstart, qend, gap_length = columns
if qid == id:
count2 = 0
for seq_item in seq:
count2 += 1
if int(qstart) >= count2 <=int(qend):
print(id + "\t" + seq_item)
my_file = open("Galaxy55-[Tabular-to-FASTA_on_data_54].fasta" , "r")
id = ''
seq = ''
count = 0
for x in my_file:
if re.search(r"^>", x):
if id != '':
analyze_seq(id, seq)
count = count + 1
id = x.rstrip("\n")
seq = ''
else:
seq = seq + x.rstrip("\n")
Я также попытался
print(id + "\t" + y[str(qstart):str(qend)])
и получил эту ошибку: TypeError: индексы слайса должны быть целыми числами или нет илииметь индекс метод
The output I am looking for will look like this:
>Trinity124124 AGCTAGCTAGCTAGCTA
>Trinity182537 AGCTAGCTAGCTACGTA