| تحذير: تم إهمال هذا المستودع لصالح https://github.com/cusbg/prankweb! يرجى تقديم أي مشكلات هناك! |
|---|
هذا المعادلية تحتوي على تطبيق الويب PrankWeb. في هذا الملف ، نوضح كيفية إعداد خادم PrankWeb ووصف API PrankWeb Rest.
شكراً جزيلاً لمؤلفي P2Rank و Litemol و Protael و Wildfly والعديد من المكتبات والأدوات الأخرى التي نستخدمها في هذا المشروع
تثبيت Node.js و Gradle (ستحتاج أيضًا إلى Java).
استنساخ هذا المستودع بما في ذلك جميع النسيجية الفرعية:
git clone --recursive https://github.com/jendelel/PrankWebApp.gitالآن ، يمكنك بناء prankweb باستخدام هذا الأمر:
./gradlew clean warسيؤدي ذلك إلى تجميع جميع العوامل الفرعية وإنشاء ملف root.war في دليل Build/LIBS.
في الواقع ، Run PrankWeb Server ، ستحتاج إلى تنزيل وتفريغ خادم تطبيق JBoss Wildfly من http://wildfly.org/downloads/ وإعداد Envirnment متغير JBOSS_HOME إلى مسار 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}لينكس:
cd $JBOSS_HOME /standalone/data
ln -s -d {path to PrankData directory} PrankWeb نظرًا لأن الخادم يعمل P2Rank داخليًا ، يرجى زيادة حد الذاكرة في $JBOSS_HOME/bin/standalone.conf على linux أو %JBOSS_HOME%/bin/standalone.conf.bat
JAVA_OPTS= " -Xms64m -Xmx1024m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true " لتمكين ضغط GZIP لخادم الويب ، أضف هذين الأسطرين التاليين المميزين بإنشاءين إلى $JBOSS_HOME/standalone/configuration/standalone.xml file:
...
< 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 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: قم بتشغيل هذا الأمر end end 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 إما upload أو id يحدد ما إذا كان ملف PDB الأصلي قد تم تحميله بواسطة المستخدم أو تنزيله من بنك البيانات. يشير type إلى نوع الملف الذي طلبه المستخدم. أخيرًا ، id هو إما رمز تعريف PDB أو سلسلة التعريف التي تم إنشاؤها بواسطة الخادم بعد تحميل ملف PDB مخصص. نحن نخدم جميع البيانات التالية لكل بروتين أو بروتين تم تحميله من بنك بيانات البروتين (PDB) عبر طريقة GET - يتم ذكر النوع بين قوسين:
pdb ) - الملف الأصلي الذي يصف البروتين المستلم من مستخدم أو من قاعدة البياناتmsa ) - محاذاة تسلسل متعددة (MSA) لكل سلسلة من البروتين.hom ) - درجات الحفظ المحسوبة من كل ملف MSA.csv ) - ملف JSON (تدوين كائن JavaScript) الذي تم إنشاؤه بواسطة P2Rank يحتوي على نتائج التنبؤ.seq ) - ملف JSON مع تسلسل البروتين وعشرات الحفظ.vis ) - P2Rank يولد أيضًا نصًا Pymol لتصور غير متصل.all ) - ملف مضغوط يحتوي على جميع الملفات المذكورة أعلاه. يمكن أيضًا إرسال ملف البروتين المخصص للتحليل من خلال طلب البريد. URI هو: /analyze/file_upload . يجب أن يقوم الطلب بتشفير ملف PDB باستخدام معرف PDBFile ، و doconservation المنطقي يشير إلى ما إذا كان ينبغي حساب درجات الحفظ. اختياريا ، يمكن تضمين ملفات PDBID أو MSA التي تنتهي مع .fasta لتسريع التحليل. يحتوي الرد من الخادم على رمز التعريف الذي تم إنشاؤه والذي يمكن استخدامه لمزيد من الطلبات.