Adakah yang bisa merekomendasikan saya sistem manajemen alur kerja yang baik (WMS), lebih disukai di Python? Sejauh ini saya telah menggunakan GNU Make, tetapi memperkenalkan lapisan kompleksitas yang ingin saya hindari. WMS yang baik harus memiliki fitur-fitur berikut:
- mengintegrasikan dengan mudah dengan alat baris perintah dan skrip Python,
- mudah digunakan dan ringan,
- menangani dependensi,
- menyediakan antarmuka baris perintah,
- menyediakan mekanisme penebangan,
- (opsional) memberikan sumber data.
Saya tahu bahwa WMS sangat populer dalam bioinformatika (misalnya Galaxy ), tetapi saya mencari sesuatu yang lebih umum.
Jawaban:
Untuk logging yang memungkinkan reproduksi penuh, saya sangat merekomendasikan paket python Sumatra . Ini baik menghubungkan nomor komit kontrol versi, keadaan mesin, dan file output untuk setiap program yang dijalankan dan memiliki antarmuka web Django untuk berinteraksi dengan database info run. API python membuatnya sangat mudah untuk memasukkan logging di skrip saya.
sumber
Beberapa bulan yang lalu, saya menemukan situs web Hans-Martin v. Gaudecker yang sangat direkomendasikan yang mengajarkan kursus seperti "Praktek pemrograman yang efektif untuk ekonom". Dalam kursus Musim Gugur 2010, ia memperkenalkan SCons, dalam kursus Musim Gugur 2011, ia beralih ke waf , yang seharusnya lebih cepat dari SCons tetapi masih berbasis Python. Slide untuk kedua kursus tersedia untuk diunduh dan saya (sebagai ilmuwan sosial) menemukan mereka sangat instruktif dan mencerahkan.
sumber
Lihatlah VisTrails . Saya belum menggunakannya (hanya barang-barang rumahan
make
), tetapi terlihat dipikirkan dengan baik, dengan dokumen yang bagus, dan memiliki pengguna nyata di NASA dll.(Apakah Anda mencari alat untuk 1-2 orang, 4-5, lebih banyak ?)
Ditambahkan: tidak cukup pertanyaan Anda, tapi saya pikir layak untuk diulang:
untuk eksperimen komputer yang seragam dan dapat diproduksi ulang yang jelas dibutuhkan
Lihat juga software-carpentry.org : "Masalah yang kami coba selesaikan adalah bahwa para ilmuwan sering menghabiskan 40% atau lebih dari waktu mereka bergulat dengan perangkat lunak, tetapi 95% atau lebih dari mereka pada dasarnya otodidak".
sumber
Semua persyaratan yang Anda sebutkan dalam pertanyaan Anda dipenuhi oleh sistem skrip paralel Swift.
Saya menghabiskan satu tahun dengan kelompok Swift sebagai peneliti postdoctoral (PhD dalam alur kerja ilmiah). Kami telah membantu para ilmuwan dan peneliti dari berbagai domain mengatasi kebutuhan komputasi mereka.
Swift adalah kerangka kerja sumber terbuka untuk menjalankan alur kerja secara paralel. Ini disebut skrip paralel terutama untuk menyoroti fakta bahwa ia menyediakan antarmuka skrip untuk membuat alur kerja yang bertentangan dengan antarmuka kotak-panah GUI.
Saya pribadi dapat membantu Anda memulai dan menjalankan aplikasi Anda dengan Swift. Untuk mengetahui lebih lanjut tentang Swift, silakan lihat di sini .
sumber
Taverna adalah WMS open-source, bukan Python tetapi Java.
sumber
Halaman ini menyebutkan beberapa paket: https://wiki.python.org/moin/FlowBasedProgramming
Paket menjanjikan lainnya yang tidak disebutkan di sini adalah Snakemake.
sumber
Dexy terdengar seperti apa yang kamu cari. Dari situs:
sumber
Knime atau Rapidminer kemungkinan bisa menangani semua persyaratan juga. Apakah mereka harus siap diperebutkan :)
sumber