0

Python スクリプト内で bash スクリプトを実行する際に問題がありますscript.py

import os
bashCommand = """
sed "s/) \['/1, color=\"#ffcccc\", label=\"/g" list.txt | sed 's/\[/    GraphicFeature(start=/g' | sed 's/\:/, end=/g' | sed 's/>//g' | sed 's/\](/, strand=/g' | sed "s/'\]/\"),/g" >list2.txt"""

os.system("bash %s" % bashCommand)

これを として実行するpython script.pyと noと書かれていますが、ターミナルでは、ネイティブの macOS bash ではなくlist2.txt内部にいることがわかります。bash-4.4

これを引き起こす可能性のあるアイデアはありますか?

上に投稿したスクリプトは、より大きなスクリプトの一部であり、最初にファイルを読み込んで出力しますlist.txt

編集: ここにいくつかの詳細な説明があります。最初の python スクリプトでは、ファイル (具体的には genbank ファイル) を解析して、項目 (場所、ストランド、名前) を含むリストを に書き出しましたlist.txt。これlist.txtは、2 番目の Python スクリプトで解析できるように変換する必要があるため、sed.

list.txt

[0:2463](+) ['bifunctional aspartokinase/homoserine dehydrogenase I']
[2464:3397](+) ['Homoserine kinase']
[3397:4684](+) ['Threonine synthase']

希望する出力のように見えるように:、すべての角かっこを置き換える必要があります。'list2.txt

    GraphicFeature(start=0, end=2463, strand=+1, color="#ffcccc", label="bifunctional aspartokinase/homoserine dehydrogenase I"),
    GraphicFeature(start=2464, end=3397, strand=+1, color="#ffcccc", label="Homoserine kinase"),
    GraphicFeature(start=3397, end=4684, strand=+1, color="#ffcccc", label="Threonine synthase"),
4

1 に答える 1