gpt4 book ai didi

python - 在 python 3.5 中写入 gzipped fasta 文件

转载 作者:行者123 更新时间:2023-12-01 03:29:49 25 4
gpt4 key购买 nike

我刚刚将工具中的所有模块从 python 2 迁移到 python 3。我遇到了一个无法解决的问题 - 我不知道如何写入 gzipped fasta 文件。

with gzip.open("sample.fasta.gz", "w") as file:
print("writing...")
for oid, seq in temp_data.items():
# prepare row
row = SeqRecord(Seq(seq), id=str(oid), description=temp_tax[oid])
SeqIO.write(row, file, "fasta")

此代码在 python 2 中工作,但在 python 3 中不起作用,它会引发:

TypeError: memoryview: a bytes-like object is required, not 'str'

我应该如何解决这个问题?

最佳答案

gzip.open function与常规 open 函数不同,默认为二进制模式,而不是文本模式。您必须显式传递 t 作为模式字符串的一部分才能在文本模式下打开(接受/期望 str):

with gzip.open("sample.fasta.gz", "wt") as file:

为了避免行结束转换,您可能还需要pass newline='' (空字符串),这样,在像 Windows 这样的系统上,它在写入时不会将 \n 转换为 \r\n

关于python - 在 python 3.5 中写入 gzipped fasta 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41050881/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com