Ich habe ein Verzeichnis mit 10 Unterverzeichnissen (dir01 bis dir10) und eine Anzahl von Dateien in jedem von ihnen (neue Dateien werden jeden Tag zu den Unterverzeichnissen hinzugefügt) .Verarbeiten Sie mehrere Verzeichnisse und alle Dateien innerhalb von snakemake
Ich versuche, eine snakemake
Datei zu schreiben, die alle Unterverzeichnisse und alle Dateien durchläuft und sie verarbeitet (führen Sie meine ausführbare Datei convert.exe
aus, um meine .Stp-Dateien in .Xml zu konvertieren). Die verarbeiteten Dateien werden in ein neues Verzeichnis verschoben, aber in Unterverzeichnisse mit denselben Namen wie zuvor und demselben Dateinamen.
So - als Beispiel am Ende soll der endgültige Auftragsablauf ähnlich läuft dazu:
/data01/dir01/Sample1.Stp --> processed by convert.exe --> /data01/temp/dir01/Sample1.xml
Ich würde auch diese gerne teilen über die 12 CPUs ich habe Zugriff auf es läuft parallel zu.
Ich habe gerade angefangen, snakemake zu verwenden und habe ein paar Tutorials durchgelaufen, bin aber ein bisschen verloren.
Hier ist, was ich bisher habe: Es funktioniert nicht und ich bin nicht einmal sicher, ob dies der Schreibweise ist, darüber zu gehen. Dies ist auch nur der erste Teil - nur versuchen, die Verzeichnisse und Dateien durchzulaufen (nicht versuchen, noch zu konvertieren oder parallel zu laufen).
directories = glob_wildcards("/data01/{dir}")
files = glob_wildcards("/data01/{dir}/{file}")
rule all:
input:
expand("/data01/temp/{dir}/{file}.moved.Stp", dir=directories, file=files)
rule sort:
input:
"/data01/{dir}/{file}.Stp"
output:
"/data01/temp/{dir}/{file}.moved.Stp"
shell:
"..."
Irgendwelche Hilfe über, wie man darüber geht, würde sehr geschätzt werden!
Danke!