3

これは、スタック オーバーフローに関する完全にユニークな質問だと思います。最初の背景:

BRCAPRO (brack-a-pro) と呼ばれる計算エンジンの上に新しい GUI を作成するように依頼されました。BRCAPRO は、BayesMendel と呼ばれるソフトウェアに基づくメンデル計算モデルを実装しています。BRCAPRO 計算は、がん治療を専門とする医師や外科医が患者に次のことを示すために使用されます。

  • 遺伝学と家族歴に基づいてがんと診断される確率。
  • さまざまな治療形態および/またはこれらの治療を開始する年齢に基づく平均余命の変化。

私は十分な調査を行った結果、BRCAPRO 式が複雑すぎて自分のコードに合理的に実装できないことを知りました。

CancerGene と呼ばれる (がんの医師に) よく知られている既存のソフトウェア パッケージがあります: http://www8.utsouthwestern.edu/utsw/cda/dept47829/files/65844.html。このプログラムは非常に古いもので、Windows 95 で実行され、クライアントが対応していないいくつかの形態の癌の計算エンジンが含まれています。理想的には、私のクライアントがアプリケーションを Web 上で実行して、他の医師と簡単に情報を共有できるようにしたいと考えています。

私のタスクは、BRCAPRO エンジン上に構築された CancerGene アプリケーションを使用することです。

  1. その機能の 90% を複製する
  2. 不要な機能を削除する
  3. レポートの出力を変更する
  4. できればWebベースにする

今私の質問:

BRCAPROに対してコーディングする方法を知っている人はいますか? 私は 2 日間 Google で検索しましたが、API ドキュメントや開発情報は一切見つかりませんでした。ウィキペディアによると、BayesMendel モデリング ソフトウェアは R で書かれていますが、BRCAPRO がどの言語で書かれているかはわかりません。R についてはまったく知りません。

明確にするために、BRCAPRO の動作や計算エンジンを変更する必要はありません。数値を返すように入力する方法を知る必要があるだけです。

-- 編集してさらに情報を追加 --

上記のリンクで CancerGene アプリケーションをダウンロードし、インストールしました。BRCAPRO が受信することを期待するデータ形式を含む少量のドキュメントがありました。不必要な詳細レベルに入ることなく、BRCAPRO は、各列が遺伝形質を表し、各行が家族のメンバーを表すマトリックス形式のデータを想定しています。Web/Windows フォームからマトリックスを収集したら、このマトリックスを BRCAPRO エンジンに渡す方法を知る必要があります。

Stack Overflow に 2 人の医師/開発者がいるといいのですが!

KN

4

2 に答える 2

2

このリンクによると:

BRCAPRO モデルは、キャリア確率 [sic] 予測用の R パッケージ BayesMendel に含まれるようになりました。

Rから使っているようです。

そして、少なくともBayesMendelパッケージのドキュメンテーションは、あなたを始めるきっかけになるかもしれません。Rを学ぶ必要があるように見えますが:)

于 2009-02-16T09:43:18.207 に答える
1

完全なアプリケーションのコードを小さなウィンドウに収めることができる人はいないと思いますが、これにどのようにアプローチできるかを基に、いくつかの考えを述べます。

  1. インストールR
  2. BayesMendelパッケージのインストール-- これにはBRCAPROルーチンが含まれます
  3. インストールRPy-- Python-to-R ブリッジ
  4. データを に取り込み、それをデータ フレームに変換し、 のコンポーネントを使用してデータ フレームを分析するための にRPy基づくPythonコードを記述します。RBRCAPROBayesMendel
  5. の分析出力を作成BayesMendelしたbrcaResultsクラスにブリッジする
  6. brcaResults多くの Python GUI フレームワークのいずれかを使用して、クラスへのアクセサーを GUI でラップします。

これは、これを行う 1 つの方法の概要です。

このアプローチの良いところは、簡単に結合して新しいBRCAPRO機能を最新の状態に保つことができることです。

于 2009-02-25T12:31:12.673 に答える