Best Practices#
Richtlinien für die effektive Nutzung von BDP in Forschungs-Workflows.
Versionskontrolle mit Git#
BDP ist darauf ausgelegt, nahtlos mit Git für maximale Reproduzierbarkeit zu arbeiten. Obwohl nicht zwingend erforderlich, bietet die Kombination von BDP mit Git die stärksten Garantien für reproduzierbare Forschung.
Warum Git mit BDP verwenden?#
- Datenabhängigkeiten tracken zusammen mit Code-Änderungen
- Exakte Konfigurationen teilen mit Kollegen via
bdp.ymlundbdp.lock - Zeitreisen zu jedem Punkt in der Projekthistorie mit passenden Datenversionen
- Änderungen dokumentieren mit Commit-Nachrichten die erklären warum Datenquellen geändert wurden
Empfohlener Workflow#
-
Git im Projekt initialisieren:
bashgit initgit add .git commit -m "Initial commit" -
Datenquellen mit BDP hinzufügen:
bashbdp source add uniprot:P01308-fasta@1.0bdp pull -
Lockfile committen:
bashgit add bdp.yml bdp.lockgit commit -m "UniProt Insulin-Datenquelle hinzufügen" -
Kollegen erhalten exakt die gleichen Daten:
bashgit clone <dein-repo>bdp pull # Lädt exakte Versionen aus bdp.lock herunter
Was committen#
Immer committen:
bdp.yml- Ihre Datenquellen-Spezifikationenbdp.lock- Exakte Versionen und Prüfsummen- Analyse-Skripte und Code
- Dokumentation
Niemals committen:
- Tatsächliche Datendateien (zu groß für Git)
- Cache-Verzeichnisse
- Temporäre Dateien
Git lernen#
Falls Sie neu bei Git sind, empfehlen wir:
- Git Dokumentation
- Git Handbook
- Pro Git Buch (kostenlos online)
Datenverwaltung#
Datenquellen organisieren#
Verwenden Sie klare, beschreibende Namen in Ihrer bdp.yml:
sources: # Gut: Spezifisch und versioniert - source: uniprot:P01308-fasta@1.0 name: human-insulin # Vermeiden: Zu generisch - source: uniprot:Q9Y6K9@latest name: dataVersionen für Produktion fixieren#
Verwenden Sie immer spezifische Versionen in Produktions-Workflows:
# Gut: Explizite Versionbdp source add uniprot:P01308-fasta@1.0 # Riskant: Kann sich über Zeit ändernbdp source add uniprot:P01308-fasta@latestShared Caches für Teams verwenden#
Konfigurieren Sie ein geteiltes Cache-Verzeichnis auf Netzwerkspeicher:
# Laborweiter geteilter Cachebdp config cache set /mnt/lab-nas/bdp-cacheVorteile:
- Einmal herunterladen, mit allen teilen
- Automatische Deduplizierung
- Schnelleres Onboarding für neue Teammitglieder
Dokumentation#
Datenquellen dokumentieren#
Führen Sie eine DATA.md Datei die Ihre Daten-Entscheidungen erklärt:
# Datenquellen ## UniProt Human Insulin (P01308)- **Warum:** Referenzsequenz für Insulin-Varianten-Analyse- **Version:** 1.1.0 (UniProt Release 2024_01)- **Hinzugefügt:** 2024-01-15- **Verwendet in:** scripts/analyze_variants.pyDatenverfügbarkeitserklärungen generieren#
Verwenden Sie BDPs Audit-Features für Publikationen:
# Publikationsfertige Datenverfügbarkeitserklärung generierenbdp audit export --format das > datenverfuegbarkeit.md # BibTeX-Zitationen generierenbdp cite --format bibtex > literatur.bibReproduzierbarkeits-Checkliste#
Vor Veröffentlichung oder Teilen von Forschung:
- [ ] Alle Datenquellen in
bdp.ymlspezifiziert - [ ] Lockfile (
bdp.lock) in Versionskontrolle committed - [ ] Audit-Trail verifiziert:
bdp audit verify - [ ] Dokumentation beinhaltet Datenquellen-Begründung
- [ ] Analyse-Skripte referenzieren BDP-Datenpfade
- [ ] README beinhaltet
bdp pullin Setup-Anweisungen - [ ] Datenverfügbarkeitserklärung generiert
Performance-Tipps#
Downloads optimieren#
Für große Datensätze:
# Parallele Downloads verwenden (wenn verfügbar)bdp pull --parallel # Prüfsummen separat verifizieren falls nötigbdp audit --checksums-onlyCache-Verwaltung#
Cache-Größe überwachen:
# Cache-Nutzung prüfenbdp config cache info # Ungenutzte gecachte Daten bereinigenbdp cache clean --unusedSicherheit#
Datenintegrität validieren#
Prüfsummen immer verifizieren:
# Alle Quellen prüfenbdp audit # Spezifische Quelle verifizierenbdp audit uniprot:P01308-fasta@1.0Audit-Trail überprüfen#
Vor kritischen Analysen:
# Alle Datenverwaltungs-Operationen überprüfenbdp audit log # Verifizieren dass keine Manipulation erkannt wurdebdp audit verifyZusammenarbeit#
Neue Teammitglieder onboarden#
Machen Sie es Neulingen einfach:
-
BDP-Setup in README einschließen:
markdown## Setup1. BDP installieren: `curl -fsSL https://bdp.dev/install.sh | sh`2. Daten pullen: `bdp pull`3. Analyse ausführen: `python scripts/analyze.py` -
Alle manuellen Schritte dokumentieren
-
Den vollständigen Setup-Prozess regelmäßig testen
Workflows teilen#
Beim Teilen von Methoden:
# Exakte Konfiguration exportierenbdp export --format=yaml > workflow-config.yml # Mit Paper-Ergänzungsmaterial teilenHilfe erhalten#
- Dokumentation: Lesen Sie die vollständige Dokumentation in Ihrer BDP-Installation
- Issues: Bugs im Codeberg-Repository melden
- Diskussionen: Fragen in Codeberg Issues stellen
- E-Mail: Kontaktieren Sie die Maintainer für sensible Fragen
Beitragen#
Helfen Sie diese Best Practices zu verbessern:
- Teilen Sie Ihre Workflows und Muster
- Schlagen Sie Verbesserungen via Codeberg Issues vor
- Tragen Sie Dokumentationsverbesserungen bei
- Berichten Sie was funktioniert (und was nicht) in Ihrem Labor