aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Noll <nbnoll@eml.cc>2020-08-19 11:52:05 -0700
committerNicholas Noll <nbnoll@eml.cc>2020-08-19 11:52:05 -0700
commite01b49284da3d8384744695b7a5aeaa37bb47d4f (patch)
tree14354e5641ba38af199bc1bb6c97c3660bd6fd31
parent91e389d6e3d0c33f02474804802b053bb67cc48d (diff)
fix: use a string buffer
-rw-r--r--pangraph/utils.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/pangraph/utils.py b/pangraph/utils.py
index eff9432..3e553a0 100644
--- a/pangraph/utils.py
+++ b/pangraph/utils.py
@@ -3,6 +3,7 @@ import csv
import gzip
import numpy as np
+from io import StringIO
from enum import IntEnum
from Bio import SeqIO
@@ -181,15 +182,16 @@ def parse_fasta(fh):
header = as_str(fh.readline())
while header != "" and header[0] == ">":
name = header[1:].split()
- seq = ""
+ seq = StringIO()
for line in fh:
line = as_str(line)
if line == "" or line[0] == ">":
break
- seq += line
+ seq.write(line)
header = as_str(line)
- yield Record(name=name[0], meta=" ".join(name[1:]), seq=seq)
+ yield Record(name=name[0], meta=" ".join(name[1:]), seq=seq.getvalue())
+ seq.close()
def parse_paf(fh):
hits = []