0

我正在使用 subprocesss.run() 在 python 中运行 samtools 命令。代码如下:

result = subprocess.run(['samtools', 'faidx', 'hg38.fa.gz', 'chr1:169699712-169699719'], check=True, stdout = subprocess.PIPE)

我遇到了以下问题:

CalledProcessError: Command '['samtools', 'faidx', 'hg38.fa.gz', 'chr1:169699712-169699719']' died with <Signals.SIGABRT: 6>.

samtools 命令在终端中成功运行,但在 subprocess.run 中失败。

有谁知道这个错误的原因?太感谢了。

4

1 回答 1

0

也许尝试使用这段代码,我使用类似的代码来运行带有 bwa、samtools 和其他命令的命令,到目前为止没有问题:

import subprocess

def run(cmd) :
   proc = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
   proc.communicate()

cmd = "samtools faidx /path/to/file.fa.gz" # change for desired command line here
run(cmd)
于 2021-03-25T15:19:37.060 回答