Eigentlich möchte ich meine “Rantquote” ja gering halten, aber wenn ich so was lese, überkommt es mich doch. Vielleicht habt ihr es auch gelesen, z. B. in solch effekthascherischen  Meldungen: Eine bekannte Tabellenkalkulation soll dafür verantwortlich sein, dass 1/5 aller genetischen Veröffentlichungen fehlerhaft sind (was ich kaum glauben mag, weil die Stichprobe in der Originalveröffentlichung klein und besonders ist! deswegen hatte ich diese Links auch längst bei Seite gelegt). Doch dann bekomme ich so eine Mail (und fast zeitgleich die Anfrage eine schlechte Software “HPC-fähig” zu machen):

Aus meiner Inbox: Werbung zur Erklärung einer bekannten Tabellenkalkulationssoftware.

Die richtige Software für den richtigen Zweck wählen ist wichtig (als WissenschaftlerIn und anderswo): Tabellenkalkulation hat sinnvolle Einsatzgebiete, z. B. Büroanwendungen. Doch Tabellen sind  auch so etwas wie der “kleinste gemeinsame Nenner” aller Naturwissenschaft: Sie begegnen den allermeisten von uns im Karriereverlauf irgendwann mal. Dafür gibt es im wissenschaftlichen Bereich, je nach Fragestellung bessere Softwaretools, angefangen von der “Statistiksprache” R  oder pandas oder … oder … oder … . Gerne auch aufgepeppt mit einer Datenbankanbindung. Es gibt also dedizierte Lösungen jenseits derjenigen, die wir schon seid Schulzeiten kennen.

Disclaimer-Intermezzo: Natürlich möchte ich auch hier noch mal darauf hinweisen, dass “Skriptsprachen” ihren Sinn haben und doch nicht in rechenintensiven Projekten den Kern bilden sollten. Und klar, auch im wissenschaftlichen Kontext kann eine Tabellenkalkulationsanwendung sinnvoll und gut sein. Und absolut: Die Fehler einer Anwendung können nicht von den Anwendern antizipiert werden. Wie auch?

Nun, ich kann mir vorstellen, wie in eine Arbeitsgruppe eine schlechte Arbeitsweise einsickert: Jemand hat eine schnelle Lösung für ein häufiges Problem, eine gute, dauerhaft tragfähige und wartbare Lösung ist aufwendig. Und folglich bleiben alle bei der ersten Lösung. So etwas habe ich selbst häufig erlebt. Z. B. während meiner Dissertation, wo zur Qualitätssicherung und Vorbereitung weiterer Prozessierung von SAXS-Daten eben auch ein Tabellenkalkulationsblatt verwendet wurde (bis ich meine eigene Lösung schrieb, die – Asche auf mein Haupt – nie das Licht der wissenschaftlichen Welt erblickte). Oder in einer anderen Arbeitsgruppe, wo wir ebenfalls eine Tabellenkalkulation verwendeten, um unserer Konstrukte zur heterologen Expression Herr zu werden. Eine Datenbankanwendung wäre besser gewesen.

Gute wissenschaftliche Praxis ist das Alles nicht. Gutes Datenmanagement geht anders. Und insbesondere wenn man liest (oder durch Erfahrung weiß oder insgeheim vermutet), dass es Probleme mit einer bestimmten Lösung gibt (wie eingangs erwähnt) und man eine ähnliche Lösung im Labor verwendet, dann sollte man in der nächsten Teambesprechung doch mal laut über Alternativen nachsinnen und diese aktiv suchen …

flattr this!

Kommentare (19)

  1. #1 NullcoManix
    13. November 2019

    Ach du grüne Neune, was sind das für Genetiker?

    The errors often arose when gene names in a spreadsheet were automatically changed to calendar dates or numerical values. For example, one gene called Septin-2 is commonly shortened to SEPT2, but is changed to 2-SEP and stored as the date 2 September 2016 by Excel.

    Lesebrillen gibts für 3.50€ im Drogeriemarkt.

  2. #2 rolak
    14. November 2019

    grüne Neune

    Andere(n|m) die Schuld an eigenen Fehlern zuzuschieben, ist nicht gerade selten…

  3. #3 Sven Sch
    14. November 2019

    Man kann auch mit einer Zange einen Nagel in die wand schlagen.
    Wobei der Lösungsansatz im Text, einfach Google Sheets zu nutzen, auch nicht so das wahre ist. Ich persönlich hätte meine Daten gerne da wo ich sie unter Kontrolle habe und nicht in einem Rechenzentrum auf der anderen Seite des Atlantik, bei einer Firma die bekannt dafür ist, dass sie alle Daten die sie in die Finger bekommt erstmal zu durchsuchen (alles natürlich nur um die Userexperience zu steigern).

  4. #4 bote
    14. November 2019

    Bei den Anwendern ist die Kombination von Excel mit Javascript beliebt.
    Nun muss man wissen, dass Javascript nur auf 15 Nachkommastellen rechnet und bei allen Exponentialfunktionen der Fehler sehr groß werden kann.

  5. #5 Kai
    14. November 2019

    Sehr irreführend, die Meldung. Wenn der Gen-Name falsch formatiert wird, muss das ja nicht zwangsläufig zu einem Fehler in der Statistik führen. In den meisten Fällen enthalten die Supplementary-Files halt einfach einen Formatierungsfehler.

    Ansonsten werden die statistischen Analysen doch selten in Excel durchgeführt (das Programm ist ja auch völlig überfordert, sobald es mal eine etwas größere Tabelle öffnen muss). Wer unbedingt eine grafische Benutzeroberfläche will, kann kommerzielle Programme wie SSPS benutzen, da gibt es Datentypen, damit solche Fehler nicht passieren. Aber es sieht eher danach aus, dass viele Biologen längst den Umgang mit Python und Jupyter Notebooks gelernt haben.

    • #6 Christian Meesters
      14. November 2019

      Sehr irreführend, die Meldung.

      Stimmt! Ich habe sie als effekthascherisch bezeichnet — ebenso gut hätte ich eine Rubrik “Schlechte Schlagzeilen” daraus machen könne, aber der Titel ist schon belegt ;-).

  6. #7 Dr. Webbaer
    14. November 2019

    Eine Datenbankanwendung wäre besser gewesen.

    Sog. Tabellenkalkulation ist ja sozusagen der Griff der armen Leutz, die mit Daten, gerne auch tabellarisch umgehen wollen, auch so zu haben, qua Zuruf von oben sozusagen, denen aber oft auch das Know-How fehlt sozusagen erst einmal das Datendesign zu versuchen, idF den Datenzugriff und Applikation meinend, das sog. UI.

    Das Problem bei der Bearbeitung von Daten liegt in der (bereits angedeuteten) Verarbeitung von Daten.
    Ursisch-zynisch formuliert.

    MFG – WB

  7. #8 Dr. Webbaer
    14. November 2019

    Und absolut: Die Fehler einer Anwendung können nicht von den Anwendern antizipiert werden. Wie auch?

    Können teils antizipiert werden, i.p. Typumwandlungen bspw. oder indem bestimmte Versprechen der Anbieter, die auch aus dem Hause Microsoft stammen könnten, vorab als eher illusionär erkannt werden – bei nicht proprietären Anbietern, sog. Communities meinend, geht dies ebenfalls.
    Bspw. und nur eben Beispiele meinend saß der Schreiber dieser Zeilen bereits blass guckend auf der Replikation von Microsoft oder den XML-Parsern von Perl herum, sozusagen.

    Und meinte dies vorab hätte erkennen hätte zu können, eben : potentiell.

    MFG – WB

  8. #9 Karl Mistelberger
    mistelberger.net
    15. November 2019

    > #1 NullcoManix, 13. November 2019
    > The errors often arose when gene names in a spreadsheet were automatically changed to calendar dates or numerical values. For example, one gene called Septin-2 is commonly shortened to SEPT2, but is changed to 2-SEP and stored as the date 2 September 2016 by Excel.

    Im Zeitalter vor Excel gab es auch schon Wundersames: Eine Bankensoftware funktionierte ganz zuverlässig, doch bei Buchungen nach Quito stürzte sie sang- und klanglos ab. Wie kam’s?

  9. #10 NullcoManix
    15. November 2019

    @Karl Mistelberger

    doch bei Buchungen nach Quito stürzte sie sang- und klanglos ab.

    “It’s not a bug, it’s a feature”. Und ein großartiges: “Egal ob ein Benutzer ‘Quito’ eintippt oder ‘Quittengelee’, unsere Software schließt daraus messerscharf, dass jemand das Programm beenden will”.

    Wenn der Auftraggeber nach Benutzerfreundlichkeit fragt, dann bekommt er sie.

  10. #11 user unknown
    https://demystifikation.wordpress.com/
    16. November 2019

    Kann man bei MS Excel, darum geht es doch, nicht das Default-Template ändern?

    Und SEPT2 ist doch ein Spalten- oder Zeilenname, kein Wert, mit dem man dann weiterrechnet, so dass der Fehler im nächsten Schritt nicht mehr offensichtlich ist. Beim Betrachten der Ergebnisse müsste doch etwas auffallen, würde ich denken.

  11. #12 rolak
    16. November 2019

    Default-Template ändern?

    Warum denn, uu? Man kann doch ‘streng typisieren’, indem dem entsprechenden ZellBereich ein dem Inhalt angemessenes Format aufgedrückt wird.
    In diesem Falle schlicht ‘Text’ – no more conversions coming.
    ~•~
    Es gibt keine generelle ‘beste Lösung’/’beste ImplementierungsPlattform’ – das Spektrum der möglichen Randbedingungen (ÜbungMit, ZeitBisErgebnis, oneRun/StdTool, ?(partiell)Weiterverwertbar, Wartbarkeit, vorhandene Werkzeuge, ..) läßt im allgemeinen einen ganzen Strauß spezieller und alternativer Lösungen blühen. Unter denen selbstverständlich auch grauslige sein werden…

  12. #13 Karl Mistelberger
    mistelberger.net
    16. November 2019

    > Nun, ich kann mir vorstellen, wie in eine Arbeitsgruppe eine schlechte Arbeitsweise einsickert: Jemand hat eine schnelle Lösung für ein häufiges Problem, eine gute, dauerhaft tragfähige und wartbare Lösung ist aufwendig.

    Dieses wird oft behauptet, trifft aber meist nicht zu. Was oft vorkommt: Jemand versucht sich an einer wartbaren Lösung, scheitert aber daran. Das sagt uns nichts über das Problem, aber sehr viel über den Problemlöser. 😉

    Selbst bei einem nur einmal auftauchenden Problem kann sich eine saubere Lösung lohnen. Ein signifikantes Beispiel aus der Praxis:

    Portierung von Source Code Bibliotheken unter Erhaltung der Versionsgeschichte:

    von Cyber 176 – NOS/VE – Source Code Utility

    nach HP 9000/Series 700 – HP-UX 11 – ClearCase

    Die Migration von Mainframes zu Workstations löste im Bereich heftige Diskussionen und Hirnstürme aus. Die naheliegendste Lösung, alles beim alten zu lassen, also die Objekte eins zu eins zu migrieren wurde erst gar nicht in Erwägung gezogen und als nicht machbar abgetan.

    Die Geschichte nahm ein gutes Ende. Ich konnte die Chefs überzeugen. Eine Cyber 176 und eine HP 9000/735 unterhielten sich 33 Stunden lang prächtig bis die Sache gelaufen war.

  13. #14 Dr. Webbaer
    16. November 2019

    Es macht wirtschaftlich oft Sinn Geschäftslogik im Kern und in sozusagen antiquierten Programmiersprachen zu erhalten, sie dann, das UI meinend und andere Anwendung zur Datenanalyse meinend, zwiebelförmig sozusagen mit Modernität zu umgeben.
    Der Klassiker hier ist COBOL, das für die genannten Zwecke umgeben darf bis muss.

    Dr. Webbaer hat den Gag mit den ’33 Stunden’ bemerkt, Herr Dr. Mistelberger, rät aber letztlich doch an Datenhaltungssysteme beizeiten zu wechseln, den ganzen Mist sozusagen zu portieren, Richtung relationale Datenhaltung (ISAM ist eine), die mit SQL eine günstige datenabfragungs- und datenmanipulierungsfähige Meta-Sprache bereit stellt.

    ‘Gutes Datenmanagement geht anders.’ [Artikeltext], meint vor allem gutes Daten-Design.

    Mit freundlichen Grüßen
    Dr. Webbaer

  14. #15 Dr. Webbaer
    16. November 2019

    Man kann doch ‘streng typisieren’, indem dem entsprechenden ZellBereich ein dem Inhalt angemessenes Format aufgedrückt wird.
    In diesem Falle schlicht ‘Text’ – no more conversions coming. [Kommentatorenfreund ‘rolak’]

    Hier gemeinte Typisierungen sind Einstellungen auf Seite der Datenbank und seiner Entwickler.
    Derartige Constraints machen schon Sinn, es macht keinen Spaß, Kaufleuten, auf alphabetische Werte gucken zu müssen, wenn ein Preis, ein numerischer Wert, erwartet wird.

    Die Datenbank-Management-Systeme, zeitgenössische, zwingen insofern den SW-Entwickler dazu die Bedeutung von Daten zu erkennen; klar, Input durch Eingebende ist erst einmal ‘Text’.

    HTH (“Hope this helps”)
    Dr. Webbaer

  15. #16 Karl Mistelberger
    mistelberger.net
    17. November 2019

    > Dr. Webbaer hat den Gag mit den ’33 Stunden’ bemerkt, Herr Dr. Mistelberger, rät aber letztlich doch an Datenhaltungssysteme beizeiten zu wechseln, den ganzen Mist sozusagen zu portieren, Richtung relationale Datenhaltung (ISAM ist eine), die mit SQL eine günstige datenabfragungs- und datenmanipulierungsfähige Meta-Sprache bereit stellt.

    ClearCase gibt es noch noch immer. Die Portierung des Source Codes zu CC fand ca. 1994 statt, 2 Jahre nach dessen Erschienen auf dem Markt.

    Der Witz der Geschichte war, dass auf den Workstations für die Benutzer alles so aussah, als wären die Programme von Anfang an unter CC gewartet worden, zu einer Zeit als noch gar kein CC existierte.

    Die Portierung selbst verusachte minimalen Aufwand. Beide, SCU und CC verfügten über Streaming-Funktionen. Diese waren allerdings nicht kompatibel. Für Kompatibilität sorgte ein Trainee mit Migrationshintergrund (Neuruppin).

    Im Gegensatz zur Stammbelegschaft schwurbelte er nicht herum sondern hörte zu, dachte mit und produzierte quasi nebenbei ein ksh-Skript, das die Aufgabe fehlerfrei erledigte und getrost vergessen werden konnte. 😉

  16. #17 Dr. Webbaer
    18. November 2019

    Der Witz der Geschichte war, dass auf den Workstations für die Benutzer alles so aussah, als wären die Programme von Anfang an unter CC gewartet worden, zu einer Zeit als noch gar kein CC existierte.

    Jaja, sicher, Sie haben portieren lassen und könnten für die Idee die Objekte eben doch übertragen zu können, gefeiert werden, Herr Dr. Mistelberger.
    Der Schreiber dieser Zeilen hatte Sie weiter oben falsch verstanden, meinte ein sog. Workaround festgestellt zu haben.
    Zu portieren ist cool, gerade dann, wenn viele meinen, dass dies nicht geht, sozusagen “1:1”, wobei natürlich skeptisch anzumerken bleibt, dass in der Regel bei derartiger Portierung nicht die Leistungsmerkmale des neuen Systems voll ausgenutzt werden können.
    Was an dieser Stelle wohl als eher nebensächlich abgehakt werden kann, wenn die Portierung gelang und wirtschaftlicher Nutzen sozusagen direkt entstand.

    Es ist oft sozusagen der Dulle, der den frühen Wurm fängt.

    MFG – WB

  17. #18 Karl Mistelberger
    mistelberger.net
    19. November 2019

    > Zu portieren ist cool, gerade dann, wenn viele meinen, dass dies nicht geht, sozusagen “1:1”, wobei natürlich skeptisch anzumerken bleibt, dass in der Regel bei derartiger Portierung nicht die Leistungsmerkmale des neuen Systems voll ausgenutzt werden können.

    ClearCase war zu jener Zeit das Lieblingstool der Telekommunikationsausrüster. Nicht alle Funktionalität wurde von uns auch genutzt.

    Andererseits benötigten wir zusätzliche Funktionen: Schon Anfang 1996 wurde ClearCase MultiSite angeschafft. Nach einer Missionsreise zu den Gestaden des Columbia Flusses im August 1996 war die Einführung abgeschlossen:

    https://www.framatome.com/EN/us_platform-427/framatome-u-s-richland-fuel-production.html

  18. #19 Karl Mistelberger
    mistelberger.net
    29. Dezember 2019

    Git-Migration von GCC kann begonnen werden

    “Den Plan, von dem bisher genutzten SVN auf Git zu wechseln, verfolgt die Community schon länger. Dabei soll allerdings nicht zu einem bestimmten Zeitpunkt bei Null angefangen werden, wie dies zum Beispiel beim Linux-Kernel geschah, für den Git ursprünglich erstellt wurde. Das GCC-Team will vielmehr die Historie mit Beiträgen und Metadaten so gut es geht beibehalten und dafür auch die Repositorys komplett migrieren. Da dies nur mit einem enormen Aufwand umgesetzt werden kann, arbeitet Raymond mit Unterstützung anderer an dem Werkzeug Reposurgeon, das diese Arbeiten übernimmt.”

    https://www.golem.de/news/reposurgeon-git-migration-von-gcc-kann-begonnen-werden-1912-145746.html

    Der Teufel steckt auch hier im Detail. Einige Eigenheiten von Subversion machen den eigentlich einfachen Prozess zu einem kleinen Abenteuer.