diff options
author | Nicholas Noll <nbnoll@eml.cc> | 2020-08-19 11:52:05 -0700 |
---|---|---|
committer | Nicholas Noll <nbnoll@eml.cc> | 2020-08-19 11:52:05 -0700 |
commit | e01b49284da3d8384744695b7a5aeaa37bb47d4f (patch) | |
tree | 14354e5641ba38af199bc1bb6c97c3660bd6fd31 | |
parent | 91e389d6e3d0c33f02474804802b053bb67cc48d (diff) |
fix: use a string buffer
-rw-r--r-- | pangraph/utils.py | 8 |
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 = [] |