如何在没有输入 FASTA 文件的情况下运行ClustalW2 ?
我可以在命令中添加管道吗?我目前正在关注Biopython Tutorial and Cookbook中的第 6.2.1 节。
如何在没有输入 FASTA 文件的情况下运行ClustalW2 ?
我可以在命令中添加管道吗?我目前正在关注Biopython Tutorial and Cookbook中的第 6.2.1 节。
我假设您希望使用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 documentation
that 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...')