| 警告:このリポジトリは、https://github.com/cusbg/prankwebを支持して廃止されました!問題を提出してください! |
|---|
このリポジタリタには、PrankWeb Webアプリケーションが含まれています。このファイルでは、PrankWebサーバーをセットアップし、PrankWeb REST APIを説明する方法を説明します。
P2Rank、Litemol、Protael、Wildfly、およびこのプロジェクトで使用している他の多くのライブラリやツールの著者に感謝します
node.jsとgradleをインストールします(Javaも必要になります)。
すべてのサブモジュールを含むこのリポジトリをクローンします。
git clone --recursive https://github.com/jendelel/PrankWebApp.gitこれで、このコマンドを使用してprankwebを作成します。
./gradlew clean warこれにより、すべてのサブモジュールをコンパイルし、build/libsディレクトリにroot.warファイルを作成します。
実際に、PrankWebサーバーを実行するには、http://wildfly.org/downloads/からJBoss Wildflyアプリケーションサーバーをダウンロードして解凍する必要があります。
PrankWebには、アップロードされたファイルなどを保存する場所ディレクトリへのパスが必要です。すべてがディレクトリに保存されますPrankDataと呼びます。このディレクトリには、必要なすべてのパスと構成が含まれるprankweb.propertiesファイルが含まれています。ファイルにはペア(キーと値)が含まれています。次のプロパティをセットアップする必要があります。
指定することもできます。
すべてのデータをPrankDataディレクトリに保存することをお勧めします。 jboss_home/standalone/data/prankwebでシンボリックリンクを作成します。これらのコマンドを使用してprankdataディレクトリを指します。
Windows:
cd /d %JBOSS_HOME% s tandalone d ata
mklink /D PrankWeb {path to PrankData directory}Linux:
cd $JBOSS_HOME /standalone/data
ln -s -d {path to PrankData directory} PrankWebサーバーは内部でp2rankを実行しているため、Linuxまたは%JBOSS_HOME%/bin/standalone.conf.batの$JBOSS_HOME/bin/standalone.confのメモリ制限を増やしてください。
JAVA_OPTS= " -Xms64m -Xmx1024m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true " WebサーバーのGZIP圧縮を有効にするには、 $JBOSS_HOME/standalone/configuration/standalone.xmlファイルに2つのアスタックスでマークされたこれら2つの次の行を追加します。
...
< subsystem xmlns = " urn:jboss:domain:undertow:3.1 " >
< buffer-cache name = " default " />
< server name = " default-server " >
< http-listener name = " default " socket-binding = " http " redirect-socket = " https " enable-http2 = " true " />
< https-listener name = " https " socket-binding = " https " security-realm = " ApplicationRealm " enable-http2 = " true " />
< host name = " default-host " alias = " localhost " >
< location name = " / " handler = " welcome-content " />
< filter-ref name = " server-header " />
< filter-ref name = " x-powered-by-header " />
**< filter-ref name = " gzipFilter " predicate = " regex[pattern='(?:application/javascript|text/css|text/html|text/plain)(;.*)?', value=%{o,Content-Type}, full-match=true] " />**
</ host >
</ server >
< servlet-container name = " default " >
< jsp-config />
< websockets />
</ servlet-container >
< handlers >
< file name = " welcome-content " path = " ${jboss.home.dir}/welcome-content " />
</ handlers >
< filters >
< response-header name = " server-header " header-name = " Server " header-value = " WildFly/10 " />
< response-header name = " x-powered-by-header " header-name = " X-Powered-By " header-value = " Undertow/1 " />
**< gzip name = " gzipFilter " />**
</ filters >
</ subsystem >
...jboss wildflyをセットアップした後、 JBOSS_HOME/bin/standalone{.sh|.bat}を実行し、 ROOT.warファイルのend JBOSS_HOME/standalone/deploymentsをコピーするか、 gradle deployコマンドを実行します。プロジェクトディレクトリを開始します。
スーパーユーザーの権利なしでポート80でサーバーを実行するには、https://serverfault.com/questions/112795/how-end-run-a-server-on-port-80-as-a-normal-user-on-linuxをご覧ください
Brifly:このコマンドエンドReroute Port 8080 End 80を実行する: sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
URIS(ユニフォームリソース識別子)は、パターン / API / origin / type / idに従います。これは、 originのPDBファイルがユーザーによってアップロードuploadれたか、Data BankからダウンロードされたかどうかをAPI / ORIGIN / TYPE / idにします。このtypeユーザーが要求するファイルのタイプを示します。最後に、 id 、カスタムPDBファイルがアップロードされた後にサーバーによって生成されたPDB識別コードまたは識別文字列のいずれかです。 GETメソッドを介して、タンパク質データバンク(PDB)からアップロードされたタンパク質またはタンパク質ごとに次のすべてのデータを提供します。タイプは括弧内に記載されています。
pdb ) - ユーザーまたはデータベースから受信したタンパク質を説明する元のファイルmsa ) - タンパク質の各鎖の複数シーケンスアラインメント(MSA)。hom ) - 各MSAファイルから計算された保全スコア。csv ) - 予測結果を含むP2RANKによって生成されたJSON(JavaScriptオブジェクト表記)ファイル。seq ) - タンパク質配列とその保存スコアを備えたJSONファイル。vis ) - P2RANKは、オフライン視覚化のためのPymolスクリプトも生成します。all ) - 上記のすべてのファイルを含むzipファイル。カスタムプロテインファイルは、POSTリクエストを通じて分析のために提出することもできます。 URIは: /analyze/file_uploadです。リクエストは、保存スコアを計算する必要があるかどうかを示す識別子PDBFILE、ブールドコンサベーションを使用してPDBファイルをエンコードする必要があります。オプションで、.Fastaで終了するPDBIDまたはMSAファイルを含めて、分析を加速できます。サーバーからの返信には、さらにGETリクエストに使用できる生成された識別コードが含まれています。