Lettis.Net

<Software>

Fork me on GitHub
Clustering - Stabiles Clustering von Molekulardynamikdatensätzen
Dieses Softwarepaket enthält einen kompletten Satz von Werkzeugen zum stabilen Clustern von MD-Trajektorien. Die essenziellen Funktionen sind:
  • Dichtebasiertes, geometrisches Clustering zur Erstellung von Mikrozuständen
  • Dynamisches Clustering basierend auf der Most-Probable-Path-Methode (MPP)
  • Variables, dynamisches Coring zur Korrektur von Übergangseffekten
Zusätzlich enthält das Paket Routinen zum effizienten Filtern von Originaldaten basierend auf diskreten Zustandsdefinitionen. Hiermit lassen sich leicht metastabile Zustände filtern und repräsentative Strukturen oder Observablen identifizieren. Computationally demanding functions are parallelized either using OpenMP (for multicore CPUs) or CUDA (for Nvidia-GPUs). Rechenintensive Funktionen sind mit OpenMP (für Multicore-CPUs) bzw. CUDA (für Nvidia-GPUs) beschleunigt. Mehr Informationen gibt es auf der Projektseite.
FastPCA - Hauptkomponentenanalyse für große Proteindatensätze
FastPCA berechnet Hauptkomponenten, Kovarianz-/Korrelations-Matrizen und Eigenwerte bzw. -vektoren von großen Proteindatensätzen. Rechenintensive Funktionen sind mit OpenMP parallelisiert. Das Paket beinhaltet die 'xdrfile'-Library von GROMACS, d.h. es können sowohl ASCII-Daten als auch .xtc-Trajektorien gelesen und geschrieben werden. FastPCA hat einen konstanten Speicherverbrauch und ist insbesondere für große Datenmengen (d.h. viele Frames) geeignet. Mehr Informationen gibt es auf der Projektseite.
Kubix (in Zusammenarbeit mit Carsten Burgard)
Kubix ist eine 3D-OpenGL-Implementierung des Brettspiels Tactix/Duell - einer Schachvariante, bei der mit Würfeln statt normalen Schachfiguren gespielt wird. Da die Würfel allerdings nicht als 'Zufallszahlengenerator', sondern als Figuren mit dynamisch wechselnden Eigenschaften benutzt werden, ist Kubix ein komplexes Strategiespiel, vergleichbar mit Schach oder Go (für mehr Informationen siehe auch folgenden Wikipedia-Artikel).

Kubix ist noch nicht ganz fertig, wird in Zukunft aber folgendes bieten:

  • 3D-OpenGL-Graphik
  • spielstarke KI
  • Netzwerk-Multiplay

Falls Du das Spiel bereits kennst und dich für unsere Implementierung interessierst (die KI ist fast fertig), schau' dir einfach unsere  GitHub-Seite an!

pq - ein einfaches, persönliches Queueing-System.
'pq' ist ein einfaches Queueing-System für Linux/Unix-System, mit dem Rechenjobs abhängig von der aktuellen Systemlast ausgeführt werden können. Die verwendeten Werte zur Bestimmung der Systemlast sind hierbei die aktuelle 'load average' (die man bspw. von den Kommandos 'uptime' oder 'top' kennt) und der momentan verbrauchte Hauptspeicher (den man bspw. mittels 'free' ermitteln kann). Falls die Grenzwerte - die in einer Konfigurationsdatei gesetzt werden können - nicht erreicht sind, gilt der Systemzustand als 'idle' (also nicht ausgelastet) und der nächste Prozess aus der Warteschlange wird gestartet. Eine detailliertere Dokumentation sowie der eigentlich Quellcode sind unter der sog. 'Simplified BSD License' erhältlich und können auf der Projektseite heruntergeladen werden.
PGT (Python GROMACS Toolkit)
PGT ist eine Sammlung an Pythonroutinen und -klassen, die die Arbeit mit GROMACS erleichtert. Sie ist umfassend mit Hilfe von 'docstrings' dokumentiert. Die Sammlung befindet sich in einem prototypartigen Zustand und sollte nicht als Endprodukt in irgendeiner Form angesehen werden. Ich habe sie hier lediglich veröffentlicht, um anderen eventuell etwas Arbeit mit GROMACS abzunehmen, sodass sie nicht für jede Aufgabe das Rad neu erfinden müssen. Das meiste, was an Funktionalität implementiert ist, dient direkt meiner Arbeit als Masterstudent im Bereich Biomolekulare Dynamik. Solltest Du dennoch für dich nützliches finden, oder eigene Funktionen hinzufügen, Code kommentieren oder (ganz wichtig!) Bugs finden, melde dich gerne bei mir via eMail oder GitHub.
Für weitere Informationen und den Quellcode, gehe bitte auf die GitHub-Projektseite.