当前位置: 首页 > 知识库问答 >
问题:

biopython脚本给出错误'无效语法'

韩嘉祯
2023-03-14

我正在尝试应用biopython代码来分割一个大的fasta文件。代码如下所示:

def batch_iterator():
    entry=True # to make sure the loop run once
    while entry:
        batch=[]
        while len(batch) < batch_size:
            try:
                entry=iterator.next()
            except StopIteration:
                entry=None
            if entry is None:
                #end of file
                break
            batch.append(entry)
        if batch:
            yield batch
record_iter=SeqIO.parse(open('/home/to/file/sorted_sequence.fa', 'fasta')
for i, batch in enumerate (batch_iterator(record_iter, 93)):
    filename='gene_%i.fasta' % (i + 1)
    with open('/home/path/files/', filename, 'w') as ouput_handle:
        count=SeqIO.write(batch, ouput_handle, 'fasta')
    print ('Wrote %i records to %s' % (count, filename))

在这一行中:对于i,枚举中的批处理(批处理迭代器(record_iter,93)):正在给我语法错误:无效语法。但是我看不到错误,有人能帮我找到吗?我从这里取了密码http://biopython.org/wiki/Split_large_file谢谢

共有1个答案

郗鹏
2023-03-14

这一行缺少括号

record_iter = SeqIO.parse(open('/home/to/file/sorted_sequence.fa', 'fasta')

试试加一个

record_iter = SeqIO.parse(open('/home/to/file/sorted_sequence.fa'), 'fasta')
 类似资料:
  • 谢谢大家。 我有一个包含7张的谷歌电子表格。我试图将最后一张工作表中的数据从单元格A1: D1移动到附加到同一工作表底部的新行。 下面是我正在使用的代码片段: 在我运行代码后,在标签“薪资检查历史记录”中,在工作表底部的新行中,我得到以下内容:“[Ljava.lang.对象;@3e0d05f9” 有人能告诉我(a)这个错误是什么,(b)这意味着什么,以及(c)我如何修复这个问题或实现我的目标,即“

  • 我在家庭作业中使用Eclipse,我真的很挣扎。目标是编写一个工资单程序,让用户输入他们的姓名、工作时间、工资率、联邦和州预扣税,然后输出他们预扣金额的计算信息以及他们的净工资。 我使用了我熟悉的println语句来显示输出,但老师希望我们使用函数,我根本无法让它工作。如果我使用println语句,所有的值都会填充,但由于某种原因,我无法让printf执行相同的操作。我错过了什么?如果我使用pri

  • 我收到了警告。 警告:f开(76561197992146126. txt):无法打开流:第6行C:\wamp\www\下载\t3.php中的参数无效 对于任何想知道的人,这是下面的主要内容.txt(http://pastebin.com/53chSRRz) 如果我将“fopen($link.“.txt”,“a”)”替换为静态文件名,它就可以工作了。但我需要$link作为文件名。这对我的设置至关重要

  • 问题内容: 我正在使用Oracle 11g,正在通过Java代码执行Oraclesql脚本。我的SQL脚本可能包含SQL语句(DDL或DML)或PL /SQL块,因此我不想解析Java代码中的脚本,但使用此解决方案立即执行了完整的脚本。以下是示例代码,其中包含SQLExec类。 此解决方案在大多数情况下都有效,除了如果sql脚本包含它会失败,并显示 java.sql.SQLSyntaxErrorE

  • [√]Flutter(频道未知,2.2.0,在Microsoft Windows上[Version 10.0.19041.1052],区域设置ko-KR)•Flutter Version 2.2.0 at C:\users\PC\FVM\Versions\2.2.0•框架版本b22742018b(6周前),2021-05-14 19:12:57-0700•引擎版本a9d88a4d18•飞镖版本2.

  • 在下面的查询中,我使用了strftime函数来获取字符串格式的日期。它在sqlite数据库中运行良好。但是,当数据库更改为进程时,它抛出了一个错误,即“SQLSTATE[42883]:未定义函数:7错误:函数strftime(未知,没有时区的时间戳)不存在” 下面的代码在SQLite中工作,但在Postgres数据库中引发了一个错误