Python で ete3 パッケージを使用して、確率モデルで生成したデータから系統樹を構築していますが、うまく機能します。以前にこれらのツリーを newick 形式で作成し、Dendropy パッケージで別のスクリプトを使用して、これらのツリーを読み取り、分析を行いました。これらのスクリプトは両方とも正常に動作します。
私は現在、この種のデータ処理を大量に実行しようとしており、ファイルの書き込みをスキップする単一のスクリプトを作成したいと考えています。どちらのメソッドも Tree と呼ばれるので、次のように dendropy メソッドをインポートすることでこれを回避しました。
from dendropy import Tree as DTree
そして、次のようなete3メソッド:
from ete3 import Tree
これは大丈夫だと思われます。
私が持っている質問は、あるパッケージから別のパッケージにオブジェクトを渡す方法です。最初に ete3 メソッドを使用してツリー オブジェクトを構築するループがあり、それを 't' と呼びます。私の計画では、ete3 で Tree.write メソッドを使用して、次のように「get」メソッドを使用し、実際の出力ファイル ビットをスキップして、ツリー オブジェクトを Dendropy に渡すことでした。
treePass = t.write(format = 1)
DendroTree = DTree.get(treePass, schema = 'newick')
しかし、これはエラーを与えます:
DendroTree = DTree.get(treePass)
TypeError: get() takes 1 positional argument but 2 were given
どんな考えでも大歓迎です。