| PERINGATAN: Repositori ini telah digunakan untuk mendukung https://github.com/cusbg/prankweb! Harap ajukan masalah apa pun di sana! |
|---|
Repositer ini berisi aplikasi web Prankweb. Dalam file ini, kami menjelaskan cara mengatur server Prankweb dan menggambarkan Prankweb REST API.
Terima kasih banyak kepada penulis P2Rank, Litemol, Pretael, Wildfly dan banyak perpustakaan dan alat lainnya yang kami gunakan dalam proyek ini
Instal Node.js dan Gradle (Anda juga akan membutuhkan Java).
Klon Repositori ini termasuk semua submodul:
git clone --recursive https://github.com/jendelel/PrankWebApp.gitSekarang, Anda membangun prankweb menggunakan perintah ini:
./gradlew clean warIni akan menyusun semua submodul dan membuat file root.war di direktori build/lib.
Untuk benar -benar, jalankan PrankWeb Server, Anda harus mengunduh dan membongkar server aplikasi JBoss Wildfly dari http://wildfly.org/downloads/ dan mengatur variabel lingkungan jboss_home ke jalur liar.
Prankweb membutuhkan jalur ke direktori tempat menyimpan file yang diunggah dll. Semuanya disimpan di direktori, kami akan menyebutnya PrankData . Direktori ini berisi file prankweb.properties , yang berisi semua jalur dan konfigurasi yang diperlukan. File berisi pasangan (kunci dan nilai). Anda harus mengatur properti berikut:
Anda juga dapat menentukan:
Kami merekomendasikan untuk menyimpan semua data di direktori PrankData . Buat tautan simbolis di jboss_home/mandiri/data/prankweb menunjuk ke direktori prankdata menggunakan perintah ini:
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 Karena server berjalan P2Rank secara internal, harap tingkatkan batas memori dalam $JBOSS_HOME/bin/standalone.conf di linux atau %JBOSS_HOME%/bin/standalone.conf.bat pada windows untuk mengubah batas, ubah opsi -xmx dalam pernyataan java_opts menjadi setidaknya 1024m untuk contoh:
JAVA_OPTS= " -Xms64m -Xmx1024m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true " Untuk mengaktifkan kompresi GZIP dari server web, tambahkan dua baris berikut yang ditandai dengan dua asterik ke file $JBOSS_HOME/standalone/configuration/standalone.xml :
...
< 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 >
... Setelah Anda mengatur JBoss Wildfly, cukup jalankan jboss_home gradle deploy bin/ JBOSS_HOME/standalone/deployments JBOSS_HOME/bin/standalone{.sh|.bat} dan salin file ROOT.war .
Untuk menjalankan server pada port 80 tanpa hak pengguna super, silakan lihat: https://serverfault.com/questions/112795/how-end-run-a-server-on-port-80-as-a-normal-user-on-linux
Brifly: Jalankan Port Reroute Command End ini 8080 END 80: sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
URIS (pengidentifikasi sumber daya yang seragam) Ikuti Pola / API / origin / type / id , di mana origin merupakan upload atau id yang mengidentifikasi apakah file PDB asli diunggah oleh pengguna atau diunduh dari bank data. type menunjukkan jenis file yang diminta oleh pengguna. Terakhir, id adalah kode identifikasi PDB atau string identifikasi yang dihasilkan oleh server setelah file PDB khusus diunggah. Kami melayani semua data berikut untuk setiap protein atau protein yang diunggah dari Bank Data Protein (PDB) melalui metode GET - Jenisnya dinyatakan dalam tanda kurung:
pdb ) - File asli yang menggambarkan protein yang diterima dari pengguna atau dari databasemsa ) - Penyelarasan Urutan Berganda (MSA) untuk setiap rantai protein.hom ) - Skor konservasi yang dihitung dari setiap file MSA.csv ) - File JSON (Notasi Objek JavaScript) yang dihasilkan oleh P2Rank yang berisi hasil prediksi.seq ) - File JSON dengan urutan protein dan skor konservasinya.vis ) - P2Rank juga menghasilkan skrip Pymol untuk visualisasi offline.all ) - File Zip yang berisi semua file yang tercantum di atas. File protein khusus juga dapat diserahkan untuk analisis melalui permintaan pasca. URI adalah: /analyze/file_upload . Permintaan harus menyandikan file PDB dengan pengidentifikasi pdbfile, boolean doconservation yang menunjukkan apakah skor konservasi harus dihitung. Secara opsional, file PDBID atau MSA yang diakhiri dengan .fasta dapat dimasukkan untuk mempercepat analisis. Balas dari server berisi kode identifikasi yang dihasilkan yang dapat digunakan untuk mendapatkan permintaan lebih lanjut.