Mehr

Führen Sie das Python-Toolbox-Tool sowohl eigenständig als auch von anderen Tools innerhalb derselben Python-Toolbox aus?


Ich habe eine Python-Toolbox für die Arbeit erstellt, die zwei Tools enthält. Diese Tools verwenden die Toolbox-Vorlage und haben daher eine drin, getParameterInfo usw.

Ich möchte ein Tool sowohl eigenständig ausführen als auch in anderen Tools innerhalb dieser Toolbox aufrufen können. Ich bekomme die Parameter aber nicht richtig hin.

class foo(object) def __init__(self) #stuff def getParameterInfo(self): # Parameter für das UI-Tool auflisten def execute(self, parameters, messages) print parameter[0] return class bar(object) def __init__(self) # stuff def getParameterInfo(self): # Parameter für das UI-Tool auflisten def execute(self, parameters, messages) foo("hallo, world) return

Ich habe versucht, dem to einen Parameter hinzuzufügen drin(self, parameter) oder die foo-Klasse, aber ich kann es nicht zum Laufen bringen.

Ich bin neu in der objektorientierten Programmierung (OOP) und ArcGIS im Allgemeinen.


Die einfachste Möglichkeit ist, Ihrausführen-Methode ruft eine Funktion auf, anstatt die eigentliche Verarbeitung durchzuführen. Dadurch ist es von jedem Tool leicht aufrufbar.

class Foo(object) def __init__(self) #stuff def getParameterInfo(self): # Parameter für das UI-Tool auflisten def execute(self, parameters, messages) somefunc(parameters[0].value, parameters[1].value) class Bar(object) def __init__(self) #stuff def getParameterInfo(self): # Parameter für das UI-Tool auflisten def execute(self, parameters, messages): somefunc(parameters[0].value, parameters[1].value) otherfunc (parameters[2].value, parameters[3].value) return def somefunc(arg1, arg2): #mache etwas return def otherfunc(arg1, arg2): #mache etwas anderes zurück

Wenn Sie möchten, dass diese Funktionen in den Werkzeugklassen enthalten sind:

class Foo(object) def __init__(self) #stuff def getParameterInfo(self): # Parameter für das UI-Tool auflisten def execute(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 parameter for UI tool def execute(self, parameters, messages): foo = Foo() foo.somefunc(parameters[0].value, parameters[1].value) self.anotherfunc(parameters[2].value, parameters[3].value) return def otherfunc(self, arg1, arg2) : #mach etwas anderes zurück

Welche Build-Tools empfehlen Sie für Python? [geschlossen]

Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage, damit sie zum Thema von Stack Overflow passt.

Ich starte ein kleines / mittleres Python-Projekt, wahrscheinlich in der testgetriebenen Entwicklung. Meine Hintergründe sind mehr in C und Java als in Python (ich habe Ameise und Makefile verwendet)

Ich weiß, dass Sie in Python möglicherweise kein Build-Tool benötigen, aber ich werde es tun, weil ich Cython und PyInstaller verwenden werde (das Ding sollte auf ein paar verschiedenen UNIXen funktionieren, ohne direkt von Python abhängig zu sein) und ich möchte die Bequemlichkeit die Tests aus der CLI auszuwählen, die Dokumentation zu erstellen, möglicherweise Abhängigkeiten zu überprüfen usw.

Jemand beschwert sich, dass Python ein Make-ähnliches Werkzeug fehlt. Ich weiß, dass es nur wenige Tools wie scon und paver gibt, aber ich würde gerne von echten Benutzern hören und nicht nur von ihrer Website. Benutzt jemand Pflaster?

Was ist mit der üblichen setup.py, die mit vielen Paketen geliefert wird? Ich habe mir einige angesehen, um zu sehen, ob es eine gemeinsame Verwendung gibt, aber ich habe nichts Interessantes gefunden (vielleicht habe ich die falschen Beispiele verwendet)

Empfehlen Sie, zumindest für den Anfang bei Dingen zu bleiben, die ich bereits kenne (Ameise und Makefile)? Wenn ja, gibt es eine Ameisenerweiterung, die Sie für Python empfehlen (+cython+pyinstaller+pyUnit)?

BEARBEITEN: Um weitere Antworten wie die von jwp zu vermeiden, beachten Sie, dass mein Programm für dieses Projekt unbedingt eine eigenständige ausführbare Datei sein muss, da es absolut ist unmöglich um eine Python-VM auf der Zielplattform zu haben, auf der die ausführbare Datei ausgeführt wird. Ich habe genau das gleiche HW zum Kompilieren zur Verfügung, also muss ich zum Glück nicht querkompilieren (aber ich würde die Entwicklung auf einem freundlicheren Linux machen).

Ich würde auch gerne testen, ob mein Code von Anfang an in Cython kompiliert wird, nicht um vorschnell zu optimieren, sondern um sicher zu gehen, dass ich nicht zu weit gehe mit der Verwendung inkompatibler Funktionen, was eine schmerzhafte Umgestaltung erfordern würde, wenn Cython wäre dringend nötig.


Dies ist ein Problem, nachdem Visual Studio ein Update für die Optimierung durchgeführt hat.

Ich habe bestätigt, dass der Fix ist:

Menüpunkt öffnen: - Extras - Optionen - Umgebung - Auf der Registerkarte Allgemein - DEAKTIVIEREN/deaktivieren - "Rendering für Bildschirme mit unterschiedlichen Pixeldichten optimieren"

Ich verwende Visual Studio 2017. Um die SSIS-Toolbox zurückzubekommen, klicken Sie mit der rechten Maustaste auf die SSIS-Designoberfläche im Projekt und wählen Sie SSIS-Toolbox aus, siehe diesen Link. Das hat es für mich gelöst

Ein Bild sagt mehr als tausend Worte

Ich denke, Sie sollten die Integration Services Projects-Erweiterung herunterladen und installieren:

Denn in Visual Studio 2019 müssen Sie für Analysis Services-, Integration Services- oder Reporting Services-Projekte die entsprechende(n) Erweiterung(en) vom Marktplatz installieren.

Weitere Informationen finden Sie in der folgenden offiziellen Dokumentation:


Ich freue mich sehr, dass Sie gefragt haben! Ich habe gerade daran gearbeitet, genau das in unserem Wikibook zu erklären (das offensichtlich unvollständig ist). Wir arbeiten mit Python-Anfängern und mussten einigen dabei helfen, genau das zu erreichen, was Sie fragen!

Befehlszeilen-Python in Windows:

Speichern Sie Ihre Python-Codedatei irgendwo, indem Sie in Ihrem Editor "Speichern" oder "Speichern unter" verwenden. Nennen wir es "first.py" in einem Ordner, wie "pyscripts", die Sie auf Ihrem Desktop erstellen.

Öffne ein prompt (eine Windows 'cmd'-Shell, die eine Textschnittstelle zum Computer ist):

start > run > "cmd" (im kleinen Kästchen). OK.

Navigieren Sie mit den Befehlen 'cd' (Verzeichnis ändern) und 'dir' (um Dateien im Verzeichnis anzuzeigen, um Ihren Kopf zu überprüfen) zu Ihrer Python-Datei. Für unser Beispiel so etwas wie

> cd C:Dokumente und EinstellungenGreggDesktoppyscripts

'python' wird nicht als interner oder externer Befehl, lauffähiges Programm oder Batch-Datei erkannt.

dann Python (das Dolmetscher Programm, das Python in 'Computeranweisungen' übersetzen kann) befindet sich nicht auf Ihrem Weg (siehe Python in Ihren Pfad einfügen unten). Versuchen Sie es dann wie folgt aufzurufen (vorausgesetzt, Python2.6 ist am üblichen Speicherort installiert):

(Fortgeschrittene Benutzer: Anstelle von first.py können Sie den vollständigen Pfad von first.py aus C:Dokumente und EinstellungenGreggDesktoppyscriptsfirst.py schreiben.)

Python in deinen Weg stellen

Um Programme auszuführen, sucht Ihr Betriebssystem an verschiedenen Stellen und versucht, den Namen des von Ihnen eingegebenen Programms / Befehls mit einigen Programmen zu vergleichen.

Systemsteuerung > System > Erweitert > |Umgebungsvariablen| > Systemvariablen -> Pfad

dies muss enthalten: C:Python26 (oder gleichwertig). Wenn Sie es vorne platzieren, wird es als erstes gesucht. Sie können es auch am Ende hinzufügen, was möglicherweise vernünftiger ist.

Starten Sie dann Ihre Eingabeaufforderung neu und versuchen Sie, 'python' einzugeben. Wenn alles funktioniert hat, sollten Sie eine ">>>"-Eingabeaufforderung erhalten.


Benutzeroberflächen

Für Benutzeroberflächen haben Sie drei Möglichkeiten:

  • Sie können die generischen, nativen Dialoge und Menüs einfach über die API verwenden. Dies ist gut für Bestätigungsdialoge und andere grundlegende Benutzereingaben.
  • Sie können eine Webansicht auch aus einem Python-Skript heraus öffnen und dann HTML5 für die Benutzeroberfläche verwenden. Wenn Sie Webansichten von Python verwenden, können Sie Nachrichten zwischen der Webansicht und dem Python-Prozess, der sie hervorgebracht hat, hin und her übergeben. Die Benutzeroberfläche wird nicht nativ sein, aber es ist immer noch eine gute Option.
  • Es gibt etwas Unterstützung für native Android-Benutzeroberflächen, aber ich bin mir nicht sicher, wie gut es funktioniert, ich habe es nur noch nie verwendet.

Sie können Optionen mischen, sodass Sie eine Webansicht für die Hauptschnittstelle haben und weiterhin native Dialoge verwenden können.


Stille Installation unter Windows

Die stille Installation wird ohne Benutzeroberfläche durchgeführt. Es kann von Netzwerkadministratoren verwendet werden, um PyCharm auf einer Reihe von Computern zu installieren und die Unterbrechung anderer Benutzer zu vermeiden.

Um eine unbeaufsichtigte Installation durchzuführen, führen Sie das Installationsprogramm mit den folgenden Schaltern aus:

/CONFIG : Geben Sie den Pfad zur stillen Konfigurationsdatei an

/D : Geben Sie den Pfad zum Installationsverzeichnis an

Dieser Parameter muss der letzte in der Befehlszeile sein und sollte keine Anführungszeichen enthalten, selbst wenn der Pfad Leerzeichen enthält.

Um während des Installationsprozesses nach Problemen zu suchen, fügen Sie den Schalter /LOG mit dem Protokolldateipfad und -namen zwischen den Parametern /S und /D hinzu. Das Installationsprogramm generiert die angegebene Protokolldatei. Beispielsweise:

Stille Konfigurationsdatei

Die Silent-Konfigurationsdatei definiert die Optionen für die Installation von PyCharm. Mit den Standardoptionen wird die unbeaufsichtigte Installation nur für den aktuellen Benutzer durchgeführt: mode=user . Wenn Sie PyCharm für alle Benutzer installieren möchten, ändern Sie den Wert der Installationsmodusoption in mode=admin und führen Sie das Installationsprogramm als Administrator aus.

Die standardmäßige Silent-Konfigurationsdatei ist für jedes JetBrains-Produkt eindeutig. Sie können es ändern, um verschiedene Installationsoptionen nach Bedarf zu aktivieren oder zu deaktivieren.

Es ist möglich, eine unbeaufsichtigte Installation ohne die Konfigurationsdatei durchzuführen. Lassen Sie in diesem Fall den Schalter /CONFIG weg und führen Sie das Installationsprogramm als Administrator aus. Ohne die Silent-Konfigurationsdatei ignoriert das Installationsprogramm alle zusätzlichen Optionen: Es werden keine Desktop-Verknüpfungen erstellt, Verknüpfungen hinzugefügt oder die PATH-Variable aktualisiert. Es wird jedoch weiterhin eine Verknüpfung im Startmenü unter JetBrains erstellt.


Deinstallieren / deaktivieren Sie CodeRush oder jedes andere Addon nacheinander, bis es einwandfrei funktioniert. Meistens ist einer von ihnen das Problem.

Ich habe das gleiche Setup bei dir, in meinem Fall war es DxCore

Ok, die Frage ist schon etwas älter, aber der Vollständigkeit halber: Sie müssen nichts deinstallieren.

  1. Starten Sie Visual Studio über die Befehlszeile mit: devenv.exe /SafeMode
  2. Installieren Sie das Element mithilfe des allgemeinen Verfahrens (Elemente auswählen. ) in der Werkzeugkiste.

vs sollte nicht so abstürzen. Nach dem Neustart von Visual Studio ohne den SafeMode-Schalter sind die hinzugefügten Elemente weiterhin verfügbar.

Für mich waren es Visual Studio 2008 Power Commands

BEARBEITEN: Dieses Problem hatte ich auch mit anderen anderen kostenlosen Erweiterungen. Ich kann mich einfach nicht erinnern, welcher der andere war :(

BEARBEITEN2: Mir ist gerade eingefallen, dass ich die SilverLight Tools 2 oder 2 Beta installiert habe. Dies hat dieses Problem verursacht. Es hat auch DataAnnotations mit einer älteren Version vermasselt und Entity Framework für mich durcheinander gebracht. Am Ende musste ich meine Maschine neu installieren.


Führen Sie das Python-Toolbox-Tool sowohl eigenständig als auch von anderen Tools innerhalb derselben Python-Toolbox aus? - Geografisches Informationssystem

Die hier gespeicherten Ordner entsprechen den Ordnern, die in einer Standard-Galaxy-Installation zu finden sind. Enthalten sind die Tool-Dateien (sowohl Originalcode als auch .xml-Wrapper) für die Metabolomics-Analyse und die Galaxy-Konfigurationsdateien einer funktionierenden Installation von Galaxy. Nicht alle Konfigurationsdateien wurden geändert, aber der Vollständigkeit halber sind hier alle enthalten.

Die Galaxy-Version, auf der diese Dateien getestet wurden, stammt aus dem Master-Zweig auf Github: commit c429777c93680dcee449fe410f5360afbe673758.

Die MI-Pack-Version, die die GigaScience-Publikation verwendet, ist Github-Commit: 06ce0ace643ee1cf1d27550769a5272b7ea50825

Verfügbarkeit und Anforderungen

###Programmiersprachen (angegebene Versionen wurden für die Entwicklung verwendet, andere Versionen können auch kompatibel sein):

###Alle Einschränkungen für die Verwendung durch Nichtakademiker:

###Vorinstallierte virtuelle Maschine (publikationsspezifisch) Eine virtuelle Maschinenimplementierung wurde erstellt, um die Wiederverwendung durch die Community zu unterstützen und als Momentaufnahme der Reproduzierbarkeit für die Arbeit in der GigaScience-Publikation zu dienen. Diese wird über das GigaDB-Repository verfügbar sein (Zugangsdetails folgen). Sie können die VM in VMWare oder VirtualBox verwenden, es gibt eine virtuelle Festplatte (VMDK-Datei), die für beide Systeme geeignet ist, aber wir mussten für jedes separate Metadatendateien erstellen (MF- und OVF-Dateien). Um in eines der beiden Systeme zu importieren, muss sich das VMDK im selben Ordner wie die entsprechende MF- und OVF-Datei befinden.

Installationsanweisungen zum Neuerstellen der virtuellen Maschine finden Sie unten. Sie sind ziemlich komplex und können eine Menge Fehlerbehebung erfordern, daher wird empfohlen, nach Möglichkeit direkt von der virtuellen Maschine aus zu arbeiten. Unser Ziel ist es, die VM über Amazon AWS für den Zugriff ohne Download freizugeben. Bei der GalaxyM-Installation ist bereits ein Benutzer registriert und es wurden zwei Workflows gespeichert/veröffentlicht. Wenn Sie auf das ursprüngliche Benutzerkonto zugreifen möchten, lauten die Zugangsdaten:

Speicherort der Daten in veröffentlichten Arbeiten:

Wenn Sie als Galaxym-Benutzer auf dem Ubuntu-System angemeldet sind, finden Sie die Massenspektren in:

Die Pipelines/Workflows verwenden für bestimmte Anweisungen auch CSV-Dateien, die im oben genannten GalaxyM-TestData-Ordner zu finden sind. Informationen zur Verwendung dieser Dateien finden Sie in den veröffentlichten Historien oder Workflows.

Installationsanweisungen für Ubuntu 14.04LTS 64bit

###Schritt 0. Aktualisieren Sie den Paketmanager

Möglicherweise müssen Sie dies mit Superuser-Berechtigungen ausführen. Ich gehe davon aus, dass meine Befehle mit "sudo" beginnen. Dazu müssen Sie Ihr Passwort angeben und Ubuntu überprüft, ob Sie über Superuser-Rechte verfügen

Wenn Sie eine 64-Bit-Version (amd) von Ubuntu (14.04) verwenden, kann es problematisch sein, WINE zu installieren, da es eine i386-Architektur erwartet. Ein Workaround ist:

Beginnen Sie auf jeden Fall mit

Die offiziellen Anweisungen können Sie hier einsehen.

Bei Verwendung von Ubuntu 64bit gibt es Probleme mit WINE und Python2.7 manchmal. WEIN ist bekanntlich schwierig. Einige nette Leute haben ein Ubuntu WINE-Repository eingerichtet und es wird daher empfohlen, dieses zuerst einzurichten:

So richten Sie das WINE/Ubuntu-Repository ein:

Es wird dann empfohlen, die neueste Version von WINE zu installieren (die vom neuen Repository zur Verfügung gestellt wird). Ich werde WINE1.7 installieren, aber Sie möchten vielleicht überprüfen, welche Versionen Ihnen zur Verfügung stehen, indem Sie:

Wir führen dann die standardmäßige „apt-get install“ auf unserer ausgewählten WINE-Version durch. Wenn Sie den Befehl ausführen, werden Sie vom Paketmanager gefragt, ob Sie das Paket wirklich installieren möchten - geben Sie Y zur Bestätigung ein.

Sobald das Herunterladen aller Pakete abgeschlossen ist, wird Ihnen möglicherweise eine Endbenutzervereinbarung für Microsoft-Software angezeigt, durch die Sie mit den Pfeiltasten blättern und die Optionen "Ja"/"Nein" auswählen können, indem Sie die Tabulatortaste und dann die Eingabetaste oder die Leertaste drücken . Nachdem Sie zugestimmt haben, werden weitere Installationen durchgeführt. Bei meiner letzten WINE1.7-Installation passierte nichts davon, aber bei früheren Versuchen war es so.

WICHTIG: Sie müssen Wine zwingen, alles im 32-Bit-Modus zu installieren. Damit WINE in 32bit läuft, entfernen Sie den .wine-Ordner in Ihrem Home-Verzeichnis (oder verschieben Sie ihn z.

/.wine_backup), die alle installierte Software und Daten von WINE entfernt. Legen Sie dann die Systemvariable WINEARCH fest, indem Sie Ihre

/.profile-Datei mit der Zeile export WINEARCH=win32 (am Ende der Datei platzieren). Versuchen Sie dann, die Software wie folgt zu installieren. Wenn Sie dies nicht tun, erhalten Sie wahrscheinlich Fehler von den SimStitch-Tools in der Art von 'Ungültiger Dateibezeichner' - das liegt daran, dass sie das MSFileReader-Tool nicht verwenden können, um die DIMS-Daten zu öffnen. Beachten Sie, dass der .wine-Ordner noch nicht erstellt wurde und daher nicht entfernt werden muss, wenn Wine zum ersten Mal installiert wurde und noch konfiguriert werden muss.

###Schritt 2. Windows-Pakete in WINE installieren

Pakete herunterladen: Python 2.7, 32 Bit

Pakete herunterladen: numpy 1.8.1

Pakete herunterladen: scipy 0.14.0

Pakete herunterladen: comtypes 0.6.1

Download-Software: MSFileReader 3.0 sp2

Für MSFileReader müssen Sie auf die Website von ThermoFisher gehen und sich registrieren ( https://thermo.flexnetoperations.com/control/thmo/RegisterMemberToAccount ) und dann warten, bis Ihnen ein Login per E-Mail zugesendet wird… dann können Sie die Software herunterladen, indem Sie dem Link folgen in der E-Mail - die Sie zu einer Produktliste führt, MSFileReader befindet sich unter Dienstprogramm - Ich habe mich für Version 3.0 sp2 entschieden

Entpacken Sie die heruntergeladene .zip-Datei in Ihr

/wine-soft-Ordner, um sich den anderen Paketen anzuschließen. Es wird ein paar Ordner erstellen, einen für die Standard-x86-Architektur und einen für 64bit. WINE arbeitet mit 32bit, daher ist die gesuchte Datei MSFileReader.exe im Standardordner (nicht 64bit).

Pakete installieren: Python2.7 WINE kann .MSI-Dateien nicht direkt installieren. Sie müssen den Befehl msiexec verwenden (siehe unten). Wenn Sie mit der Python-Installations-GUI angezeigt werden, akzeptieren Sie einfach die Standardeinstellungen. Update: Für Ubuntu 14.04 werden Sie möglicherweise aufgefordert, die Installation des Wine MONO-Installationsprogramms und des Wine Gecko-Installationsprogramms usw. zu bestätigen. Stimmen Sie einfach der Installation zu:

Pakete installieren: comtypes

Software installieren: MSFileReader 3.0 sp2 Unten drucke ich den vollständigen Pfad aus Gründen der Klarheit aus. Wenn Ihre heruntergeladenen/extrahierten Dateien wie meine aussehen, könnte dies helfen. Wenn Ihr Dateisystem nicht so aussieht, ersetzen Sie meine Pfadanweisungen durch den Ort, an dem Sie die 32-Bit-Standalone-Version von MSFileReader.exe gespeichert haben

Visual C mit winetricks installieren (Hinweis: Dies wird in China nicht funktionieren. download.microsoft.com ist nicht zugänglich, getestet am 7. August 2015)

In diesem Stadium kann Wine Fehler erzeugen, da es die für MSFileReader erforderliche XRawFile2.dll nicht registrieren kann. Möglicherweise haben Sie winetricks bereits im vorherigen Schritt installiert, als Sie wine 1.7 installiert haben, aber falls Sie dies nicht getan haben, können Sie es mit apt-get installieren. Dann müssen Sie Visual C installieren. Diese beiden Schritte können wie folgt durchgeführt werden (die vc-Installation fordert Sie auf, verschiedene Vereinbarungen usw. zu akzeptieren, sagen Sie einfach Ja!):

###Schritt 3: MI-Pack-Python-Paket installieren Laden Sie das MI-Pack-Python-Paket von https://github.com/Viant-Metabolomics/MI-Pack herunter (es ist bereits eine Version auf der GalaxyM-VM installiert, das Originalpaket Dateien befinden sich unter /home/galaxym/Galaxy_MI_Pack/MI_Pack_Python_package/ ) und installieren Sie sie wie jedes Standard-Python-Paket. Das heißt:

Wenn Sie mehrere Prozessorkerne auf Ihrem System haben und die parallele Verarbeitung nutzen möchten, um z.B. Empirische Formelsuche, installieren Sie Parallel Python. Diese kann von parallelpython.com heruntergeladen werden oder es gibt eine Version im MI-Pack-Ordner auf der VM. Installieren Sie dieses Paket auf die gleiche Weise wie das MI-Pack ( sudo python setup.py install ). Es ist NICHT notwendig, paralleles Python installiert zu haben, damit MI-Pack funktioniert, aber es wird empfohlen, wenn Sie mehrere Kerne haben.

Sie können die Anweisungen unter Get Galaxy lesen.

Beim Herunterladen erstellt die Galaxy-Distribution (mit den folgenden Einstellungen) einen Ordner namens galaxy in dem Verzeichnis, aus dem Sie den Befehl aufrufen. Wenn Sie also diese Anweisungen wörtlich kopieren, stellen Sie sicher, dass Sie sich in einem Verzeichnis befinden, von dem aus Sie gerne arbeiten. Ich befinde mich im Home-Verzeichnis meines Benutzers /home/galaxym .

###Schritt 5: GalaxyM zu Galaxy hinzufügen

Besorgen Sie sich die neueste Version von GalaxyM von github.

galaxy/tools/-Verzeichnis mit GalaxyM/tools/

galaxy/test-data/ Verzeichnis mit GalaxyM/test-data/

galaxy/tool-data/ Verzeichnis mit GalaxyM/tool-data/

Bearbeiten/ersetzen/erstellen Sie galaxy/config/tool_conf.xml mit [dem Inhalt von] GalaxyM/config/tool_conf.xml

Bearbeiten/ersetzen/erstellen Sie galaxy/config/datatypes_conf.xml mit den SQLite-Datentyperweiterungs-Tags von GalaxyM/config/datatypes_conf.xml (oder kopieren Sie einfach die GalaxyM-Datei in Ihr galaxy/config/-Verzeichnis).

Kopieren Sie die Binärtypdefinitionsdatei von Galaxy-M von GalaxyM/lib/galaxy/datatypes/galaxym.py in das Verzeichnis galaxy/lib/galaxy/datatypes/.

Kopieren Sie die Galaxy-M-Willkommensseitendateien von GalaxyM/static/ in das Verzeichnis galaxy/static/.

Wenn Sie Galaxy bereits ausgeführt haben, starten Sie jetzt neu.

Hinweis: Um Galaxy auszuführen, müssen Sie das Bash-Skript run.sh im Hauptordner von Galaxy aufrufen, z.

Bei dieser Ausführung kann Galaxy mit dem Befehl Strg-C gestoppt werden.

###Schritt 6. MATLAB Compiler Runtime (MCR)

Die MATLAB Runtime ist ein eigenständiger Satz gemeinsam genutzter Bibliotheken, die die Ausführung kompilierter MATLAB-Anwendungen oder -Komponenten auf Computern ermöglicht, auf denen MATLAB nicht installiert ist. Jede Version enthält ausführbare Dateien für die meisten Tools

Sie müssen keine Umgebungsvariablen für Ihren Pfad festlegen.

Die LC-MS-Pipeline verwendet XCMS für eine anfängliche Peak-Aufnahme- und Ausrichtungsverarbeitung. Dies erfordert ‚R‘ und verschiedene Pakete. R kann installiert werden mit:

Dann müssen Sie R ausführen und Hmisc, XCMS und CAMERA installieren install

Starten Sie R von der Befehlszeile aus, indem Sie einfach Folgendes eingeben:

Hinweis: Es ist ratsam, mit sudo zu laufen, da sich verschiedene Pakete darüber beschweren, dass sie nicht in verschiedene Verzeichnisse schreiben können. Verwenden Sie dann in R install.packages, um Hmisc zu installieren.

Wenn Fehler auftreten, sagen Sie, dass z.B. "Die Installation der Pakete 'ggplot2' hatte einen Exit-Status ungleich Null", überprüfen Sie Ihre R-Version und wenn sie kleiner als 3.1 ist (Ubuntu 14.04LTS apt-get base R ist 3.0.2), dann müssen Sie ein Upgrade durchführen. Wir haben diese Anweisungen für die virtuelle Maschine befolgt, die zur Unterstützung dieses Pakets veröffentlicht wurde (http://sysads.co.uk/2014/06/install-r-base-3-1-0-ubuntu-14-04/)

XCMS und CAMERA werden von Bioconductor installiert, daher ist der Befehl etwas anders

Die Testdatensätze (sowohl LCMS als auch DIMS) können aus ihren größeren Datensätzen in Metabolights (DIMS: Accession MTBLS79 LCMS: Accession MTBLS146) oder von GigaDB (Accession folgt) bezogen werden. Im Fall des DIMS-Datensatzes enthält der MetaboLights-Zusatz nicht die erforderlichen .dat-Dateien, die die SimStitch-Verarbeitung ermöglichen, daher ist das GigaDB-Repository erforderlich (oder wenden Sie sich an Viant Lab). Laden Sie die Datensätze herunter und wenn Sie das GalaxyM-Papier kopieren möchten, wechseln Sie zu

/GalaxyM-TestData (mit Unterordnern DIMS_DATA und LCMS_DATA für jede Modalität).

Starten Sie Galaxy von der Linux-Befehlszeile aus, wenn es nicht bereits ausgeführt wird, indem Sie Folgendes eingeben:

Um mit Galaxy zu interagieren, öffnen Sie einen Webbrowser und richten Sie ihn auf Ihren Server. Wenn Sie Zugriff auf einen Browser auf demselben System wie Galaxy haben, können Sie diesen laden und 127.0.0.1:8080 in die Adressleiste eingeben. 127.0.0.1 bedeutet localhost und der Browser spricht mit dem System, auf dem er läuft. Wenn Sie den Server alternativ auf einem Remote-System ausführen (vielleicht in der Cloud), müssen Sie sicherstellen, dass die Datei galaxy.ini ( galaxy/config/galaxy.ini ) die Zeile host = 0.0.0.0 anstelle von . hat der Standardhost = 127.0.0.1 . Diese Zeile weist Galaxy an, Datenverkehr aus dem Internet zu erwarten und nicht nur lokale Anfragen. Diese Einstellung wurde bereits in der GalaxyM-Datei geändert (möglicherweise möchten Sie sie auf 127.0.0.1 zurücksetzen, wenn Sie Ihren Galaxy-Server vor dem Wide Web schützen möchten).

Hoffentlich wird Ihnen die Hauptseite von Galaxy angezeigt. Es sollte eine Liste von Tools im linken Bereich, eine Willkommensseite in der Mitte und eine Historie auf der rechten Seite sein.

###Installieren Sie Matlab (Optional: Tool-Entwicklung und Verwendung des neuesten Quellcodes)

7a) Installieren Sie Java RunTime Environment und WebStart. Auf diese Weise können Sie die Matlab-Installationsprogramme verwenden, die von der Mathworks-Website heruntergeladen wurden. Alternativ können Sie die Produktdateien auch direkt herunterladen. Um Java JRE zu installieren, prüfen Sie zunächst, welche Version verfügbar ist:

In den Ergebnissen sollten Sie Pakete mit Namen wie openjdk-6-jre sehen. Die Zahl gibt die Java-Version an. Ich installiere die neueste Version, die in meiner Paketliste verfügbar ist, Version 7.

Um den „Download Agent“ von Mathworks zu verwenden, benötigen Sie außerdem Java Webstart. Unter Ubuntu können Sie dies wie folgt aus dem apt-get-Repository herunterladen:

7b) Laden Sie Matlab und Statistics Toolbox (Version 2014a) mit dem Download-Agenten herunter. Navigieren Sie in Ihrem Mathworks-Website-Konto zu Ihren Lizenzen und starten Sie den Download-Prozess für Produkte. Die Site beabsichtigt, dass Sie ihren Java-Webstart-basierten Download-Agenten verwenden, aber es gibt Alternativen. Die Website versucht vor dem Download zu sehen, ob Java installiert ist. Wenn Ihre Java JRE nicht gefunden werden kann, Sie sie aber im vorherigen Schritt installiert haben, klicken Sie einfach auf "I have Java" und fahren Sie fort. Eine Datei namens Download Agent wird heruntergeladen.

Ihr Internetbrowser fragt möglicherweise, ob Sie mit IcedTea öffnen möchten - zögern Sie nicht, dies zu tun. Alternativ die Datei herunterladen und dann mit IcedTea öffnen. Theoretisch sollten Sie dies über die Befehlszeile mit „javaws /path/to/my/file“ tun können, aber ich habe festgestellt, dass dies einen Fehler verursacht hat. Wenn Sie jedoch einfach einen Dateibrowser öffnen und auf die Datei doppelklicken, wird sie automatisch mit dem Iced Tea-Tool geöffnet.

Befolgen Sie einfach alle Standardeinstellungen, um Matlab zu installieren. Die einzige Ausnahme ist, dass Matlab versucht, einen Ordner namens /usr/local/MATLAB/R2014a zu erstellen, aber Sie haben den Prozess möglicherweise nicht mit Superuser-Rechten gestartet und das Installationsprogramm darf dies nicht tun. Wenn ein Fehler auftritt, verwenden Sie einfach die folgenden Befehle (auf der Befehlszeile) und weisen Sie es dann an, es erneut zu versuchen:

Natürlich sollten Sie sicherstellen, dass Sie denselben Pfad erstellt haben, den das Installationsprogramm erstellen wollte, oder dass Sie den Pfad beim Ausführen des Installationsprogramms ändern. Unter der Annahme, dass Sie damit Fortschritte machen und Ihre Software usw. aktivieren können, ist es eine gute Idee, zurückzugehen und die Berechtigungen für diesen Ordner zu ändern und den chmod 777 rückgängig zu machen, den wir gerade gemacht haben, damit jeder (einschließlich des Installers) schreiben kann zu diesem Ort.

Jetzt sollten Sie der Einfachheit halber einen symbolischen Link zwischen der Matlab-Binärdatei, die Sie ausführen möchten, und dem Verzeichnis /usr/local/bin einfügen, das die meisten dieser Programme enthält. Dies ist optional, bedeutet aber, dass Sie einfach matlab in die Befehlszeile eingeben können und Linux weiß, was Sie meinen.

Hinweis: Für einige Versionen von 64-Bit-Ubuntu (zum Beispiel 13.10) deklariert Matlab einen Fehler, wenn es ausgeführt wird – „bla blah blah… /lib64/libc.so.6: not found“. Technisch wird es ausgeführt und scheint die GalaxyM-Aufgaben auszuführen, aber diese Warnung wird von Galaxy als Fehler angesehen und erscheint daher trotz des Speicherns der korrekten Ausgabe im Verlauf rot (dh fehlgeschlagener Job) und das ist nicht sehr hilfreich. Eine Problemumgehung besteht darin, die Datei libc.so.6 zu finden und einen symbolischen Link an der von Matlab gesuchten Stelle zu platzieren.

Suchen Sie zuerst die Datei libc.so.6:

In meinem Fall erzeugt dies das Ergebnis: /lib/x86_64-linux-gnu/libc.so.6 Der nächste Schritt besteht darin, den symbolischen Link zwischen diesem Ergebnis (wo sich die Datei tatsächlich befindet) und dem Verzeichnis zu erstellen, in dem Matlab danach sucht ( /lib64/libc.so.6 )

###PLS Toolbox installieren (Optional: Toolentwicklung und Verwendung des neuesten Quellcodes)

Melden Sie sich auf der Website Eigenvector.com an und navigieren Sie zu Software-Downloads. Wählen Sie Ihre Version (wir verwenden 7.0.3) und laden Sie die ZIP-Datei herunter. Angenommen, Sie haben das in den Ordner /home/your_user/Downloads heruntergeladen (und dass es Version 7.0.3 ist und Sie Ihre Matlab-Installation am Standardspeicherort abgelegt haben), können Sie es entpacken und wie folgt im Matlab-Toolbox-Ordner ablegen :

Wir müssen jetzt das Installationsprogramm ausführen, das ein Matlab-Skript ist. Öffnen Sie Matlab über die Befehlszeile:

Sobald Sie sich in der Matlab-Umgebung befinden, müssen Sie den Speicherort Ihres PLS_Toolbox-Ordners angeben (d. h. /usr/local/MATLAB/R2014a/toolbox/PLS_Toolbox_802/ ), damit Matlab weiß, wo sich die PLS-Skripte befinden. Unter Verwendung der GUI kann dies über Dropdown-Menüs erfolgen: Datei-> Pfad festlegen -> Mit Unterordnern hinzufügen. Oder es kann wie folgt über die Matlab-Befehlszeile erfolgen:

Sobald PLS_Toolbox dem Pfad hinzugefügt wurde, kehren Sie zur Matlab-Befehlszeile zurück und geben Sie evriinstall ein, um den Installationsassistenten auszuführen.

Hier werden Sie nach einem Lizenzcode gefragt - erhältlich auf der Download-Seite der Eigenvector-Website. Es sollte in Ordnung sein, alle Standardeinstellungen zu akzeptieren. Wenn Sie jedoch sehr daran interessiert sind, genau Version 7.0.3 zu haben, um die ursprüngliche GalaxyM-Installation zu kopieren, möchten Sie möglicherweise das Kontrollkästchen (unter der Eingabe des Lizenzcodes) deaktivieren, das nach Updates sucht und neuere Codeversionen usw.


10 Antworten 10

Unabhängig davon, was den Satz "Python vs. " vervollständigt, wird die Antwort immer Python sein.

Nur sehr wenige Leute, die es ernst meinen mit der Optimierung in der Produktion, verwenden MATLAB, und diejenigen, die es tun, können es kaum erwarten, sich davon zu entfernen.

Warum, dafür gibt es viele Gründe. MATLAB ist:

nicht objektorientiert, daher eine sehr schlechte Wahl für komplexe Software

Berechnungen schwer zu verteilen und hat eine sehr teure Lizenz dafür for

sehr schwer zu kommunizieren

Es ist fast unmöglich, professionelle Programmierer einzustellen

Im Ernst, wenn Sie nach Ihrer Promotion Ihren eigenen Code verwenden möchten, verwenden Sie keine kommerziellen Pakete.

Aus programmiertechnischer Sicht habe ich persönliche Erfahrungen mit den Engpässen. Ich habe die allererste Version meines Solvers in MATLAB geschrieben und konnte Probleme von . lösen

5 Variablen in angemessener Zeit. Der Wechsel zu C++ hat dies auf 200 Variablen erhöht. Das Umschreiben des Solvers in C++, sobald ich Erfahrung hatte, erhöhte die Zahl auf 100.000 Variablen, und die Einstellung professioneller Entwickler erhöhte sie auf > 1.000.000 Variablen.

Interessant ist hier, dass ich mit der Erfahrung, die ich jetzt, 10 Jahre später habe, weiß, dass ich unsere Software in MATLAB auf keinen Fall über 100 Variablen hätte skalieren können, in Python jedoch schon.

Ich stimme allem zu, was Nikos gesagt hat, und füge einigen der Gründe einige Farben hinzu:

  • Python ist kostenlos und Open Source, Matlab jedoch nicht. Jeder kann Codes in Python schreiben und mit anderen teilen, die diesen Code problemlos ausführen können (da es sich um freie Software handelt), aber Ihre Matlab-Codes können nur von Personen ausgeführt werden, die eine Lizenz haben.
  • Nur weil Python quelloffen und kostenlos ist, bedeutet dies, dass es einem größeren Publikum allgemein zugänglich ist. Und wenn es um Projekte in der Industrie geht, ist es nicht vertretbar, Geld für eine Software auszugeben, IMO, wenn es eine allgemein zugängliche Alternative gibt.
  • Es ist sinnvoller, ein Stück Code nicht an eine Person zu binden. Da es immer mehr Python-Benutzer gibt, kann fast jeder Ihren Python-Code in einem Unternehmen lesen und ändern, aber wenn Sie einen Ort verlassen und nicht viele Matlab-Kenner haben, ist das ein großer Verlust für das Unternehmen. Es kann leicht vermieden werden, indem allgemeine Programmiersprachen wie Python verwendet werden.
  • Denken Sie daran, dass sich die Arbeit in der Branche nicht nur auf Matrix- und Vektoroperationen konzentriert. Also, mein Vorschlag: Fangen Sie langsam an, die Komfortzone von Matlab zu verlassen.

Nikos Kazazakis und EhsanK haben Ihnen gute Gründe für die Verwendung von Python gegeben. Ich werde mich auf den Punkt von Ihnen konzentrieren, ein zusätzliches Paket/eine zusätzliche Bibliothek in Python für Matrix- und Vektoroperationen zu verwenden. In Industrieprojekten stoßen Sie auf viele Herausforderungen und Dinge, die Sie tun möchten, aber nicht umsetzen wollen (und sollten). Derzeit arbeite ich an einer Routenplanungssoftware, das meiste, was ich tue, ist leider keine Kernoptimierungsarbeit, sondern alles, was man braucht, um es für Kunden nützlich zu machen. Nehmen Sie Importe aus verschiedenen Datenquellen vor, integrieren Sie die Daten in Objekte (dies in einer nicht objektorientierten Sprache zu tun wäre nervig), stellen Sie Ihr Produkt über eine API zur Verfügung und so weiter. Das heißt, ich benutze viele Dinge, die nicht aus der Box kommen. Das Hinzufügen von numpy zu dieser Importliste für die Optimierungsarbeiten wird dem Kamel nicht den Rücken brechen.

All dies soll sagen: Das Importieren einer zusätzlichen Bibliothek für die Funktionalität sollte nicht die meiste Zeit verwendet werden, um die Nützlichkeit einer Sprache zu bestimmen ).

Ich arbeite für ein Unternehmen, das einen kommerziellen Optimierungslöser anbietet. Der Solver bietet Schnittstellen zu MATLAB und Python, um in diesen Sprachen definierte Probleme zu lösen.

Wir erhalten nur ein oder zwei Anfragen zur MATLAB-Schnittstelle mit unserem Produkt pro Jahr, aber wir erhalten ein Vielfaches an Fragen zur Schnittstelle von Python mit unserem Produkt.

Viele Bluechip- und Nicht-B.C-Unternehmen haben Python bereits stark im Einsatz. An Ihrer Stelle würde ich mich darauf konzentrieren, mit Python vertraut zu werden, nicht nur zu Optimierungszwecken, sondern es ist auch in anderen Bereichen der Informatik sehr nützlich.

MATLAB ist eine Sprache, die auf einer Bibliothek aufgebaut ist. Python (with NumPy & numba) is a language with a library built under it.

Neither is ideal. 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 es?
  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: Nein, 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.


Einführung

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.


Schau das Video: Духовата (Oktober 2021).