change fasta_to_ali

This commit is contained in:
root
2024-01-22 15:40:58 +08:00
parent 985dda0da7
commit 030ac240e0

View File

@@ -6,6 +6,10 @@ import time
from typing import List from typing import List
import sys import sys
import glob import glob
import pyfastx
from Bio import SeqIO
from Bio.Seq import Seq
from Bio.SeqRecord import SeqRecord
@dataclass @dataclass
class PDBModeler: class PDBModeler:
@@ -108,13 +112,13 @@ class PDBModeler:
if ali_file.exists(): if ali_file.exists():
ali_file.unlink() ali_file.unlink()
with open(self.fasta_file, 'r') as f: fx = pyfastx.Fasta(self.fasta_file.as_posix(), build_index=True)
seq = f.readlines()[1].strip() assert len(fx) == 1, "FASTA file should contain only one sequence"
with open(ali_file, 'w') as f: with open(ali_file, 'w') as f:
f.write(f'>P1;{self.sequence}\n') f.write(f'>P1;{self.sequence}\n')
f.write(f'sequence:{self.sequence}:::::::0.00: 0.00\n') f.write(f'sequence:{self.sequence}:::::::0.00: 0.00\n')
f.write(f'{seq}*') f.write(f'{fx[0].seq}*')
return ali_file return ali_file