파이썬에서 스크립트의 subprocess.call 연산자를 사용하는 데 어려움을 겪고 있습니다. 파이프 라인 프로그램 (bowtie)을 여러 번 실행 한 다음 다른 방법으로 출력을 사용해야합니다. 이를 위해 subprocess.call을 사용하고 있습니다.파이썬에서 subprocess.call을 사용하는 멀티 파일 stdin (bowtie 용)
문제는 bowtie가 입력 파일 2 개, 색인 및 텍스트 파일을 가져오고 둘 다 stdin 매개 변수에 할당 할 수 없다는 것입니다.
또한 args에 색인 경로를 포함 시키려고했지만 bowtie는 색인으로 인식하지 못하고 오류가 발생합니다. Sincer이 색인은 항상 동일합니다.이 문제를 피할 수있는 방법이 있습니까?
여기에 내가 (매우 원시)에서 일하고 있어요 코드의 일부 :
이inpath = "/media/2tbhd/workdata/nanocage_noadapt/zf/fasta/zf_ad_c_r2.fasta"
ind_path = "indexes/zf_gen_topl"
for elem in plist:
cmd = subprocess.call(["bowtie","-f","-v 3", "--best" "--suppress 6,7" "-p 6"], shell = True, stdin = inpath, ind_path)
커맨드 라인에서'bowtie'를 어떻게 부르시겠습니까? 내가 아는 프로그래밍 언어로 stdin에 두 파일을 할당 할 수는 없습니다 ... – mgilson
"물론 bowtie가 색인으로 인식하지 못하여 오류가 발생합니다"- 어떤 오류 메시지가 특별히 나옵니까? –
bowtie를 원하는 방식으로 호출하는 일반 셸 명령을 작성하고 작동하는지 확인하십시오. 작동하는 경우 여기에 붙여 넣기 만하면 subprocess.call 함수로 변환하는 방법을 쉽게 알 수 있습니다. 작동하지 않으면 나는 bowtie로 잘못한 것을 알아낼 수 있습니다. – weronika