Projektmanagement im Softwarebereich, SoSe 2015
(19401511 (S) und 19401513 (P))

Dies ist die Wiki-Seite zum Praktikum "Projektmanagement im Softwarebereich" - SeqAn - für BSc-Studenten.

Alle Zeiten sind s.t., also wie außerhalb der Uni zu verstehen. wink

Zu den unten genannten Terminen (Tutorialwoche und Vorträge) gibt es eine Anwesenheitspflicht. Die Ausarbeitung des Projektplans und die Bearbeitung der Projekte erfolgt dann selbständig in freier Arbeit mit Unterstützung des Betreuers.
Während dieser Zeit sollten sich die Teilnehmer regelmäßig/wöchentlich mit ihrem Betreuer treffen.

C++ Ressourcen

  • Die URL fuer das SeqAn Repository ist =

Teilnehmer

Nr. Name
1 Mehmet Can
2 Svenja Mehringer
3 Sarah Jahn
4 Paula Junge
5 Sara Hetzel

Aufteilung auf die Teilprojekte

Name Teilprojekt
  0. Projektübersicht: Projektübersicht (Lies mich zuerst!)
Sara Hetzel 1. Parallel pairwise alignment: Parallelisierung des Standard DP algorithmus auf Multicore (ggf. Xeon Phi) (Rahn)
Svenja Mehringer 2. Genome sized Alignment (LAGAN): Large genome alignments for JST (Rahn)
Sarah Jahn 3. BlastX in Seqan: Das bekannte Blast-Programm schneller reimplementieren (Hauswedell)
Paula Junge 4. MS Cleavage: Enumerate all tryptic peptides with miscleavages (Siragusa)
X 5. Cache based enhancement of minimizers: Evaluate different strategies to choose minimizers (Pan)

Zeitplan 2015

Datum Termin/Dauer Name Ort
Fr, 20.03.2015 (P) 14-16 Uhr Vorbesprechung 006, Takustr. 9 (EG)
23.03.-27.03.2015 (P) 9-18 Uhr SeqAn-Tutorial, Aufteilung der Teilprojekte K38, Takustr. 9 (UG)
16.04.2015 (S) 09-12 Uhr Vorstellung der Projektpläne 049, Takustr. 9 (EG)
15.05.2015 23:59 Uhr Abgabe des Abschlussberichts (per Email)
20.05.2015 (S) 10-18 Uhr Vorstellung der Ergebnisse; 12-14 Uhr Mittagspause K40, Takustr. 9 (UG)

Zeitplan der Tutorial-Woche vom 23.03.-27.03.2015

Datum Termin/Dauer Titel Tutor
23.03.2015 09-12 Uhr s.t. SeqAn Tutorial: First Steps Rene Rahn
  13-18 Uhr s.t. SeqAn Tutorial: Sequences, Iterators, Alphabets, StringSets Leon Kuchenbecker, Jongkyu Kim
24.03.2015 09-12 Uhr s.t. SeqAn Tutorial: Alignments Rene Rahn
  13-18 Uhr s.t. SeqAn Tutorial: Sequence I/O Temesgen Dadi, Hannes Hauswedell
25.03.2015 09-12 Uhr s.t. SeqAn Tutorial: Pattern Matching Rene Rahn
  13-18 Uhr s.t. SeqAn Tutorial: Indices Hannes Hauswedell
26.03.2015 09-12 Uhr s.t. SeqAn Tutorial: FragmentStore Leon Kuchenbecker
  13-16 Uhr s.t. Test Driven Development Chenxu Pan, Hannes Hauswedell
27.03.2014 09-12 Uhr s.t. Fragestunde SeqAn team
  12 Uhr s.t. Aufteilung der Teilprojekte alle

Entwicklungsumgebungen IDEs

Wir unterstützen im Rahmen dieses Praktikums die folgenden Entwicklungsumgebungen / Betriebssysteme.

Windows Visual Studio 10 (2010), 11 (2012), 12 (2013), Download über MSDN Academic Alliance des Fachbereichs.
Linux Makefiles mit GCC oder LLVM/CLANG 3.0 (evtl. Eclipse)
Mac Os X Xcode & Makefiles

Abhängigkeiten

Wir brauchen für SeqAn neben den Entwicklungsumgebungen (s.o.) die folgenden Softwarepakete:
  • git
  • CMake
  • Python wird empfohlen, wir brauchen Python 2.X, nicht Python 3.

Windows

Mac Os X

  • Installiere die XCode Tools über den App Store.
  • Installiere macports (https://www.macports.org/install.php)
  • Dann installiere die Pakete über macports: sudo port install git cmake python27

Linux

  • z.B. auf aktuellem Ubuntu: sudo apt-get install git cmake python2.7

Projekt Repository

  • Wir nutzen das von der IT bereitgestellte GitLab für dieses Projekt.
  • Ihr könnt euch mit eurem ZEDAT-Account dort anmelden. Bitte sendet eine Email and rene.rahn@fu-berlin.de wenn ihr euch das erste mal eingeloggt habt. Eure Accounts werden dann für das Projekt freigeschaltet.
  • Wir arbeiten während des Praktikums mit git (http://git-scm.com) einem Source Code Management Tool.
  • Hier findet ihr gute Tutorials zum Umgang mit git.

Einrichtung von SeqAn für das Praktikum in Kurzform:

  • Am Freitag den 20.03. können wir zusammen die Schritte durchgehen
  • Loggt euch in eurem GitLab Account ein (https://git.imp.fu-berlin.de)
  • Geht zur folgenden Adresse: https://git.imp.fu-berlin.de/pmsb-seqan/pmsb15 und drückt dort den Button Fork repository auf der rechten Seite. Das Projekt erscheint jetzt in eurem Home Bereich.
  • In dem geforkten Repository gibt es zwei Ordner project und seqan. Im ersten findet ihr Vorlagen für den Abschlussbericht, sowie den Präsentationen und den wöchentlichen Fortschrittstreffen. Im seqan Ordner findet ihr den aktuellen Stand vom SeqAn master.
  • Bevor ihr mit git Änderungen in das Repository hinzufügen könnt, müsst ihr euren Rechner mit einem SSH-Schlüssel in eurem GitLab Account registrieren. Dazu befolgt ihr diese Anleitung. Wenn ihr den Schlüssel generiert habt, bzw. bereits einen hattet, könnt ihr den public key in eurem GitLab Profil hinterlegen. Windows Nutzer benutzen am besten die git bash (siehe Git Windows Installer) um die Schlüssel zu generieren.
  • Ihr könnt jetzt in einem Ordner eurer Wahl auf eurem Rechner das geforkte Repository klonen: ~$ git clone git@git.imp.fu-berlin.de/USERNAME/pmsb15.git. Danach sollte das Projekt in dem Ordner ~/pmsb15 zu finden sein.
  • Nachdem ihr das Projekt geklont habt geht ihr in das Verzeichnis ~$ cd pmsb15 und erstellt einen neuen Branch mit eurem Namen git checkout -b NAME. Danach pushed ihr diesen Branch zurück in euer Repository git push origin NAME. Im folgenden arbeitet ihr nur in diesem Branch.
  • Erstellt parallel zum ~/pmsb15 Ordner ein build Verzeichnis ~/build.
  • Im build Verzeichnis das erste mal cmake -G"GENERATOR" -DCMAKE_BUILD_TYPE=Debug ../pmsb15/seqan ausführen. (siehe auch das Getting Started Tutorial). Danach reicht ein cmake . im build Verzeichnis.

Vorlagen für Abschlussbericht und Präsentationen

Der Abschlussbericht soll detailliert auf 2-3 Seiten darstellen welches Problem bearbeitet wurde, wie es gelöst wurde, welche Schwierigkeiten aufgetreten sind und welche Ergebnisse erreicht wurden. Falls Teile der Aufgabe nicht gelöst wurden, beschreiben Sie die Gründe dafür. Sehen Sie noch Potential für die Verbesserung des Algorithmus? Die Abschlusspräsentation sollte 30 Minuten (wie in der Prüfungsordnung beschrieben) dauern und vorstellen, was Sie in den 300 Stunden des Praktikums getan haben. Dazu gehört eine kurze Einführung in die Thematik. Diese sollte sich jedoch auf das wesentliche beschränken, sodass Sie noch genug Zeit haben auf den Schwerpunkt Ihres Praktikums, also die Problemlösung und Implementierung, einzugehen. Sie sollten berichten welche algorithmischen Probleme bestanden und wie diese mit Hilfe von SeqAn umgesetzt wurden. Sie sollen außerdem auf Probleme eingehen die sich erst im Laufe des Praktikums herausgestellt haben, welche ihren Ursprung in der Implementierung oder aber auch Planung hatten. Wie bereits für den Abschlussbericht gilt, falls Teile der Aufgabe nicht gelöst wurden, beschreiben Sie die Gründe dafür. Sehen Sie noch Potential für die Verbesserung des Algorithmus?

Formular für regelmäßiges progress meeting

Links

  • Homepage von SeqAn: Hier gibt es alle Informationen sowie aktuelle Snapshots der Bibliothek zum herunterladen.
  • SeqAn GitHub: SeqAn's GitHub repository mit allen aktuellen Informationen, Entwicklung sowie Bug Tracker und vieles mehr.
  • SeqAn Dokumentation: Die Dokumentation von dem SeqAn master branch.
  • SeqAn Tutorial: Einführung in verschiedene Module von SeqAn mit Übungsaufgaben.
  • SeqAn Issues: Bug Tracker in SeqAn und direkter Einblick in den aktuellen Entwicklungsstand des Projekts. Hier könnt ihr Fehler melden, wenn ihr welche gefunden habt.
Topic revision: r17 - 27 Mar 2015, KnutReinert
 
  • Printable version of this topic (p) Printable version of this topic (p)