أكثر

تشغيل أداة مربع أدوات Python كلاهما مستقل من أدوات أخرى ضمن نفس مربع أدوات Python؟


لقد أنشأت صندوق أدوات Python للعمل الذي يحتوي على أداتين في الداخل. تستخدم هذه الأدوات قالب مربع الأدوات وبالتالي يكون لديك ملف فيهو getParameterInfo وما إلى ذلك.

أريد أن أكون قادرًا على تشغيل أداة واحدة قائمة بذاتها واستدعائها داخل أدوات أخرى داخل صندوق الأدوات هذا. لا يمكنني الحصول على المعلمات صحيحة بالرغم من ذلك.

class foo (object) def __init __ (self) #stuff def getParameterInfo (self): # معلمات قائمة لأداة واجهة المستخدم def تنفيذ (self ، parameters ، messages) معلمة الطباعة [0] شريط فئة إرجاع (كائن) def __init __ (self) # stuff def getParameterInfo (self): # list parameters for UI tool defecute (self، parameters، messages) foo ("hello، world) return

لقد حاولت إضافة معلمة إلى فيه(self، parameter) or the foo class لكن لا يمكنني تشغيلها.

أنا جديد في البرمجة الشيئية (OOP) و ArcGIS بشكل عام.


أبسط خيار هو أن يكون لديك ملفنفذ - اعدمطريقة استدعاء دالة بدلا من القيام بالمعالجة الفعلية. هذا يجعله قابلاً للاستدعاء بسهولة بواسطة أي أداة.

class Foo (object) def __init __ (self) #stuff def getParameterInfo (self): # قائمة معلمات لأداة واجهة المستخدم def تنفيذ (self ، parameters ، messages) somefunc (معلمات [0] .value ، معلمات [1] .value) فئة Bar (object) def __init __ (self) #stuff def getParameterInfo (self): # قائمة معلمات لأداة UI tool def تنفيذ (self ، parameters ، messages): somefunc (معلمات [0] .value ، معلمات [1] .value) anotherfunc (المعلمات [2] .value، parameters [3] .value) إرجاع def somefunc (arg1، arg2): # do something return def anotherfunc (arg1، arg2): # do something else return

إذا كنت تريد تضمين هذه الوظائف في فئات الأدوات:

class Foo (object) def __init __ (self) #stuff def getParameterInfo (self): # معلمات قائمة لأداة UI ، def تنفيذ (self ، parameters ، messages) self.somefunc (parameters [0] .value، parameters [1] .value ) def somefunc (self، arg1، arg2): # do something return class Bar (object) def __init __ (self) #stuff def getParameterInfo (self): # list parameters for UI tool def execute (self، parameters، messages): foo = Foo () foo.somefunc (المعلمات [0] .value ، المعلمات [1] .value) self.anotherfunc (المعلمات [2] .value ، المعلمات [3] .value) إرجاع def anotherfunc (self، arg1، arg2) : # تفعل شيئا آخر يعود

ما هي أداة (أدوات) البناء التي توصي بها للبيثون؟ [مغلق]

تريد تحسين هذا السؤال؟ قم بتحديث السؤال بحيث يكون & # 39s على الموضوع لـ Stack Overflow.

أنا أبدأ مشروع بيثون صغير / متوسط ​​الحجم ، من المحتمل أن يكون في مرحلة تطوير يحركها الاختبار. خلفياتي في C و java أكثر من بيثون (لقد استخدمت نملة و makefile)

أعلم أنه في Python قد لا تحتاج إلى أداة بناء ، لكنني سأستخدمها ، لأنني سأستخدم cython و PyInstaller (يجب أن يعمل الشيء على اثنين من UNIXes المختلفة ، دون الاعتماد بشكل مباشر على python) وأريد الراحة لاختيار نموذج الاختبارات CLI ، وبناء المستندات ، وربما التحقق من التبعيات ، وما إلى ذلك.

يشتكي شخص ما من أن الثعبان يفتقر إلى أداة تشبه الماكينة. أعلم أن هناك عددًا قليلاً من الأدوات ، مثل scon و paver ، لكني أود أن أسمع من مستخدمين حقيقيين وليس فقط موقع الويب الخاص بهم. هل يستخدم أي شخص رصف؟

ماذا عن الإعداد المعتاد الذي يأتي مع العديد من الحزم؟ لقد بحثت في عدد قليل لمعرفة ما إذا كان هناك استخدام شائع ، لكنني لم أجد أي شيء مثير للاهتمام (ربما استخدمت الأمثلة الخاطئة)

هل تنصح بالالتزام بالأشياء التي أعرفها بالفعل (نملة وماكيفيل) على الأقل للبدء؟ إذا كان الأمر كذلك ، فهل هناك أي امتداد نملة تنصح به لبيثون (+ cython + pyinstaller + pyUnit)؟

تحرير: لتجنب المزيد من الإجابات مثل إجابات jwp ، لاحظ أنه بالنسبة لهذا المشروع ، أحتاج تمامًا إلى أن يكون برنامجي قابلاً للتنفيذ بذاته لأنه مطلق تمامًا مستحيل للحصول على Python VM على النظام الأساسي المستهدف حيث سيتم تشغيل الملف القابل للتنفيذ. لدي بالضبط نفس الطريقة المتاحة للتجميع ، لذلك لحسن الحظ لست بحاجة إلى التحويل البرمجي (لكنني سأقوم بالتطوير على نظام Linux أكثر ودية).

أرغب أيضًا في اختبار ما إذا كانت الكود الخاص بي قد تم تجميعه في Cython من البداية ، وليس للتحسين المبكر ، ولكن فقط للتأكد من أنني لن أذهب بعيدًا في استخدام الميزات غير المتوافقة ، الأمر الذي سيتطلب إعادة بناء مؤلم إذا ستكون هناك حاجة ماسة.


هذه مشكلة بعد قيام Visual Studio بتحديث للتحسين.

لقد أكدت أن الإصلاح هو:

فتح عنصر القائمة: - أدوات - خيارات - بيئة - في علامة التبويب "عام" - تعطيل / إلغاء تحديد - "تحسين العرض للشاشات ذات كثافة البكسل المختلفة"

أنا أستخدم visual studio 2017 ، لاستعادة مربع أدوات SSIS ، انقر بزر الماوس الأيمن على سطح تصميم SSIS في المشروع وحدد SSIS Toolbox ، يرجى الاطلاع على هذا الرابط. هذا حلها بالنسبة لي

الصورة تساوي ألف كلمة

أعتقد أنه يجب عليك تنزيل وتثبيت ملحق مشروعات خدمات التكامل:

نظرًا لأنه في Visual Studio 2019 ، بالنسبة لخدمات التحليل أو خدمات التكامل أو مشاريع خدمات التقارير ، يجب عليك تثبيت الامتدادات (الإضافات) المناسبة من السوق.

يمكنك الرجوع إلى الوثائق الرسمية التالية للحصول على معلومات إضافية:


أنا سعيد جدًا لأنك سألت! كنت أعمل فقط على شرح هذا الشيء بالذات في كتابنا wikibook (والذي من الواضح أنه غير مكتمل). نحن نعمل مع مبتدئين في بايثون ، وكان علينا مساعدة القليل من خلال ما تطلبه بالضبط!

سطر الأوامر Python في Windows:

احفظ ملف شفرة Python الخاص بك في مكان ما ، باستخدام "حفظ" أو "حفظ باسم" في المحرر الخاص بك. لنسميها "first.py" في مجلد ما ، مثل "pyscripts" التي تنشئها على سطح المكتب.

افتح استدعى (قشرة Windows 'cmd' عبارة عن واجهة نصية في الكمبيوتر):

ابدأ> تشغيل> "cmd" (في المربع الصغير). نعم.

انتقل إلى مكان وجود ملف python الخاص بك ، باستخدام الأمرين cd (تغيير الدليل) و 'dir' (لإظهار الملفات في الدليل ، للتحقق من رأسك). على سبيل المثال لدينا شيء مثل ،

> cd C: Documents and Settings Gregg Desktop pyscripts

لم يتم التعرف على 'python' كأمر داخلي أو خارجي أو برنامج قابل للتشغيل أو ملف دفعي.

ومن بعد الثعبان (ال مترجم البرنامج الذي يمكنه ترجمة Python إلى "تعليمات الكمبيوتر") ليس في طريقك (انظر وضع Python في مسارك أدناه). ثم حاول تسميته بهذا الشكل (بافتراض أن Python2.6 مثبت في الموقع المعتاد):

(المستخدمون المتقدمون: بدلاً من first.py ، يمكنك كتابة المسار الكامل لـ first.py لـ C: Documents and Settings Gregg Desktop pyscripts first.py)

وضع بايثون في طريقك

لتشغيل البرامج ، يبحث نظام التشغيل الخاص بك في أماكن مختلفة ، ويحاول مطابقة اسم البرنامج / الأمر الذي كتبته مع بعض البرامج على طول الطريق.

لوحة التحكم> النظام> المتقدم> | المتغيرات البيئية | > متغيرات النظام -> المسار

يجب أن يتضمن هذا: C: Python26 (أو ما يعادله). إذا وضعته في المقدمة ، فسيكون أول مكان يتم البحث فيه. يمكنك أيضًا إضافته في النهاية ، والذي ربما يكون أكثر صحة.

ثم أعد تشغيل الموجه ، وحاول كتابة "python". إذا نجح كل شيء ، يجب أن تحصل على موجه ">>>".


واجهات المستخدم

بالنسبة لواجهات المستخدم ، لديك ثلاثة خيارات:

  • يمكنك بسهولة استخدام الحوارات العامة والقوائم الأصلية من خلال واجهة برمجة التطبيقات. هذا مفيد لمحاورات التأكيد وإدخالات المستخدم الأساسية الأخرى.
  • يمكنك أيضًا فتح عرض ويب من داخل نص برمجي Python ، ثم استخدام HTML5 لواجهة المستخدم. عندما تستخدم عروض الويب من Python ، يمكنك تمرير الرسائل ذهابًا وإيابًا ، بين عرض الويب وعملية Python التي أنتجت ذلك. لن تكون واجهة المستخدم أصلية ، لكنها لا تزال خيارًا جيدًا.
  • هنالك بعض دعم واجهات مستخدم Android الأصلية ، لكنني لست متأكدًا من مدى نجاحها ولم أستخدمها من قبل.

يمكنك مزج الخيارات ، بحيث يمكنك الحصول على عرض ويب للواجهة الرئيسية ، مع الاستمرار في استخدام الحوارات الأصلية.


التثبيت الصامت على Windows

يتم إجراء التثبيت الصامت بدون أي واجهة مستخدم. يمكن استخدامه من قبل مسؤولي الشبكة لتثبيت PyCharm على عدد من الأجهزة وتجنب مقاطعة المستخدمين الآخرين.

لإجراء تثبيت صامت ، قم بتشغيل المثبت باستخدام المفاتيح التالية:

/ CONFIG: حدد المسار إلى ملف التكوين الصامت

/ D: حدد المسار إلى دليل التثبيت

يجب أن تكون هذه المعلمة هي الأخيرة في سطر الأوامر ويجب ألا تحتوي على أي علامات اقتباس حتى إذا كان المسار يحتوي على مسافات فارغة.

للتحقق من وجود مشكلات أثناء عملية التثبيت ، أضف رمز التبديل / LOG مع مسار ملف السجل والاسم بين المعلمات / S و / D. سيقوم المثبت بإنشاء ملف السجل المحدد. على سبيل المثال:

ملف التكوين الصامت

يحدد ملف التكوين الصامت خيارات تثبيت PyCharm. باستخدام الخيارات الافتراضية ، يتم تنفيذ التثبيت الصامت فقط للمستخدم الحالي: mode = user. إذا كنت ترغب في تثبيت PyCharm لجميع المستخدمين ، فقم بتغيير قيمة خيار وضع التثبيت إلى mode = admin وقم بتشغيل المثبت كمسؤول.

ملف التكوين الافتراضي الصامت فريد لكل منتج من منتجات JetBrains. يمكنك تعديله لتمكين أو تعطيل خيارات التثبيت المختلفة حسب الضرورة.

من الممكن إجراء تثبيت صامت بدون ملف التكوين. في هذه الحالة ، احذف مفتاح التبديل / CONFIG وقم بتشغيل المثبت كمسؤول. بدون ملف التكوين الصامت ، سيتجاهل المثبت جميع الخيارات الإضافية: لن يقوم بإنشاء اختصارات سطح المكتب أو إضافة اقترانات أو تحديث متغير PATH. ومع ذلك ، سيستمر إنشاء اختصار في قائمة "ابدأ" ضمن JetBrains.


قم بإلغاء تثبيت / تعطيل CodeRush أو كل ملحق آخر واحدًا تلو الآخر حتى يعمل بشكل جيد. معظم الوقت واحد منهم هو المشكلة.

لدي نفس الإعداد معك ، في حالتي كان DxCore

حسنًا ، السؤال أقدم قليلاً ، ولكن من أجل الاكتمال: لست بحاجة إلى إلغاء تثبيت أي شيء.

  1. ابدأ الاستوديو المرئي من سطر الأوامر باستخدام: devenv.exe / SafeMode
  2. قم بتثبيت العنصر في مربع الأدوات باستخدام الإجراء الشائع (اختر العناصر.)

مقابل لا ينبغي أن تتحطم بهذه الطريقة. بعد إعادة تشغيل الاستوديو المرئي بدون مفتاح SafeMode ، تظل العناصر المضافة متاحة.

بالنسبة لي كان Visual Studio 2008 Power Commands

تعديل: لقد واجهت أيضًا هذه المشكلة مع امتدادات مجانية أخرى. أنا ببساطة لا أتذكر أيهما كان:

تحرير 2: لقد تذكرت للتو ، لقد قمت بتثبيت الإصدار التجريبي 2 أو 2 من SilverLight Tools. هذا تسبب في هذه المشكلة. كما أنه أفسد DataAnnotations بإصدار أقدم وأفسد Entity Framework بالنسبة لي. انتهى بي الأمر إلى إعادة تثبيت جهازي.


تشغيل أداة مربع أدوات Python كلاهما مستقل من أدوات أخرى ضمن نفس مربع أدوات Python؟ - نظم المعلومات الجغرافية

ترتبط المجلدات المخزنة هنا بالمجلدات الموجودة في تثبيت Galaxy القياسي. يتم تضمين ملفات الأدوات (كل من الكود الأصلي وأغلفة xml) لتحليل Metabolomics وملفات تكوين Galaxy من تثبيت عملي لـ Galaxy. لم يتم تغيير جميع ملفات التكوين ، ولكن تم تضمينها جميعًا هنا للتأكد من اكتمالها.

إصدار Galaxy الذي تم اختبار هذه الملفات عليه هو من فرع Master على Github: الالتزام c429777c93680dcee449fe410f5360afbe673758.

إصدار MI-Pack الذي يستخدمه منشور GigaScience هو Github الالتزام: 06ce0ace643ee1cf1d27550769a5272b7ea50825

التوفر والمتطلبات

### لغات البرمجة (تم استخدام الإصدارات المعطاة للتطوير ، وقد تكون الإصدارات الأخرى متوافقة أيضًا):

### أي قيود للاستخدام من قبل غير الأكاديميين:

### آلة افتراضية مثبتة مسبقًا (خاصة بالمنشورات) تم إنشاء تطبيق آلة افتراضية لدعم إعادة الاستخدام من قبل المجتمع بالإضافة إلى العمل كلقطة من قابلية استنساخ العمل في منشور GigaScience. سيكون هذا متاحًا عبر مستودع GigaDB (تتبع تفاصيل الانضمام). يمكنك استخدام VM في برنامج VMWare أو VirtualBox ، وهناك قرص ثابت افتراضي واحد (ملف VMDK) يناسب كلا النظامين ، ولكن كان علينا إنشاء ملفات بيانات وصفية منفصلة لكل (ملفات MF و OVF). للاستيراد إلى أي نظام ، تحتاج إلى أن يكون VMDK في نفس المجلد مثل ملف MF و OVF ذي الصلة.

يمكن العثور أدناه على تعليمات التثبيت لإعادة إنشاء الجهاز الظاهري. إنها معقدة للغاية ويمكن أن تنطوي على الكثير من استكشاف الأخطاء وإصلاحها ، لذلك يُنصح بالعمل مباشرة من الجهاز الظاهري حيثما أمكن ذلك. سنهدف إلى مشاركة الجهاز الظاهري عبر Amazon AWS للوصول إليه دون تنزيل. تثبيت GalaxyM به مستخدم مسجل بالفعل وتم تخزين / نشر مسارين للعمل. إذا كنت ترغب في الوصول إلى حساب المستخدم الأصلي ، فإن تفاصيل تسجيل الدخول هي:

موقع البيانات في العمل المنشور:

عند تسجيل الدخول كمستخدم galaxym على نظام Ubuntu ، يمكن العثور على Mass Spectra في:

تستخدم خطوط الأنابيب / سير العمل أيضًا ملفات CSV للحصول على إرشادات معينة ويمكن العثور عليها في مجلد GalaxyM-TestData المذكور أعلاه. راجع السجلات أو مهام سير العمل المنشورة لمعرفة مكان استخدام هذه الملفات.

تعليمات التثبيت لـ Ubuntu 14.04LTS 64bit

### الخطوة 0. تحديث مدير الحزم

قد تحتاج إلى تشغيل هذا بامتيازات المستخدم المتميز ، وسأفترض أنك تفعل ذلك وستبدأ أوامري "sudo". يتطلب هذا منك تقديم كلمة المرور الخاصة بك وسيقوم Ubuntu بالتحقق من أن لديك امتيازات المستخدم المتميز

إذا كنت تقوم بتشغيل إصدار 64 بت (amd) من Ubuntu (14.04) ، فقد يكون من الصعب تثبيت WINE لأنه يتوقع بنية i386. الحل هو:

على أي حال ، يجب أن تبدأ بـ

قد ترغب في رؤية التعليمات الرسمية هنا.

إذا كنت تستخدم Ubuntu 64bit ، فهناك مشاكل مع WINE و Python2.7 بعض الأحيان. النبيذ معروف بصعوبة. أنشأ بعض الأشخاص اللطفاء مستودع Ubuntu WINE ولذا يُنصح بإعداد ذلك أولاً:

لإعداد مستودع WINE / Ubuntu:

يُنصح بعد ذلك بتثبيت أحدث إصدار من WINE (الذي أتاحه المستودع الجديد). سأقوم بتثبيت WINE1.7 ولكن قد ترغب في التحقق من الإصدارات المتاحة لك باستخدام:

ثم نقوم بتنفيذ "apt-get install" القياسي على إصدار WINE الذي اخترناه. عند تشغيل الأمر ، سيسألك مدير الحزم عما إذا كنت متأكدًا من رغبتك في تثبيت الحزمة - اكتب Y للتأكيد.

بمجرد الانتهاء من تنزيل جميع الحزم ، قد يقدم لك اتفاقية المستخدم النهائي لبرنامج Microsoft والتي يمكنك التمرير خلالها باستخدام مفاتيح الأسهم وتحديد خيارات "نعم" / "لا" بالضغط على Tab ثم Enter أو Space لتحديد . بعد الموافقة ، سيستمر المزيد من التثبيت. في أحدث تثبيت لـ WINE1.7 ، لم يحدث أي من هذا ، ولكن حدث ذلك في المحاولات السابقة.

هام: يجب أن تجبر النبيذ على تثبيت كل شيء في وضع 32 بت. من أجل تشغيل WINE في 32 بت ، قم بإزالة مجلد .wine في الدليل الرئيسي الخاص بك (أو انقله إلى على سبيل المثال.

/.wine_backup) الذي سيزيل جميع البرامج والبيانات المثبتة من WINE. ثم قم بتعيين متغير نظام WINEARCH عن طريق تحديث ملف

/.profile مع تصدير السطر WINEARCH = win32 (مكان في نهاية الملف). ثم حاول تثبيت البرنامج على النحو التالي. إذا لم تقم بذلك ، فمن المحتمل أن تحصل على أخطاء من أدوات SimStitch على طول خطوط "معرّف الملف غير صالح" - وذلك لأنهم لا يستطيعون استخدام أداة MSFileReader لفتح بيانات DIMS. لاحظ أنه إذا كانت هذه هي المرة الأولى التي يتم فيها تثبيت النبيذ ولم يتم تكوينه بعد ، فلن يتم إنشاء مجلد .wine حتى الآن ، لذلك لن تحتاج إلى إزالته.

### الخطوة الثانية. تثبيت حزم Windows في WINE

تنزيل الحزم: Python 2.7، 32 bit

تنزيل الحزم: numpy 1.8.1

تنزيل الحزم: scipy 0.14.0

تنزيل الحزم: comtypes 0.6.1

تنزيل البرنامج: MSFileReader 3.0 sp2

بالنسبة إلى MSFileReader ، تحتاج إلى الانتقال إلى موقع ThermoFisher والتسجيل (https://thermo.flexnetoperations.com/control/thmo/RegisterMemberToAccount) ثم انتظر حتى يتم إرسال تسجيل الدخول إليك عبر البريد الإلكتروني ... ثم يمكنك تنزيل البرنامج باتباع الرابط في البريد الإلكتروني - الذي سينقلك إلى قائمة المنتجات ، يكون MSFileReader ضمن برنامج الأدوات المساعدة - لقد اخترت استخدام الإصدار 3.0 sp2

قم باستخراج ملف zip الذي تم تنزيله إلى ملف

/ مجلد wine-soft للانضمام إلى الحزم الأخرى. سينتج مجلدين ، أحدهما لمعمارية x86 القياسية والآخر لـ 64 بت. يعمل WINE على 32 بت لذا فإن الملف الذي تبحث عنه هو MSFileReader.exe في المجلد القياسي (غير 64 بت).

حزم التثبيت: لا يمكن لـ python2.7 WINE تثبيت ملفات MSI. مباشرة. تحتاج إلى استخدام الأمر msiexec (انظر أدناه). عند تقديمه مع واجهة المستخدم الرسومية لتثبيت Python ، ما عليك سوى قبول الإعدادات الافتراضية. تحديث: بالنسبة إلى Ubuntu 14.04 ، قد يُطلب منك تأكيد تثبيت مثبت Wine MONO ، ومثبت Wine Gecko وما إلى ذلك. فقط وافق على "التثبيت":

تثبيت الحزم: comtypes

تثبيت البرنامج: MSFileReader 3.0 sp2 أدناه أقوم بطباعة المسار الكامل للوضوح. إذا كانت الملفات التي تم تنزيلها / استخراجها تبدو لي ، فقد يساعد ذلك. إذا كان نظام الملفات الخاص بك لا يبدو بهذا الشكل ، فاستبدل اتجاهات المسار الخاصة بي بأينما قمت بتخزين الإصدار 32 بت "المستقل" من MSFileReader.exe

قم بتثبيت Visual C باستخدام winetricks (ملاحظة: لن يعمل هذا في الصين. لا يمكن الوصول إلى download.microsoft.com ، تم اختباره في 7 أغسطس 2015)

في هذه المرحلة ، قد ينتج عن Wine أخطاء لأنه لا يمكنه تسجيل XRawFile2.dll المطلوب لـ MSFileReader. ربما تكون قد قمت بالفعل بتثبيت Winetricks أثناء الخطوة السابقة عندما قمت بتثبيت Wine 1.7 ولكن في حالة عدم قيامك بذلك ، يمكنك تثبيته باستخدام apt-get. ثم تحتاج إلى تثبيت Visual C. يمكن إجراء هاتين الخطوتين على النحو التالي (سيطلب منك تثبيت vc قبول الاتفاقيات المختلفة وما إلى ذلك ، فقط قل نعم!):

### الخطوة الثالثة: تثبيت حزمة MI-Pack python قم بتنزيل حزمة MI-Pack python من https://github.com/Viant-Metabolomics/MI-Pack (هناك إصدار مثبت على GalaxyM VM بالفعل ، الحزمة الأصلية الملفات موجودة في / home / galaxym / Galaxy_MI_Pack / MI_Pack_Python_package /) وقم بتثبيتها كما تفعل مع أي حزمة Python قياسية. ذلك بالقول:

ثم إذا كان لديك نوى معالجة متعددة على نظامك وترغب في الاستفادة من المعالجة المتوازية للإسراع على سبيل المثال البحث عن الصيغة التجريبية ، قم بتثبيت Parallel Python. يمكن تنزيل هذا من موقعallelpython.com أو يوجد إصدار داخل مجلد MI-Pack على الجهاز الظاهري. قم بتثبيت هذه الحزمة بنفس طريقة MI-Pack (sudo python setup.py install). ليس من الضروري تثبيت Python المتوازي لكي تعمل MI-Pack ، ولكن يُنصح إذا كان لديك نوى متعددة.

قد ترغب في التحقق من التعليمات في Get Galaxy.

عند التنزيل ، سيقوم توزيع Galaxy (باستخدام الإعدادات التالية) بإنشاء مجلد يسمى galaxy في الدليل الذي تستدعي الأمر منه. لذا ، إذا كنت تنسخ هذه التعليمات حرفيًا ، فتأكد من أنك في دليل يسعدك العمل من خلاله. سأكون في دليل المستخدم الرئيسي / home / galaxym.

### الخطوة 5: أضف GalaxyM إلى Galaxy

احصل على أحدث إصدار من GalaxyM من جيثب.

المجرة / أدوات / دليل مع GalaxyM / أدوات /

galaxy / test-data / directory مع GalaxyM / test-data /

galaxy / tool-data / directory with GalaxyM / tool-data /

تحرير / استبدال / إنشاء galaxy / config / tool_conf.xml باستخدام [محتويات] GalaxyM / config / tool_conf.xml

قم بتحرير / استبدال / إنشاء galaxy / config / datatypes_conf.xml باستخدام علامات امتداد نوع بيانات SQLite من GalaxyM / config / datatypes_conf.xml (أو ببساطة انسخ ملف GalaxyM إلى دليل galaxy / config /).

انسخ ملف تعريفات النوع الثنائي لـ Galaxy-M من GalaxyM / lib / galaxy / datatypes / galaxym.py إلى الدليل galaxy / lib / galaxy / datatypes /.

انسخ ملفات صفحة الترحيب الخاصة بـ Galaxy-M من GalaxyM / static / إلى دليل galaxy / static /.

إذا كنت تستخدم Galaxy بالفعل ، فأعد التشغيل الآن.

ملحوظة: لتشغيل Galaxy ، تحتاج إلى استدعاء البرنامج النصي run.sh bash داخل مجلد المجرة الرئيسي ، على سبيل المثال

إذا تم تشغيله بهذه الطريقة ، فيمكن إيقاف Galaxy باستخدام الأمر Ctrl-C.

### الخطوة 6. MATLAB Compiler Runtime (MCR)

MATLAB Runtime عبارة عن مجموعة مستقلة من المكتبات المشتركة التي تتيح تنفيذ تطبيقات أو مكونات MATLAB المترجمة على أجهزة الكمبيوتر التي لم يتم تثبيت MATLAB عليها. يتضمن كل إصدار ملفات تنفيذية لمعظم الأدوات

لا حاجة لضبط متغيرات البيئة على مسارك.

يستفيد خط أنابيب LC-MS من XCMS لانتقاء الذروة الأولية ومعالجة المحاذاة. هذا يتطلب "R" وحزم مختلفة. يمكن تثبيت R باستخدام:

ثم تحتاج إلى تشغيل R وتثبيت Hmisc و XCMS و CAMERA

من سطر الأوامر ، ابدأ R بكتابة ببساطة:

ملاحظة: يُنصح بالتشغيل باستخدام sudo لأن الحزم المختلفة تشتكي من عدم القدرة على الكتابة إلى أدلة مختلفة. ثم داخل R ، استخدم install.packages لتثبيت Hmisc.

إذا ظهرت أخطاء ، فذكر ذلك على سبيل المثال "تثبيت حزم 'ggplot2' له حالة خروج غير صفرية" ، تحقق من إصدار R الخاص بك وإذا كان أقل من 3.1 (Ubuntu 14.04LTS apt-get base R هو 3.0.2) ، فستحتاج إلى الترقية. لقد اتبعنا هذه الإرشادات للجهاز الظاهري الذي تم إصداره لدعم هذه الحزمة (http://sysads.co.uk/2014/06/install-r-base-3-1-0-ubuntu-14-04/)

يتم تثبيت XCMS و CAMERA من Bioconductor لذا فإن الأمر مختلف قليلاً

يمكن الحصول على مجموعات بيانات الاختبار (كل من LCMS و DIMS) من مجموعات البيانات الأكبر في Metabolights (DIMS: Accession MTBLS79 LCMS: Accession MTBLS146) أو من GigaDB (يتبع الانضمام). في حالة مجموعة بيانات DIMS ، لا يتضمن انضمام MetaboLights ملفات .dat الضرورية التي تسمح بمعالجة SimStitch ، وبالتالي فإن مستودع GigaDB مطلوب (أو اتصل بمختبر Viant). قم بتنزيل مجموعات البيانات ، وإذا كنت تريد نسخ ورقة GalaxyM ، فانتقل إلى

/ GalaxyM-TestData (مع المجلدات الفرعية DIMS_DATA و LCMS_DATA لكل طريقة).

من سطر أوامر Linux ، ابدأ تشغيل Galaxy إذا لم يكن قيد التشغيل بالفعل عن طريق كتابة:

للتفاعل مع Galaxy ، افتح مستعرض ويب ووجهه إلى الخادم الخاص بك. إذا كان لديك وصول إلى متصفح على نفس نظام Galaxy ، فيمكنك تحميله وإدخال 127.0.0.1:8080 في شريط العناوين. 127.0.0.1 يعني المضيف المحلي والمتصفح يتحدث إلى النظام الذي يعمل عليه. بدلاً من ذلك ، إذا كنت تقوم بتشغيل الخادم على نظام بعيد (ربما في السحابة) ، فستحتاج إلى التأكد من أن ملف galaxy.ini (galaxy / config / galaxy.ini) يحتوي على مضيف الخط = 0.0.0.0 بدلاً من المضيف الافتراضي = 127.0.0.1. يخبر هذا الخط Galaxy بتوقع حركة المرور من الإنترنت بدلاً من الطلبات المحلية فقط. تم تغيير هذا الإعداد بالفعل في ملف GalaxyM (قد ترغب في تغييره مرة أخرى إلى 127.0.0.1 إذا كنت تريد حماية خادم Galaxy الخاص بك من الويب الواسع).

نأمل أن يتم تقديمك بصفحة Galaxy المقصودة الرئيسية. يجب أن تكون هناك قائمة بالأدوات في اللوحة اليمنى ، وصفحة ترحيب في المنتصف وسجل في الجانب الأيمن.

### تثبيت Matlab (اختياري: تطوير أداة واستخدام أحدث كود مصدر)

7a) قم بتثبيت Java RunTime Environment و WebStart. يمكّنك هذا من استخدام مثبتات Matlab كما تم تنزيلها من موقع Mathworks. بدلاً من ذلك ، يمكنك فقط تنزيل ملفات المنتج مباشرة. لتثبيت Java JRE ، تحقق أولاً من الإصدار المتاح:

سترى ضمن النتائج حزمًا بأسماء مثل openjdk-6-jre. الرقم يشير إلى إصدار Java. سأقوم بتثبيت أحدث إصدار متوفر في قائمة الحزم الخاصة بي ، الإصدار 7.

من أجل استخدام "Download Agent" في Mathworks ، ستحتاج أيضًا إلى java webstart. على Ubuntu ، يمكنك تنزيل هذا من مستودع apt-get كما يلي:

7 ب) قم بتنزيل Matlab and Statistics Toolbox (الإصدار 2014 أ) باستخدام Download Agent ضمن حساب موقع Mathworks الخاص بك ، انتقل إلى التراخيص الخاصة بك وابدأ عملية تنزيل المنتجات. يعتزم الموقع استخدام وكيل التنزيل المستند إلى "ويب ستارت" جافا الخاص بهم ولكن هناك بدائل. سيحاول موقع الويب معرفة أنك قمت بتثبيت Java قبل التنزيل. إذا لم يتمكن من العثور على Java JRE الخاص بك ولكنك قمت بتثبيته في الخطوة السابقة ، فقط انقر فوق "لدي جافا" والمتابعة. سيبدأ تنزيل ملف يسمى Download Agent.

قد يسألك متصفح الإنترنت الخاص بك عما إذا كنت تريد الفتح باستخدام IcedTea - فلا تتردد في القيام بذلك. بدلاً من ذلك ، قم بتنزيل الملف ثم فتحه باستخدام IcedTea. من الناحية النظرية ، يجب أن تكون قادرًا على القيام بذلك عبر سطر الأوامر باستخدام "javaws / path / to / my / file" ولكني وجدت أن هذا أدى إلى حدوث خطأ. ومع ذلك ، ما عليك سوى فتح متصفح الملفات والنقر مرتين على الملف تلقائيًا باستخدام أداة الشاي المثلج.

ما عليك سوى اتباع جميع الإعدادات الافتراضية لتثبيت Matlab. سيكون الاستثناء الوحيد هو أن Matlab ستحاول إنشاء مجلد يسمى / usr / local / MATLAB / R2014a ولكن ربما لم تبدأ العملية بامتيازات المستخدم المتميز وبالتالي لن يُسمح للمثبت بالقيام بذلك. إذا كان هناك خطأ ، ما عليك سوى استخدام الأوامر التالية (في سطر الأوامر) ثم اطلب منه المحاولة مرة أخرى:

بالطبع ، يجب أن تتأكد من أنك قمت بإنشاء نفس المسار الذي أراد المثبت القيام به أو أنك قمت بتغيير المسار عند تشغيل المثبت. بافتراض أن هذا يسمح لك بالتقدم ، ويمكنك تنشيط البرنامج الخاص بك وما إلى ذلك ، فمن الجيد العودة وتغيير الأذونات في هذا المجلد ، والتراجع عن chmod 777 الذي قمنا به للتو للسماح لأي شخص (بما في ذلك المثبت) بالكتابة إلى ذلك الموقع.

الآن ، للتيسير ، يجب عليك وضع رابط رمزي بين ثنائي matlab الذي تريد تشغيله والدليل / usr / local / bin الذي يحتوي على معظم هذه البرامج. هذا اختياري ولكنه يعني أنه يمكنك ببساطة كتابة matlab في سطر الأوامر وسيعرف Linux ما تقصده.

ملاحظة: بالنسبة لبعض إصدارات 64 بت من Ubuntu (13.10 على سبيل المثال) ، يعلن Matlab عن خطأ عند تشغيله - "blah blah blah ... /lib64/libc.so.6: not found". من الناحية الفنية ، سيتم تشغيله ويبدو أنه يؤدي مهام GalaxyM ، لكن هذا التحذير يُنظر إليه على أنه خطأ من قِبل Galaxy ، وعلى الرغم من تخزين المخرجات الصحيحة في السجل ، فإنه يظهر باللون الأحمر (أي المهمة الفاشلة) وهذا ليس مفيدًا للغاية. الحل البديل هو العثور على ملف libc.so.6 ووضع ارتباط رمزي في الموقع الذي تبحث عنه Matlab.

ابحث أولاً عن ملف libc.so.6:

في حالتي ، ينتج عن هذا النتيجة: /lib/x86_64-linux-gnu/libc.so.6 الخطوة التالية هي إنشاء رابط رمزي بين تلك النتيجة (حيث يوجد الملف بالفعل) والدليل الذي يبحث عنه Matlab ( /lib64/libc.so.6)

### تثبيت PLS Toolbox (اختياري: تطوير الأداة واستخدام أحدث كود مصدر)

قم بتسجيل الدخول إلى موقع Eigenvector.com على الويب وانتقل إلى تنزيلات البرامج. اختر نسختك (نستخدم 7.0.3) وقم بتنزيل ملف zip. بافتراض أنك قمت بتنزيل ذلك في مجلد / home / your_user / Downloads (وأنه الإصدار 7.0.3 وأنك قمت بتثبيت Matlab في الموقع الافتراضي) ، يمكنك فك ضغطه ووضعه في مجلد صندوق أدوات Matlab على النحو التالي :

نحتاج الآن إلى تشغيل برنامج التثبيت وهو برنامج نصي matlab. افتح ماتلاب من سطر الأوامر:

بمجرد دخولك إلى بيئة Matlab ، سيتعين عليك تحديد موقع مجلد PLS_Toolbox الخاص بك (على سبيل المثال / usr / local / MATLAB / R2014a / toolbox / PLS_Toolbox_802 /) حتى تعرف Matlab مكان نصوص PLS النصية. باستخدام واجهة المستخدم الرسومية ، يمكن القيام بذلك من القوائم المنسدلة: File- & gt Set Path - & gt Add with subfolders. أو يمكن أن يتم ذلك من سطر أوامر Matlab على النحو التالي:

بمجرد إضافة PLS_Toolbox إلى المسار ، ارجع إلى سطر أوامر matlab واكتب evriinstall لتشغيل معالج التثبيت.

هنا سيُطلب منك رمز الترخيص - يمكن الحصول عليه من صفحة التنزيل على موقع Eigenvector. يجب أن يكون قبول جميع الإعدادات الافتراضية جيدًا على الرغم من أنك إذا كنت حريصًا جدًا على الحصول على الإصدار 7.0.3 بالضبط لنسخ تثبيت GalaxyM الأصلي ، فقد ترغب في إلغاء تحديد المربع (أسفل المكان الذي تدخل فيه رمز الترخيص) الذي يعرض البحث عن التحديثات والإصدارات الأحدث من التعليمات البرمجية وما إلى ذلك.


10 إجابات 10

بغض النظر عما يكمل عبارة "Python vs." ، ستكون الإجابة دائمًا هي Python.

قلة قليلة من الأشخاص الجادين في استخدام التحسين في الإنتاج يستخدمون MATLAB ، والذين لا يطيقون الانتظار للابتعاد عنها.

لماذا ، هناك الكثير من الأسباب. ماتلاب هو:

ليست صديقة للكائنات ، لذا فهي اختيار سيء للغاية للبرامج المعقدة

يصعب توزيع الحسابات ، ولديها ترخيص مكلف جدًا للقيام بذلك

من الصعب جدًا التفاعل معها

يكاد يكون من المستحيل توظيف مبرمجين محترفين

على محمل الجد ، إذا كنت تريد أن تكون قادرًا على استخدام الكود الخاص بك بعد الدكتوراه ، فلا تستخدم الحزم التجارية.

من منظور البرمجة ، لدي خبرة شخصية في الاختناقات. لقد كتبت الإصدار الأول من برنامج الحل الخاص بي في MATLAB ، ويمكنني حل مشكلات

5 متغيرات في وقت معقول. أدى الانتقال إلى C ++ إلى زيادة ذلك إلى 200 متغير. إعادة كتابة الحل في C ++ بمجرد أن اكتسبت خبرة زادت ذلك إلى 100000 متغير ، وزاد توظيف مطورين محترفين ذلك إلى> 1،000،000 متغير.

المثير للاهتمام هنا هو أنه من خلال التجربة التي أمتلكها الآن ، بعد 10 سنوات ، أعلم أنه لا توجد طريقة يمكنني من خلالها توسيع نطاق برنامجنا بما يتجاوز 100 متغير في MATLAB ، ولكن يمكنني الحصول عليه في Python.

أتفق مع كل ما قاله نيكوس وأضيف بعض الألوان لبعض الأسباب:

  • Python مجانية ومفتوحة المصدر لكن Matlab ليست كذلك. يمكن لأي شخص كتابة أكواد في Python ومشاركتها مع الآخرين الذين يمكنهم بسهولة تشغيل هذا الرمز (لأنه برنامج مجاني) ولكن لا يمكن تشغيل أكواد Matlab إلا من قبل أولئك الذين لديهم ترخيص.
  • فقط لأن Python مفتوحة المصدر ومجانية ، فهذا يعني أنها متاحة على نطاق واسع لجمهور أكبر. وعندما تتحدث عن مشاريع في الصناعة ، فإن إنفاق الأموال على برنامج ، IMO ، ليس له ما يبرره عندما يكون هناك بديل يمكن الوصول إليه على نطاق واسع.
  • من المنطقي عدم ربط جزء من التعليمات البرمجية بشخص ما. نظرًا لوجود المزيد والمزيد من مستخدمي Python ، يمكن لأي شخص تقريبًا قراءة وتعديل كود Python الخاص بك في الشركة ، ولكن إذا تركت مكانًا ولم يكن هناك الكثير من الكفاءات في Matlab ، فهذه خسارة كبيرة للشركة. يمكن تجنبه بسهولة باستخدام لغات البرمجة ذات الأغراض العامة مثل Python.
  • تذكر أن العمل في الصناعة لا يركز فقط على عمليات المصفوفة والمتجهات. لذا ، اقتراحي: البدء تدريجيًا في الخروج من منطقة الراحة Matlab.

لقد أعطاك Nikos Kazazakis و EhsanK أسبابًا وجيهة لاستخدام Python. سأركز على النقطة منك حول الحاجة إلى استخدام حزمة / مكتبة إضافية في Python لعمليات المصفوفة والمتجهات. ستواجه في مشاريع الصناعة العديد من التحديات والأشياء التي تريد القيام بها ، لكنك لا تريد (ولا ينبغي) تنفيذها. أنا أعمل حاليًا على برنامج تخطيط الطريق ، ومعظم ما أفعله للأسف ليس عملًا أساسيًا للتحسين ، ولكن كل ما يلزم لجعله مفيدًا للعملاء. قم بإجراء عمليات الاستيراد من مصادر بيانات مختلفة ، ودمج البيانات في كائنات (قد يكون القيام بذلك بلغة غير موجهة للكائنات أمرًا مزعجًا) ، وجعل منتجك متاحًا عبر واجهة برمجة التطبيقات ، وما إلى ذلك. هذا يعني أنني أستخدم الكثير من الأشياء التي لا تأتي من الصندوق. لن تؤدي إضافة numpy إلى قائمة الواردات لأعمال التحسين إلى كسر ظهر البعير.

كل هذا يعني: لا ينبغي استخدام الحاجة إلى استيراد مكتبة إضافية للوظائف لتحديد مدى فائدة اللغة في معظم الأوقات).

أنا أعمل في شركة تقدم حلاً للتحسين التجاري. يقدم الحل واجهات لكل من MATLAB و Python لحل المشكلات المحددة في تلك اللغات.

نحصل على استعلام واحد أو اثنين فقط حول تفاعل MATLAB مع منتجنا سنويًا ، لكننا نتلقى عدة أضعاف هذا العدد من الأسئلة حول ربط Python بمنتجنا.

العديد من الشركات ذات الشركات الكبيرة والشركات غير التابعة لشركة بريتش كولومبيا تستخدم لغة بايثون بكثافة. إذا كنت مكانك ، فسأركز على أن أكون على دراية ببايثون ، ليس فقط لأغراض التحسين ، ولكنه مفيد جدًا في مجالات الحوسبة الأخرى أيضًا.

MATLAB هي لغة مبنية على قمة مكتبة. Python (مع NumPy & amp numba) هي لغة بها مكتبة مبنية تحتها.

لا يعتبر أي منهما مثاليًا. Like all languages, both have a few quirks, due to their history.

My suggestion: Door Number 3, Julia.

In either case (MATLAB, Python, Julia), you should ask yourself:

  1. Is your immediate goal to master the math, or to master how to program it?
  2. Is your long-term career goal academia, or industry?
  3. Is it important to you that other people can run your code (e.g. github repo)?
  4. Is your code all short, or might it grow into a large (many 1000-line, 100's of functions) code?

If your answers are: 1: math, 2: academia, 3: no, 4: all short, then MATLAB is fine. It is an excellent tool. I love it for doing something fast and not fussing with things it's an industry standard in DSP and radar and other problems that rely very heavily on linear algebra. There is a lot of code written in it it will be around for a long time to come.

Nevertheless, if those are not your answers, then between the two, I definitely suggest Python over MATLAB. You will become a much better programmer, and your job prospects will be much better, too. If your code gets long, beware that managing a large (many 1000-lines) MATLAB code is a nightmare IMO (namespaces, anyone?). If you find you have to use MATLAB at some later date, it will be easy. Conversely, if you learn MATLAB and later on find you need to learn Python + NumPy + numba, then you will probably find this very difficult.

This is all the more true if we are talking about optimization, which is at least tangential to machine learning (ML). MATLAB is trying to compete in this space, but if you look online for job ads, they are almost all asking for Python, not MATLAB. In fact, in ML, you will find (in my experience) more job ads asking for Julia than for MATLAB.

But again (and yes it is just my personal opinion), I would suggest you take a look at Julia. I have not been as excited about a language after trying Julia since. well, since I started learning Python 18 years ago. I use all three at work, and Julia is my first choice most of the time I think the language is truly going places. But, I'm a risk-taker. It's not the safe move. If you want safe, the safe move is Python.

Disclosure: I have no interests, financial or otherwise, in MATLAB, Python, or Julia, other than my own experience using them for work/research.


مقدمة

Computational structure-based drug discovery has steadily gained traction partially thanks to the constant improvements in available software, now often free and open source. Protein-ligand docking in particular is now a standard tool employed in the early stages of drug discovery pipelines in order to screen possible drugs acting on a known target of interest.

Protein-ligand docking consists of the prediction of binding modes and binding affinity of a (flexible) ligand to a target of known structure. The performance of docking programs is often assessed by their ability to reproduce the crystallographic pose of the bound ligand. A common metric to evaluate the difference between the predicted binding pose and the crystallographic pose is the heavy-atoms root mean square displacement (RMSD) [1], although other metrics have been suggested [2]. RMSD calculations are also used in other contexts, for example for the evaluation of diversity in generated conformers [3].

Many simple scripts to compute RMSDs are based on the assumption of a direct one-to-one mapping between atoms of different conformers of the same ligand. In different words, atoms are often assumed to be labelled according to their position in a coordinate file (or data structure) and they are paired according to such label. This assumption breaks down when such labels are not conserved—i.e. the order of atoms is different in the two structures being compared—and/or for symmetric molecules. In the case of symmetric molecules, different binding poses can be chemically identical but different in terms of atom-atom mapping. Since molecular connectivity is naturally represented by graphs (atoms as vertices and bonds as edges), tools from graph theory can be used to obtain the correct atom-atom mapping for two different conformers of the same molecule, thus avoiding the problems outlined above.

Here we present a new Python tool, spyrmsd , for the calculation of symmetry-corrected RMSDs based on graph isomorphisms.


What are active and passive IDS?

Intrusion Detection Systems (IDS) only need to identify unauthorized access to a network or data in order to qualify for the title. A passive IDS will record an intrusion event and generate an alert to draw an operator’s attention. The passive IDS can also store information on each detected intrusion and support analysis. An active IDS is also known as an Intrusion Prevention System (IPS) or an Intrusion Detection and Prevention System (IDPS) because as well as spotting an intrusion, it implements automated actions to block out the intruder and protect resources.


شاهد الفيديو: Python 002 Python Career Paths. مجالات العمل لمبرمجي لغة بايثون (شهر اكتوبر 2021).