1

如何在没有输入 FASTA 文件的情况下运行ClustalW2 ?

我可以在命令中添加管道吗?我目前正在关注Biopython Tutorial and Cookbook中的第 6.2.1 节

4

1 回答 1

2

关于使用 Biopython

我假设您希望使用clustal包装器,ClustalwCommandLine. 作为包装器,它的功能是从实例创建适当的命令行调用。

我认为直接使用命令行工具通常更容易,使用subprocess(因此完全跳过 Biopython)。

stdin in clustalw2

查阅clustalw2文档,我看不到从以下位置传递数据的方法stdin

        DATA (sequences)

-INFILE=file.ext                             :input sequences.
-PROFILE1=file.ext  and  -PROFILE2=file.ext  :profiles (old alignment).

stdin in clustalo

但是,如果升级到 Clustal Omega 是一种选择,您可以在Clustal Omega documentationthat one can pass中看到,-以指示从以下位置获取输入stdin

SEQUENCE INPUT:

-i, --in, --infile={<file>,-}
    Multiple sequence input file (- for stdin)

看看我如何传递一个字符串以subprocess.Popen供参考,但简而言之:

from subprocess import Popen, PIPE, STDOUT


proc = Popen(['clustalwo', '-', <...>], stdout=PIPE, stdin=PIPE, stderr=STDOUT)
stdout = p.communicate(input='> Seq one\nATCGCTACGCACTACGTACG...')
于 2013-09-17T23:35:39.863 回答