【发布时间】:2015-05-05 04:08:28
【问题描述】:
我必须为一个巨大的蛋白质组文件计算很多东西,如果我在数据集中有大约 30000 个蛋白质。 我有一个脚本,其中有很多需要单个蛋白质文件的子脚本
在 perl 中:
my output = `somescript -do_something -with_this_single_protein_file`
我想问一下,有什么方法可以避免将数据集分成 30000 个文件,每个文件都包含一个蛋白质?也许在 Python 中有没有办法给 Popen 一个 stringIO、一个文件处理程序或其他东西?
谢谢,加博尔
【问题讨论】:
-
如果
somescript不接受-作为读取标准输入的文件名,它是否接受/dev/stdin? -
这不是有效的 Perl。也许
my $output = ...;? -
每个蛋白质真的有单独的下标吗?
-
使用一个 Perl 脚本来调用下标,并使用
require将它们拉入而不是通过exec或shell 调用它们会更有效,这就是反引号做。您将调用 Perl 编译器一次而不是 30000 次。 -
我所做的事情是制作 30000 个文件,每个文件包含一种蛋白质,列出它们的名称,然后遍历它们,这样我就可以调用
my $output =`somescript -do_something n_th_protein`;我想避免制作 30000 个文件