Seite 1 von 1

saxsgrid

Verfasst: Montag 3. Dezember 2007, 16:31
von CM
Hoi,

habe gerade (mit Gerolds Hilfe) ein Projekt auf Sourceforge auf den Weg gebracht:
xxx
Für die meisten hier wahrscheinlich ziemlich esoterisch ;-). Aber wenn es Vorschläge zur Projektgestaltung und ähnlichem gibt: Her damit.
(Eigentlich hätte ich das noch nicht gehostet, aber mich drücken die Schuhe Konkurrenz und Zeitnot gar sehr. Also weißt mich ruhig auf grobe Fehler hin, aber seht sie mir nach ;-) .)

Gruß,
Christian

PS Irgendwie funktioniert der Download gerade wieder nicht ... Arrgh.

edit: URL gelöscht - siehe unten

Re: saxsgrid

Verfasst: Montag 3. Dezember 2007, 16:59
von Leonidas
CM hat geschrieben:PS Irgendwie funktioniert der Download gerade wieder nicht ... Arrgh.
Das kann daran liegen, dass nicht alle Mirrors synchronisiert sind. Ist nach spätestens ein paar Stunden aber wieder ok.

Aber: wo ist die Integration mit setuptools? Warum kann man es nicht aus dem Cheeseshop runterladen? ;)

Zum Programm selbst: Zum eigentlichen Code kann ich nichts sagen, wie der funktioniert weißt du sicher besser als ich :) Aber ich würde beispielsweise `__info__` weglassen und die Nachricht direkt an `sys.exit()` übergeben.

Dann finde ich es seltsam, warum die Klasse Model (die ich von `object` erben lassen würde) einen Signal-Handler hat. Ich würde die Model-Klasse eher als Container + Daten machen und die Programmlogik woanders reinstecken. Schließlich will man ja vermutlich mehrere Instanzen davon haben und wenn es nun mehrere Signal-Handler gibt: hmm, ich weiß nicht, finde so etwas recht kompliziert. Ein Signal-Handler reicht doch. Ähnliches gilt für `save()`.

Wenn du `__eq__` implementierst brauchst du so weit ich weiß kein `__ne__` mehr. Ich glaube mich erinnern zu können, dass die Default-Implementation eben genau das ist was du machst.

Du merkst: ich habe nicht so wahnsinnig viel geschrieben. Hätte also schlimmer sein können ;)

Re: saxsgrid

Verfasst: Montag 3. Dezember 2007, 17:14
von CM
Leonidas hat geschrieben:Aber: wo ist die Integration mit setuptools? Warum kann man es nicht aus dem Cheeseshop runterladen? ;)
Tja, .... :roll: Aber im Ernst: Über diese Dinge kann ich immer noch nachdenken, finde ich. Das Projekt lernt ja erst laufen. ;-)
Leonidas hat geschrieben: Aber ich würde beispielsweise `__info__` weglassen und die Nachricht direkt an `sys.exit()` übergeben.
Na ja, ist ein spleen von mir. Gebe ich zu ...
Leonidas hat geschrieben: Dann finde ich es seltsam, warum die Klasse Model (die ich von `object` erben lassen würde) einen Signal-Handler hat. ...
Das ist allerdings ein guter Punkt. Steht auch auf meiner ToDo-Liste.
Leonidas hat geschrieben: Wenn du `__eq__` implementierst brauchst du so weit ich weiß kein `__ne__` mehr. Ich glaube mich erinnern zu können, dass die Default-Implementation eben genau das ist was du machst.
http://www.python.org/doc/2.5/ref/customization.html
Na ja, die Doku sagt aber auch: Sei ruhig redundant, dann ist alles klar. So habe ich auch gedacht.
Leonidas hat geschrieben: Du merkst: ich habe nicht so wahnsinnig viel geschrieben. Hätte also schlimmer sein können ;)

Aber schon mal was. Vielen Dank!
Christian

Verfasst: Montag 3. Dezember 2007, 18:15
von CM
So, und jetzt ist auch das Problem gelöst, das im ersten Upload die Hälfte der Files fehlte ... :oops: (allerdings ist ansonsten alles unverändert).

@Leonidas: Was meinst Du mit Deinem Kommentar zu save()? Ich glaube hier liegt ein Mißverständnis vor: Während tofile() ein Model-Object dumped für ein späteres Recovery, fällt save() auf den PDB-Parser von Biopython zurück (was zugegebenermaßen ziemlich umständlich aussieht - da muß man dringend mal dran arbeiten!) und schreibt ein PDB-File aus. Das sind zwei paar Schuhe.
Was das Logging und den Signal-Hanler angeht hast Du natürlich recht: Das war nicht sonderlich clever und wird geändert.

Gruß,
Christian

Verfasst: Montag 3. Dezember 2007, 19:00
von Leonidas
CM hat geschrieben:@Leonidas: Was meinst Du mit Deinem Kommentar zu save()? Ich glaube hier liegt ein Mißverständnis vor: Während tofile() ein Model-Object dumped für ein späteres Recovery, fällt save() auf den PDB-Parser von Biopython zurück (was zugegebenermaßen ziemlich umständlich aussieht - da muß man dringend mal dran arbeiten!) und schreibt ein PDB-File aus. Das sind zwei paar Schuhe.
Ja, ok, ich glaube da habe ich etwas durcheinandergebracht.

Aber jetzt wo ich mir `save()` genauer ansehe, sehe ich einige Sachen auf die ich noch hinweisen kann: `del` braucht keine Klammern und `atoms` scheinen ungenutzt zu sein. Zumindest wenn ich mir die LC so ansehe verstehe ich nicht ganz den sinn davon. Meine Vermutung ist, dass du versuchst ein Iterable-Objekt welches von `self.structure.get_atoms()` geliefert wird in eine Liste umzuwandeln. Das kannst du dann aber auch als `list(self.structure.get_atoms())` schreiben.

Und bezüglich `__eq__` und `__ne__` hast du schon recht - die Dokumentation besagt sogar, dass wenn das eine Wahr ist das andere nicht automatisch Falsch ist (wenn ich sie richtig interpretiert habe).

Verfasst: Dienstag 4. Dezember 2007, 10:13
von CM
Leonidas hat geschrieben:... und `atoms` scheinen ungenutzt zu sein. Zumindest wenn ich mir die LC so ansehe verstehe ich nicht ganz den sinn davon.
Oh, Merci. Das mit den Klammern ist bereits geändert und die atoms gelöscht - war ein Überbleibsel aus einer älteren Version. Es drin zu haben bricht keinen Test ;-).
Was LC vs list() angeht: Ja, meist ist die LC überflüssig, fällt mir auch auf. Aber bei Biopython.PDB-Datenstruktur ist eine LC oft eine schöne Abkürzung. Hier nicht: Wurde auch geändert.

Gruß,
Christian

Verfasst: Dienstag 4. Dezember 2007, 10:30
von mitsuhiko
[OT]Sourceforge Projekte für Python libraries sind etwas sinnlos mittlerweile. Releases hosten kann man auf dem Käseladen und DVCS Hosting gibts auf launchpad und mittlerweile schon einigen anderen Webseiten. Unter anderem auch für HG[/OT]

Verfasst: Dienstag 4. Dezember 2007, 10:44
von CM
[ot]Danke. Tja, das SF nicht ideal ist, habe ich ja auch schon festgestellt und denke darüber nach den Versuch aufzugeben: http://www.python-forum.de/topic-12784.html Launchpad scheint mir eine nette Alternative. Bei einer Abkz. hast Du mich gerade abgehangen: Was bitte ist HG? Gerne auch im verlinkten Thread.[/ot]

Verfasst: Dienstag 4. Dezember 2007, 11:53
von BlackJack
Ich denke er meint Mercurial oder auch abgekürzt `hg` (chemisches Zeichen für Quecksilber/"mercury").

Verfasst: Dienstag 4. Dezember 2007, 11:54
von CM
LOL - Danke.

Verfasst: Dienstag 11. Dezember 2007, 13:53
von CM
Ok, das Projekt wurde von SF entfernt. Werde mein Glück mal mit launchpad probieren (aber erst noch ein bißchen mehr am Paper arbeiten) und denn im nächsten Jahr *richtig* publizieren.

Danke für eure Tipps.

Verfasst: Dienstag 11. Dezember 2007, 15:11
von mitsuhiko
Für mercurial gibts sharesource.org

Verfasst: Montag 21. April 2008, 19:08
von CM
So, das Projekt hat wieder das Licht der Welt erblickt. Bzw. eigentlich nur ein Branch des Projektes (und damit sind auch die Tests durcheinandergeraten, aber das werde ich in den nächsten Tagen aufräumen und wieder ausbauen).

http://sas-rigid.origo.ethz.ch/
(Weitere Downloadmöglichkeiten werden folgen.)
und
http://pypi.python.org/pypi/sas_rigid/0.2.7

Vielen Dank für alle eure Anregungen - nicht nur in diesem Thread.

Gruß,
Christian

Verfasst: Montag 21. April 2008, 21:02
von Leonidas
Ich glaube nicht, dass ich die Software zu irgendwas verwenden kann, dazu sind unsere Beschäftigungsbereiche zu unterschiedlich, aber es heißt "proof of concept" und "yourself".

(Nicht in den falschen Hals bekommen)

Verfasst: Dienstag 22. April 2008, 09:33
von CM
Autsch. Danke!
(War ein langer Tag gestern ...)

Verfasst: Dienstag 22. April 2008, 13:07
von Y0Gi
Tipp: Den Quelltext könntest du mit Pygments highlighten und direkt als XHTML einfügen, da haben alle mehr von. Den Screenshot kann man besser als PNG speichern (und ggf. durch Verringerung der Farbpalette noch verkleinern) und sollte ein Thumbnail verlinken, anstatt das Bild in Originalgröße mit dem nicht "resamplenden" (= hässlichen) Verfahren des Browsers auf eine jedoch ohnehin unbrauchbare Größe zu stauchen.

Verfasst: Dienstag 22. April 2008, 13:20
von CM
Was die Bilder angeht: Hast schon recht. Leider stellt mir origo nicht die volle Funktionalität der wikimedia-Syntax zur Verfügung* und svg-Files kann ich auch nicht hochladen. Ich experimentiere noch, wie man das am besten machen kann und bin erst einmal froh, das überhaupt etwas funktioniert.

Pygments ist eine gute Idee. Auch daran habe ich gar nicht erst gedacht ...

Gruß
Christian

PS *= Es gibt erratisch Fehler (teils auch ohne Meldung) und denn muß ich raten was überhaupt funktioniert. Deshalb wurde auch aus dem einen Screenshot ein jpg - ich war gestern denn zu faul das noch zu ändern ....
PPS Dennoch finde ich origo viel einfacher & besser als sf!!!

Verfasst: Dienstag 22. April 2008, 18:48
von CM
So, das mit den Bildern habe ich jetzt ganz aufgegeben ... Dafür enddeckt, wie man dort das Pythonhighlighting anschaltet. Das ist zwar nicht schön, aber besser als meine ersten Versuche.