wfcommons 1.2__tar.gz → 1.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (576) hide show
  1. {wfcommons-1.2/wfcommons.egg-info → wfcommons-1.4}/PKG-INFO +47 -37
  2. {wfcommons-1.2 → wfcommons-1.4}/README.md +42 -31
  3. {wfcommons-1.2 → wfcommons-1.4}/bin/cpu-benchmark +0 -0
  4. {wfcommons-1.2 → wfcommons-1.4}/bin/wfbench +6 -2
  5. {wfcommons-1.2 → wfcommons-1.4}/pyproject.toml +10 -6
  6. {wfcommons-1.2 → wfcommons-1.4}/setup.cfg +1 -1
  7. wfcommons-1.4/setup.py +74 -0
  8. wfcommons-1.4/tests/test_helpers.py +168 -0
  9. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/__init__.py +1 -1
  10. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/common/__init__.py +1 -1
  11. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/common/file.py +2 -12
  12. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/common/workflow.py +15 -8
  13. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/utils.py +1 -1
  14. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/version.py +2 -2
  15. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfbench/__init__.py +1 -1
  16. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfbench/bench.py +59 -221
  17. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfbench/translator/__init__.py +1 -0
  18. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfbench/translator/abstract_translator.py +5 -2
  19. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfbench/translator/airflow.py +65 -15
  20. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfbench/translator/bash.py +1 -1
  21. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfbench/translator/dask.py +11 -0
  22. wfcommons-1.4/wfcommons/wfbench/translator/makeflow.py +118 -0
  23. wfcommons-1.4/wfcommons/wfbench/translator/nextflow.py +561 -0
  24. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfbench/translator/parsl.py +11 -6
  25. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfbench/translator/pegasus.py +4 -4
  26. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfbench/translator/pycompss.py +2 -2
  27. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfbench/translator/taskvine.py +42 -21
  28. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfbench/translator/templates/dask_template.py +2 -0
  29. wfcommons-1.4/wfcommons/wfbench/translator/templates/nextflow/nextflow_hyperqueue_job.sh +40 -0
  30. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfbench/translator/templates/nextflow/workflow.nf +2 -2
  31. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfbench/translator/templates/swift_t/workflow.swift +19 -19
  32. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfbench/translator/templates/taskvine_template.py +5 -4
  33. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/chef.py +276 -67
  34. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/find_microstructures.py +12 -12
  35. wfcommons-1.4/wfcommons/wfchef/recipes/blast/__pycache__/__init__.cpython-314.pyc +0 -0
  36. wfcommons-1.4/wfcommons/wfchef/recipes/blast/__pycache__/recipe.cpython-314.pyc +0 -0
  37. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/blast/recipe.py +3 -1
  38. wfcommons-1.4/wfcommons/wfchef/recipes/blast/task_type_stats.json +1 -0
  39. wfcommons-1.4/wfcommons/wfchef/recipes/bwa/__pycache__/__init__.cpython-314.pyc +0 -0
  40. wfcommons-1.4/wfcommons/wfchef/recipes/bwa/__pycache__/recipe.cpython-314.pyc +0 -0
  41. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/bwa/recipe.py +3 -1
  42. wfcommons-1.4/wfcommons/wfchef/recipes/bwa/task_type_stats.json +1 -0
  43. wfcommons-1.4/wfcommons/wfchef/recipes/cycles/__pycache__/__init__.cpython-314.pyc +0 -0
  44. wfcommons-1.4/wfcommons/wfchef/recipes/cycles/__pycache__/recipe.cpython-314.pyc +0 -0
  45. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/recipe.py +3 -1
  46. wfcommons-1.4/wfcommons/wfchef/recipes/cycles/task_type_stats.json +1 -0
  47. wfcommons-1.4/wfcommons/wfchef/recipes/epigenomics/__pycache__/__init__.cpython-314.pyc +0 -0
  48. wfcommons-1.4/wfcommons/wfchef/recipes/epigenomics/__pycache__/recipe.cpython-314.pyc +0 -0
  49. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/recipe.py +3 -1
  50. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/task_type_stats.json +6 -6
  51. wfcommons-1.4/wfcommons/wfchef/recipes/genome/__pycache__/__init__.cpython-314.pyc +0 -0
  52. wfcommons-1.4/wfcommons/wfchef/recipes/genome/__pycache__/recipe.cpython-314.pyc +0 -0
  53. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/recipe.py +3 -1
  54. wfcommons-1.4/wfcommons/wfchef/recipes/genome/task_type_stats.json +1 -0
  55. wfcommons-1.4/wfcommons/wfchef/recipes/montage/__pycache__/__init__.cpython-314.pyc +0 -0
  56. wfcommons-1.4/wfcommons/wfchef/recipes/montage/__pycache__/recipe.cpython-314.pyc +0 -0
  57. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/montage/recipe.py +3 -1
  58. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/montage/task_type_stats.json +8 -8
  59. wfcommons-1.4/wfcommons/wfchef/recipes/rnaseq/__pycache__/__init__.cpython-314.pyc +0 -0
  60. wfcommons-1.4/wfcommons/wfchef/recipes/rnaseq/__pycache__/recipe.cpython-314.pyc +0 -0
  61. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/rnaseq/recipe.py +3 -1
  62. wfcommons-1.4/wfcommons/wfchef/recipes/seismology/__pycache__/__init__.cpython-314.pyc +0 -0
  63. wfcommons-1.4/wfcommons/wfchef/recipes/seismology/__pycache__/recipe.cpython-314.pyc +0 -0
  64. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/seismology/recipe.py +3 -1
  65. wfcommons-1.4/wfcommons/wfchef/recipes/seismology/task_type_stats.json +1 -0
  66. wfcommons-1.4/wfcommons/wfchef/recipes/soykb/__pycache__/__init__.cpython-314.pyc +0 -0
  67. wfcommons-1.4/wfcommons/wfchef/recipes/soykb/__pycache__/recipe.cpython-314.pyc +0 -0
  68. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/soykb/recipe.py +3 -1
  69. wfcommons-1.4/wfcommons/wfchef/recipes/soykb/task_type_stats.json +1 -0
  70. wfcommons-1.4/wfcommons/wfchef/recipes/srasearch/__pycache__/__init__.cpython-314.pyc +0 -0
  71. wfcommons-1.4/wfcommons/wfchef/recipes/srasearch/__pycache__/recipe.cpython-314.pyc +0 -0
  72. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/recipe.py +3 -1
  73. wfcommons-1.4/wfcommons/wfchef/recipes/srasearch/task_type_stats.json +1 -0
  74. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/skeletons/recipe.py +3 -1
  75. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/utils.py +3 -3
  76. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/wfchef_abstract_recipe.py +4 -2
  77. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfgen/abstract_recipe.py +61 -55
  78. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfinstances/instance.py +2 -4
  79. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfinstances/instance_analyzer.py +1 -6
  80. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfinstances/logs/__init__.py +1 -0
  81. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfinstances/logs/makeflow.py +76 -64
  82. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfinstances/logs/nextflow.py +2 -2
  83. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfinstances/logs/pegasus.py +249 -240
  84. wfcommons-1.4/wfcommons/wfinstances/logs/pegasusrec.py +721 -0
  85. wfcommons-1.4/wfcommons/wfinstances/logs/taskvine.py +305 -0
  86. {wfcommons-1.2 → wfcommons-1.4/wfcommons.egg-info}/PKG-INFO +47 -37
  87. {wfcommons-1.2 → wfcommons-1.4}/wfcommons.egg-info/SOURCES.txt +25 -77
  88. {wfcommons-1.2 → wfcommons-1.4}/wfcommons.egg-info/requires.txt +2 -1
  89. wfcommons-1.2/setup.py +0 -55
  90. wfcommons-1.2/wfcommons/wfbench/translator/nextflow.py +0 -320
  91. wfcommons-1.2/wfcommons/wfchef/recipes/blast/__pycache__/__init__.cpython-311.pyc +0 -0
  92. wfcommons-1.2/wfcommons/wfchef/recipes/blast/__pycache__/__init__.cpython-312.pyc +0 -0
  93. wfcommons-1.2/wfcommons/wfchef/recipes/blast/__pycache__/__init__.cpython-313.pyc +0 -0
  94. wfcommons-1.2/wfcommons/wfchef/recipes/blast/__pycache__/__init__.cpython-39.pyc +0 -0
  95. wfcommons-1.2/wfcommons/wfchef/recipes/blast/__pycache__/recipe.cpython-311.pyc +0 -0
  96. wfcommons-1.2/wfcommons/wfchef/recipes/blast/__pycache__/recipe.cpython-312.pyc +0 -0
  97. wfcommons-1.2/wfcommons/wfchef/recipes/blast/__pycache__/recipe.cpython-313.pyc +0 -0
  98. wfcommons-1.2/wfcommons/wfchef/recipes/blast/__pycache__/recipe.cpython-39.pyc +0 -0
  99. wfcommons-1.2/wfcommons/wfchef/recipes/blast/task_type_stats.json +0 -1
  100. wfcommons-1.2/wfcommons/wfchef/recipes/bwa/__pycache__/__init__.cpython-311.pyc +0 -0
  101. wfcommons-1.2/wfcommons/wfchef/recipes/bwa/__pycache__/__init__.cpython-312.pyc +0 -0
  102. wfcommons-1.2/wfcommons/wfchef/recipes/bwa/__pycache__/__init__.cpython-313.pyc +0 -0
  103. wfcommons-1.2/wfcommons/wfchef/recipes/bwa/__pycache__/__init__.cpython-39.pyc +0 -0
  104. wfcommons-1.2/wfcommons/wfchef/recipes/bwa/__pycache__/recipe.cpython-311.pyc +0 -0
  105. wfcommons-1.2/wfcommons/wfchef/recipes/bwa/__pycache__/recipe.cpython-312.pyc +0 -0
  106. wfcommons-1.2/wfcommons/wfchef/recipes/bwa/__pycache__/recipe.cpython-313.pyc +0 -0
  107. wfcommons-1.2/wfcommons/wfchef/recipes/bwa/__pycache__/recipe.cpython-39.pyc +0 -0
  108. wfcommons-1.2/wfcommons/wfchef/recipes/bwa/task_type_stats.json +0 -1
  109. wfcommons-1.2/wfcommons/wfchef/recipes/cycles/__pycache__/__init__.cpython-311.pyc +0 -0
  110. wfcommons-1.2/wfcommons/wfchef/recipes/cycles/__pycache__/__init__.cpython-312.pyc +0 -0
  111. wfcommons-1.2/wfcommons/wfchef/recipes/cycles/__pycache__/__init__.cpython-313.pyc +0 -0
  112. wfcommons-1.2/wfcommons/wfchef/recipes/cycles/__pycache__/__init__.cpython-39.pyc +0 -0
  113. wfcommons-1.2/wfcommons/wfchef/recipes/cycles/__pycache__/recipe.cpython-311.pyc +0 -0
  114. wfcommons-1.2/wfcommons/wfchef/recipes/cycles/__pycache__/recipe.cpython-312.pyc +0 -0
  115. wfcommons-1.2/wfcommons/wfchef/recipes/cycles/__pycache__/recipe.cpython-313.pyc +0 -0
  116. wfcommons-1.2/wfcommons/wfchef/recipes/cycles/__pycache__/recipe.cpython-39.pyc +0 -0
  117. wfcommons-1.2/wfcommons/wfchef/recipes/cycles/task_type_stats.json +0 -1
  118. wfcommons-1.2/wfcommons/wfchef/recipes/epigenomics/__pycache__/__init__.cpython-311.pyc +0 -0
  119. wfcommons-1.2/wfcommons/wfchef/recipes/epigenomics/__pycache__/__init__.cpython-312.pyc +0 -0
  120. wfcommons-1.2/wfcommons/wfchef/recipes/epigenomics/__pycache__/__init__.cpython-313.pyc +0 -0
  121. wfcommons-1.2/wfcommons/wfchef/recipes/epigenomics/__pycache__/__init__.cpython-39.pyc +0 -0
  122. wfcommons-1.2/wfcommons/wfchef/recipes/epigenomics/__pycache__/recipe.cpython-311.pyc +0 -0
  123. wfcommons-1.2/wfcommons/wfchef/recipes/epigenomics/__pycache__/recipe.cpython-312.pyc +0 -0
  124. wfcommons-1.2/wfcommons/wfchef/recipes/epigenomics/__pycache__/recipe.cpython-313.pyc +0 -0
  125. wfcommons-1.2/wfcommons/wfchef/recipes/epigenomics/__pycache__/recipe.cpython-39.pyc +0 -0
  126. wfcommons-1.2/wfcommons/wfchef/recipes/genome/__pycache__/__init__.cpython-311.pyc +0 -0
  127. wfcommons-1.2/wfcommons/wfchef/recipes/genome/__pycache__/__init__.cpython-312.pyc +0 -0
  128. wfcommons-1.2/wfcommons/wfchef/recipes/genome/__pycache__/__init__.cpython-313.pyc +0 -0
  129. wfcommons-1.2/wfcommons/wfchef/recipes/genome/__pycache__/__init__.cpython-39.pyc +0 -0
  130. wfcommons-1.2/wfcommons/wfchef/recipes/genome/__pycache__/recipe.cpython-311.pyc +0 -0
  131. wfcommons-1.2/wfcommons/wfchef/recipes/genome/__pycache__/recipe.cpython-312.pyc +0 -0
  132. wfcommons-1.2/wfcommons/wfchef/recipes/genome/__pycache__/recipe.cpython-313.pyc +0 -0
  133. wfcommons-1.2/wfcommons/wfchef/recipes/genome/__pycache__/recipe.cpython-39.pyc +0 -0
  134. wfcommons-1.2/wfcommons/wfchef/recipes/genome/task_type_stats.json +0 -1
  135. wfcommons-1.2/wfcommons/wfchef/recipes/montage/__pycache__/__init__.cpython-311.pyc +0 -0
  136. wfcommons-1.2/wfcommons/wfchef/recipes/montage/__pycache__/__init__.cpython-312.pyc +0 -0
  137. wfcommons-1.2/wfcommons/wfchef/recipes/montage/__pycache__/__init__.cpython-313.pyc +0 -0
  138. wfcommons-1.2/wfcommons/wfchef/recipes/montage/__pycache__/__init__.cpython-39.pyc +0 -0
  139. wfcommons-1.2/wfcommons/wfchef/recipes/montage/__pycache__/recipe.cpython-311.pyc +0 -0
  140. wfcommons-1.2/wfcommons/wfchef/recipes/montage/__pycache__/recipe.cpython-312.pyc +0 -0
  141. wfcommons-1.2/wfcommons/wfchef/recipes/montage/__pycache__/recipe.cpython-313.pyc +0 -0
  142. wfcommons-1.2/wfcommons/wfchef/recipes/montage/__pycache__/recipe.cpython-39.pyc +0 -0
  143. wfcommons-1.2/wfcommons/wfchef/recipes/rnaseq/__pycache__/__init__.cpython-311.pyc +0 -0
  144. wfcommons-1.2/wfcommons/wfchef/recipes/rnaseq/__pycache__/__init__.cpython-312.pyc +0 -0
  145. wfcommons-1.2/wfcommons/wfchef/recipes/rnaseq/__pycache__/recipe.cpython-311.pyc +0 -0
  146. wfcommons-1.2/wfcommons/wfchef/recipes/rnaseq/__pycache__/recipe.cpython-312.pyc +0 -0
  147. wfcommons-1.2/wfcommons/wfchef/recipes/seismology/__pycache__/__init__.cpython-311.pyc +0 -0
  148. wfcommons-1.2/wfcommons/wfchef/recipes/seismology/__pycache__/__init__.cpython-312.pyc +0 -0
  149. wfcommons-1.2/wfcommons/wfchef/recipes/seismology/__pycache__/__init__.cpython-313.pyc +0 -0
  150. wfcommons-1.2/wfcommons/wfchef/recipes/seismology/__pycache__/__init__.cpython-39.pyc +0 -0
  151. wfcommons-1.2/wfcommons/wfchef/recipes/seismology/__pycache__/recipe.cpython-311.pyc +0 -0
  152. wfcommons-1.2/wfcommons/wfchef/recipes/seismology/__pycache__/recipe.cpython-312.pyc +0 -0
  153. wfcommons-1.2/wfcommons/wfchef/recipes/seismology/__pycache__/recipe.cpython-313.pyc +0 -0
  154. wfcommons-1.2/wfcommons/wfchef/recipes/seismology/__pycache__/recipe.cpython-39.pyc +0 -0
  155. wfcommons-1.2/wfcommons/wfchef/recipes/seismology/task_type_stats.json +0 -1
  156. wfcommons-1.2/wfcommons/wfchef/recipes/soykb/__pycache__/__init__.cpython-311.pyc +0 -0
  157. wfcommons-1.2/wfcommons/wfchef/recipes/soykb/__pycache__/__init__.cpython-312.pyc +0 -0
  158. wfcommons-1.2/wfcommons/wfchef/recipes/soykb/__pycache__/__init__.cpython-313.pyc +0 -0
  159. wfcommons-1.2/wfcommons/wfchef/recipes/soykb/__pycache__/__init__.cpython-39.pyc +0 -0
  160. wfcommons-1.2/wfcommons/wfchef/recipes/soykb/__pycache__/recipe.cpython-311.pyc +0 -0
  161. wfcommons-1.2/wfcommons/wfchef/recipes/soykb/__pycache__/recipe.cpython-312.pyc +0 -0
  162. wfcommons-1.2/wfcommons/wfchef/recipes/soykb/__pycache__/recipe.cpython-313.pyc +0 -0
  163. wfcommons-1.2/wfcommons/wfchef/recipes/soykb/__pycache__/recipe.cpython-39.pyc +0 -0
  164. wfcommons-1.2/wfcommons/wfchef/recipes/soykb/task_type_stats.json +0 -1
  165. wfcommons-1.2/wfcommons/wfchef/recipes/srasearch/__pycache__/__init__.cpython-311.pyc +0 -0
  166. wfcommons-1.2/wfcommons/wfchef/recipes/srasearch/__pycache__/__init__.cpython-312.pyc +0 -0
  167. wfcommons-1.2/wfcommons/wfchef/recipes/srasearch/__pycache__/__init__.cpython-313.pyc +0 -0
  168. wfcommons-1.2/wfcommons/wfchef/recipes/srasearch/__pycache__/__init__.cpython-39.pyc +0 -0
  169. wfcommons-1.2/wfcommons/wfchef/recipes/srasearch/__pycache__/recipe.cpython-311.pyc +0 -0
  170. wfcommons-1.2/wfcommons/wfchef/recipes/srasearch/__pycache__/recipe.cpython-312.pyc +0 -0
  171. wfcommons-1.2/wfcommons/wfchef/recipes/srasearch/__pycache__/recipe.cpython-313.pyc +0 -0
  172. wfcommons-1.2/wfcommons/wfchef/recipes/srasearch/__pycache__/recipe.cpython-39.pyc +0 -0
  173. wfcommons-1.2/wfcommons/wfchef/recipes/srasearch/task_type_stats.json +0 -1
  174. wfcommons-1.2/wfcommons/wfinstances/logs/pegasusrec.py +0 -697
  175. {wfcommons-1.2 → wfcommons-1.4}/LICENSE +0 -0
  176. {wfcommons-1.2 → wfcommons-1.4}/MANIFEST.in +0 -0
  177. {wfcommons-1.2 → wfcommons-1.4}/Makefile +0 -0
  178. {wfcommons-1.2 → wfcommons-1.4}/bin/cpu-benchmark.cpp +0 -0
  179. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/common/machine.py +0 -0
  180. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/common/task.py +0 -0
  181. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfbench/translator/cwl.py +0 -0
  182. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfbench/translator/swift_t.py +0 -0
  183. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfbench/translator/templates/cwl/folder.cwl +0 -0
  184. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfbench/translator/templates/cwl/shell.cwl +0 -0
  185. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfbench/translator/templates/cwl/wfbench.cwl +0 -0
  186. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfbench/translator/templates/flowcept_agent.py +0 -0
  187. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfbench/translator/templates/parsl_template.py +0 -0
  188. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfbench/translator/templates/pegasus_template.py +0 -0
  189. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfbench/translator/templates/pycompss_template.py +0 -0
  190. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfbench/translator/templates/taskvine_poncho.json +0 -0
  191. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/__init__.py +0 -0
  192. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/duplicate.py +0 -0
  193. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/__init__.py +0 -0
  194. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/blast/__init__.py +0 -0
  195. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/blast/microstructures/blast-chameleon-large-001/base_graph.pickle +0 -0
  196. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/blast/microstructures/blast-chameleon-large-001/microstructures.json +0 -0
  197. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/blast/microstructures/blast-chameleon-large-002/base_graph.pickle +0 -0
  198. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/blast/microstructures/blast-chameleon-large-002/microstructures.json +0 -0
  199. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/blast/microstructures/blast-chameleon-large-003/base_graph.pickle +0 -0
  200. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/blast/microstructures/blast-chameleon-large-003/microstructures.json +0 -0
  201. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/blast/microstructures/blast-chameleon-large-004/base_graph.pickle +0 -0
  202. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/blast/microstructures/blast-chameleon-large-004/microstructures.json +0 -0
  203. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/blast/microstructures/blast-chameleon-large-005/base_graph.pickle +0 -0
  204. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/blast/microstructures/blast-chameleon-large-005/microstructures.json +0 -0
  205. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/blast/microstructures/blast-chameleon-medium-001/base_graph.pickle +0 -0
  206. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/blast/microstructures/blast-chameleon-medium-001/microstructures.json +0 -0
  207. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/blast/microstructures/blast-chameleon-medium-002/base_graph.pickle +0 -0
  208. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/blast/microstructures/blast-chameleon-medium-002/microstructures.json +0 -0
  209. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/blast/microstructures/blast-chameleon-medium-003/base_graph.pickle +0 -0
  210. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/blast/microstructures/blast-chameleon-medium-003/microstructures.json +0 -0
  211. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/blast/microstructures/blast-chameleon-medium-004/base_graph.pickle +0 -0
  212. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/blast/microstructures/blast-chameleon-medium-004/microstructures.json +0 -0
  213. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/blast/microstructures/blast-chameleon-medium-005/base_graph.pickle +0 -0
  214. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/blast/microstructures/blast-chameleon-medium-005/microstructures.json +0 -0
  215. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/blast/microstructures/blast-chameleon-small-001/base_graph.pickle +0 -0
  216. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/blast/microstructures/blast-chameleon-small-001/microstructures.json +0 -0
  217. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/blast/microstructures/blast-chameleon-small-002/base_graph.pickle +0 -0
  218. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/blast/microstructures/blast-chameleon-small-002/microstructures.json +0 -0
  219. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/blast/microstructures/blast-chameleon-small-003/base_graph.pickle +0 -0
  220. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/blast/microstructures/blast-chameleon-small-003/microstructures.json +0 -0
  221. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/blast/microstructures/blast-chameleon-small-004/base_graph.pickle +0 -0
  222. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/blast/microstructures/blast-chameleon-small-004/microstructures.json +0 -0
  223. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/blast/microstructures/blast-chameleon-small-005/base_graph.pickle +0 -0
  224. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/blast/microstructures/blast-chameleon-small-005/microstructures.json +0 -0
  225. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/blast/microstructures/metric/err.csv +0 -0
  226. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/blast/microstructures/summary.json +0 -0
  227. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/bwa/__init__.py +0 -0
  228. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/bwa/microstructures/bwa-chameleon-large-001/base_graph.pickle +0 -0
  229. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/bwa/microstructures/bwa-chameleon-large-001/microstructures.json +0 -0
  230. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/bwa/microstructures/bwa-chameleon-large-002/base_graph.pickle +0 -0
  231. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/bwa/microstructures/bwa-chameleon-large-002/microstructures.json +0 -0
  232. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/bwa/microstructures/bwa-chameleon-large-003/base_graph.pickle +0 -0
  233. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/bwa/microstructures/bwa-chameleon-large-003/microstructures.json +0 -0
  234. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/bwa/microstructures/bwa-chameleon-large-004/base_graph.pickle +0 -0
  235. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/bwa/microstructures/bwa-chameleon-large-004/microstructures.json +0 -0
  236. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/bwa/microstructures/bwa-chameleon-large-005/base_graph.pickle +0 -0
  237. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/bwa/microstructures/bwa-chameleon-large-005/microstructures.json +0 -0
  238. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/bwa/microstructures/bwa-chameleon-medium-001/base_graph.pickle +0 -0
  239. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/bwa/microstructures/bwa-chameleon-medium-001/microstructures.json +0 -0
  240. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/bwa/microstructures/bwa-chameleon-medium-002/base_graph.pickle +0 -0
  241. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/bwa/microstructures/bwa-chameleon-medium-002/microstructures.json +0 -0
  242. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/bwa/microstructures/bwa-chameleon-medium-003/base_graph.pickle +0 -0
  243. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/bwa/microstructures/bwa-chameleon-medium-003/microstructures.json +0 -0
  244. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/bwa/microstructures/bwa-chameleon-medium-004/base_graph.pickle +0 -0
  245. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/bwa/microstructures/bwa-chameleon-medium-004/microstructures.json +0 -0
  246. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/bwa/microstructures/bwa-chameleon-medium-005/base_graph.pickle +0 -0
  247. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/bwa/microstructures/bwa-chameleon-medium-005/microstructures.json +0 -0
  248. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/bwa/microstructures/bwa-chameleon-small-001/base_graph.pickle +0 -0
  249. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/bwa/microstructures/bwa-chameleon-small-001/microstructures.json +0 -0
  250. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/bwa/microstructures/bwa-chameleon-small-002/base_graph.pickle +0 -0
  251. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/bwa/microstructures/bwa-chameleon-small-002/microstructures.json +0 -0
  252. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/bwa/microstructures/bwa-chameleon-small-003/base_graph.pickle +0 -0
  253. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/bwa/microstructures/bwa-chameleon-small-003/microstructures.json +0 -0
  254. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/bwa/microstructures/bwa-chameleon-small-004/base_graph.pickle +0 -0
  255. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/bwa/microstructures/bwa-chameleon-small-004/microstructures.json +0 -0
  256. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/bwa/microstructures/bwa-chameleon-small-005/base_graph.pickle +0 -0
  257. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/bwa/microstructures/bwa-chameleon-small-005/microstructures.json +0 -0
  258. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/bwa/microstructures/metric/err.csv +0 -0
  259. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/bwa/microstructures/summary.json +0 -0
  260. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/__init__.py +0 -0
  261. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-10l-1c-12p-001/base_graph.pickle +0 -0
  262. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-10l-1c-12p-001/microstructures.json +0 -0
  263. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-10l-1c-9p-001/base_graph.pickle +0 -0
  264. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-10l-1c-9p-001/microstructures.json +0 -0
  265. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-10l-2c-9p-001/base_graph.pickle +0 -0
  266. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-10l-2c-9p-001/microstructures.json +0 -0
  267. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-10l-3c-9p-001/base_graph.pickle +0 -0
  268. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-10l-3c-9p-001/microstructures.json +0 -0
  269. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-1l-1c-12p-001/base_graph.pickle +0 -0
  270. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-1l-1c-12p-001/microstructures.json +0 -0
  271. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-1l-1c-9p-001/base_graph.pickle +0 -0
  272. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-1l-1c-9p-001/microstructures.json +0 -0
  273. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-1l-2c-12p-001/base_graph.pickle +0 -0
  274. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-1l-2c-12p-001/microstructures.json +0 -0
  275. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-1l-2c-9p-001/base_graph.pickle +0 -0
  276. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-1l-2c-9p-001/microstructures.json +0 -0
  277. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-1l-3c-12p-001/base_graph.pickle +0 -0
  278. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-1l-3c-12p-001/microstructures.json +0 -0
  279. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-1l-3c-9p-001/base_graph.pickle +0 -0
  280. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-1l-3c-9p-001/microstructures.json +0 -0
  281. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-2l-1c-12p-001/base_graph.pickle +0 -0
  282. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-2l-1c-12p-001/microstructures.json +0 -0
  283. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-2l-1c-9p-001/base_graph.pickle +0 -0
  284. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-2l-1c-9p-001/microstructures.json +0 -0
  285. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-2l-2c-12p-001/base_graph.pickle +0 -0
  286. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-2l-2c-12p-001/microstructures.json +0 -0
  287. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-2l-2c-9p-001/base_graph.pickle +0 -0
  288. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-2l-2c-9p-001/microstructures.json +0 -0
  289. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-2l-3c-12p-001/base_graph.pickle +0 -0
  290. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-2l-3c-12p-001/microstructures.json +0 -0
  291. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-2l-3c-9p-001/base_graph.pickle +0 -0
  292. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-2l-3c-9p-001/microstructures.json +0 -0
  293. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-5l-1c-12p-001/base_graph.pickle +0 -0
  294. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-5l-1c-12p-001/microstructures.json +0 -0
  295. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-5l-1c-9p-001/base_graph.pickle +0 -0
  296. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-5l-1c-9p-001/microstructures.json +0 -0
  297. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-5l-2c-12p-001/base_graph.pickle +0 -0
  298. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-5l-2c-12p-001/microstructures.json +0 -0
  299. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-5l-2c-9p-001/base_graph.pickle +0 -0
  300. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-5l-2c-9p-001/microstructures.json +0 -0
  301. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-5l-3c-12p-001/base_graph.pickle +0 -0
  302. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-5l-3c-12p-001/microstructures.json +0 -0
  303. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-5l-3c-9p-001/base_graph.pickle +0 -0
  304. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/cycles-chameleon-5l-3c-9p-001/microstructures.json +0 -0
  305. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/metric/err.csv +0 -0
  306. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/seismology-chameleon-100p-001/base_graph.pickle +0 -0
  307. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/seismology-chameleon-100p-001/microstructures.json +0 -0
  308. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/seismology-chameleon-1100p-001/base_graph.pickle +0 -0
  309. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/seismology-chameleon-1100p-001/microstructures.json +0 -0
  310. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/seismology-chameleon-200p-001/base_graph.pickle +0 -0
  311. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/seismology-chameleon-200p-001/microstructures.json +0 -0
  312. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/seismology-chameleon-300p-001/base_graph.pickle +0 -0
  313. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/seismology-chameleon-300p-001/microstructures.json +0 -0
  314. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/seismology-chameleon-400p-001/base_graph.pickle +0 -0
  315. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/seismology-chameleon-400p-001/microstructures.json +0 -0
  316. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/seismology-chameleon-500p-001/base_graph.pickle +0 -0
  317. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/seismology-chameleon-500p-001/microstructures.json +0 -0
  318. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/seismology-chameleon-600p-001/base_graph.pickle +0 -0
  319. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/seismology-chameleon-600p-001/microstructures.json +0 -0
  320. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/seismology-chameleon-700p-001/base_graph.pickle +0 -0
  321. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/seismology-chameleon-700p-001/microstructures.json +0 -0
  322. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/seismology-chameleon-800p-001/base_graph.pickle +0 -0
  323. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/seismology-chameleon-800p-001/microstructures.json +0 -0
  324. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/seismology-chameleon-900p-001/base_graph.pickle +0 -0
  325. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/seismology-chameleon-900p-001/microstructures.json +0 -0
  326. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/cycles/microstructures/summary.json +0 -0
  327. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/__init__.py +0 -0
  328. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-hep-1seq-100k-001/base_graph.pickle +0 -0
  329. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-hep-1seq-100k-001/microstructures.json +0 -0
  330. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-hep-1seq-50k-001/base_graph.pickle +0 -0
  331. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-hep-1seq-50k-001/microstructures.json +0 -0
  332. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-hep-2seq-100k-001/base_graph.pickle +0 -0
  333. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-hep-2seq-100k-001/microstructures.json +0 -0
  334. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-hep-2seq-50k-001/base_graph.pickle +0 -0
  335. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-hep-2seq-50k-001/microstructures.json +0 -0
  336. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-hep-3seq-100k-001/base_graph.pickle +0 -0
  337. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-hep-3seq-100k-001/microstructures.json +0 -0
  338. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-hep-3seq-50k-001/base_graph.pickle +0 -0
  339. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-hep-3seq-50k-001/microstructures.json +0 -0
  340. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-hep-4seq-100k-001/base_graph.pickle +0 -0
  341. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-hep-4seq-100k-001/microstructures.json +0 -0
  342. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-hep-4seq-50k-001/base_graph.pickle +0 -0
  343. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-hep-4seq-50k-001/microstructures.json +0 -0
  344. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-hep-5seq-100k-001/base_graph.pickle +0 -0
  345. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-hep-5seq-100k-001/microstructures.json +0 -0
  346. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-hep-5seq-50k-001/base_graph.pickle +0 -0
  347. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-hep-5seq-50k-001/microstructures.json +0 -0
  348. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-hep-6seq-100k-001/base_graph.pickle +0 -0
  349. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-hep-6seq-100k-001/microstructures.json +0 -0
  350. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-hep-6seq-50k-001/base_graph.pickle +0 -0
  351. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-hep-6seq-50k-001/microstructures.json +0 -0
  352. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-hep-7seq-100k-001/base_graph.pickle +0 -0
  353. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-hep-7seq-100k-001/microstructures.json +0 -0
  354. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-hep-7seq-50k-001/base_graph.pickle +0 -0
  355. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-hep-7seq-50k-001/microstructures.json +0 -0
  356. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-ilmn-1seq-100k-001/base_graph.pickle +0 -0
  357. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-ilmn-1seq-100k-001/microstructures.json +0 -0
  358. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-ilmn-1seq-50k-001/base_graph.pickle +0 -0
  359. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-ilmn-1seq-50k-001/microstructures.json +0 -0
  360. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-ilmn-2seq-100k-001/base_graph.pickle +0 -0
  361. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-ilmn-2seq-100k-001/microstructures.json +0 -0
  362. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-ilmn-2seq-50k-001/base_graph.pickle +0 -0
  363. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-ilmn-2seq-50k-001/microstructures.json +0 -0
  364. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-ilmn-3seq-100k-001/base_graph.pickle +0 -0
  365. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-ilmn-3seq-100k-001/microstructures.json +0 -0
  366. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-ilmn-3seq-50k-001/base_graph.pickle +0 -0
  367. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-ilmn-3seq-50k-001/microstructures.json +0 -0
  368. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-ilmn-4seq-100k-001/base_graph.pickle +0 -0
  369. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-ilmn-4seq-100k-001/microstructures.json +0 -0
  370. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-ilmn-4seq-50k-001/base_graph.pickle +0 -0
  371. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-ilmn-4seq-50k-001/microstructures.json +0 -0
  372. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-ilmn-5seq-100k-001/base_graph.pickle +0 -0
  373. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-ilmn-5seq-100k-001/microstructures.json +0 -0
  374. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-ilmn-5seq-50k-001/base_graph.pickle +0 -0
  375. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-ilmn-5seq-50k-001/microstructures.json +0 -0
  376. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-ilmn-6seq-100k-001/base_graph.pickle +0 -0
  377. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-ilmn-6seq-100k-001/microstructures.json +0 -0
  378. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-ilmn-6seq-50k-001/base_graph.pickle +0 -0
  379. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/epigenomics-chameleon-ilmn-6seq-50k-001/microstructures.json +0 -0
  380. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/metric/err.csv +0 -0
  381. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/epigenomics/microstructures/summary.json +0 -0
  382. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/__init__.py +0 -0
  383. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-10ch-100k-001/base_graph.pickle +0 -0
  384. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-10ch-100k-001/microstructures.json +0 -0
  385. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-10ch-250k-001/base_graph.pickle +0 -0
  386. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-10ch-250k-001/microstructures.json +0 -0
  387. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-12ch-100k-001/base_graph.pickle +0 -0
  388. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-12ch-100k-001/microstructures.json +0 -0
  389. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-12ch-250k-001/base_graph.pickle +0 -0
  390. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-12ch-250k-001/microstructures.json +0 -0
  391. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-14ch-100k-001/base_graph.pickle +0 -0
  392. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-14ch-100k-001/microstructures.json +0 -0
  393. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-14ch-250k-001/base_graph.pickle +0 -0
  394. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-14ch-250k-001/microstructures.json +0 -0
  395. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-16ch-100k-001/base_graph.pickle +0 -0
  396. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-16ch-100k-001/microstructures.json +0 -0
  397. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-16ch-250k-001/base_graph.pickle +0 -0
  398. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-16ch-250k-001/microstructures.json +0 -0
  399. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-18ch-100k-001/base_graph.pickle +0 -0
  400. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-18ch-100k-001/microstructures.json +0 -0
  401. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-18ch-250k-001/base_graph.pickle +0 -0
  402. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-18ch-250k-001/microstructures.json +0 -0
  403. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-20ch-100k-001/base_graph.pickle +0 -0
  404. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-20ch-100k-001/microstructures.json +0 -0
  405. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-20ch-250k-001/base_graph.pickle +0 -0
  406. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-20ch-250k-001/microstructures.json +0 -0
  407. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-22ch-100k-001/base_graph.pickle +0 -0
  408. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-22ch-100k-001/microstructures.json +0 -0
  409. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-22ch-250k-001/base_graph.pickle +0 -0
  410. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-22ch-250k-001/microstructures.json +0 -0
  411. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-2ch-100k-001/base_graph.pickle +0 -0
  412. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-2ch-100k-001/microstructures.json +0 -0
  413. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-2ch-250k-001/base_graph.pickle +0 -0
  414. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-2ch-250k-001/microstructures.json +0 -0
  415. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-4ch-100k-001/base_graph.pickle +0 -0
  416. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-4ch-100k-001/microstructures.json +0 -0
  417. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-4ch-250k-001/base_graph.pickle +0 -0
  418. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-4ch-250k-001/microstructures.json +0 -0
  419. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-6ch-100k-001/base_graph.pickle +0 -0
  420. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-6ch-100k-001/microstructures.json +0 -0
  421. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-6ch-250k-001/base_graph.pickle +0 -0
  422. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-6ch-250k-001/microstructures.json +0 -0
  423. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-8ch-100k-001/base_graph.pickle +0 -0
  424. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-8ch-100k-001/microstructures.json +0 -0
  425. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-8ch-250k-001/base_graph.pickle +0 -0
  426. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/1000genome-chameleon-8ch-250k-001/microstructures.json +0 -0
  427. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/metric/err.csv +0 -0
  428. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/genome/microstructures/summary.json +0 -0
  429. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/montage/__init__.py +0 -0
  430. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/montage/microstructures/metric/err.csv +0 -0
  431. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/montage/microstructures/montage-chameleon-2mass-005d-001/base_graph.pickle +0 -0
  432. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/montage/microstructures/montage-chameleon-2mass-005d-001/microstructures.json +0 -0
  433. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/montage/microstructures/montage-chameleon-2mass-015d-001/base_graph.pickle +0 -0
  434. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/montage/microstructures/montage-chameleon-2mass-015d-001/microstructures.json +0 -0
  435. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/montage/microstructures/montage-chameleon-2mass-01d-001/base_graph.pickle +0 -0
  436. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/montage/microstructures/montage-chameleon-2mass-01d-001/microstructures.json +0 -0
  437. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/montage/microstructures/montage-chameleon-2mass-025d-001/base_graph.pickle +0 -0
  438. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/montage/microstructures/montage-chameleon-2mass-025d-001/microstructures.json +0 -0
  439. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/montage/microstructures/montage-chameleon-2mass-02d-001/base_graph.pickle +0 -0
  440. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/montage/microstructures/montage-chameleon-2mass-02d-001/microstructures.json +0 -0
  441. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/montage/microstructures/montage-chameleon-2mass-03d-001/base_graph.pickle +0 -0
  442. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/montage/microstructures/montage-chameleon-2mass-03d-001/microstructures.json +0 -0
  443. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/montage/microstructures/montage-chameleon-2mass-04d-001/base_graph.pickle +0 -0
  444. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/montage/microstructures/montage-chameleon-2mass-04d-001/microstructures.json +0 -0
  445. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/montage/microstructures/montage-chameleon-2mass-05d-001/base_graph.pickle +0 -0
  446. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/montage/microstructures/montage-chameleon-2mass-05d-001/microstructures.json +0 -0
  447. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/montage/microstructures/montage-chameleon-dss-05d-001/base_graph.pickle +0 -0
  448. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/montage/microstructures/montage-chameleon-dss-05d-001/microstructures.json +0 -0
  449. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/montage/microstructures/montage-chameleon-dss-075d-001/base_graph.pickle +0 -0
  450. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/montage/microstructures/montage-chameleon-dss-075d-001/microstructures.json +0 -0
  451. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/montage/microstructures/montage-chameleon-dss-10d-001/base_graph.pickle +0 -0
  452. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/montage/microstructures/montage-chameleon-dss-10d-001/microstructures.json +0 -0
  453. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/montage/microstructures/montage-chameleon-dss-125d-001/base_graph.pickle +0 -0
  454. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/montage/microstructures/montage-chameleon-dss-125d-001/microstructures.json +0 -0
  455. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/montage/microstructures/montage-chameleon-dss-15d-001/base_graph.pickle +0 -0
  456. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/montage/microstructures/montage-chameleon-dss-15d-001/microstructures.json +0 -0
  457. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/montage/microstructures/summary.json +0 -0
  458. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/rnaseq/__init__.py +0 -0
  459. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/rnaseq/microstructures/metric/err.csv +0 -0
  460. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/rnaseq/microstructures/rnaseq-3l/base_graph.pickle +0 -0
  461. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/rnaseq/microstructures/rnaseq-3l/microstructures.json +0 -0
  462. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/rnaseq/microstructures/rnaseq-6l/base_graph.pickle +0 -0
  463. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/rnaseq/microstructures/rnaseq-6l/microstructures.json +0 -0
  464. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/rnaseq/microstructures/rnaseq-t1l/base_graph.pickle +0 -0
  465. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/rnaseq/microstructures/rnaseq-t1l/microstructures.json +0 -0
  466. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/rnaseq/microstructures/summary.json +0 -0
  467. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/rnaseq/task_type_stats.json +0 -0
  468. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/seismology/__init__.py +0 -0
  469. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/seismology/microstructures/metric/err.csv +0 -0
  470. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/seismology/microstructures/seismology-chameleon-100p-001/base_graph.pickle +0 -0
  471. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/seismology/microstructures/seismology-chameleon-100p-001/microstructures.json +0 -0
  472. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/seismology/microstructures/seismology-chameleon-1100p-001/base_graph.pickle +0 -0
  473. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/seismology/microstructures/seismology-chameleon-1100p-001/microstructures.json +0 -0
  474. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/seismology/microstructures/seismology-chameleon-200p-001/base_graph.pickle +0 -0
  475. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/seismology/microstructures/seismology-chameleon-200p-001/microstructures.json +0 -0
  476. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/seismology/microstructures/seismology-chameleon-300p-001/base_graph.pickle +0 -0
  477. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/seismology/microstructures/seismology-chameleon-300p-001/microstructures.json +0 -0
  478. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/seismology/microstructures/seismology-chameleon-400p-001/base_graph.pickle +0 -0
  479. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/seismology/microstructures/seismology-chameleon-400p-001/microstructures.json +0 -0
  480. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/seismology/microstructures/seismology-chameleon-500p-001/base_graph.pickle +0 -0
  481. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/seismology/microstructures/seismology-chameleon-500p-001/microstructures.json +0 -0
  482. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/seismology/microstructures/seismology-chameleon-600p-001/base_graph.pickle +0 -0
  483. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/seismology/microstructures/seismology-chameleon-600p-001/microstructures.json +0 -0
  484. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/seismology/microstructures/seismology-chameleon-700p-001/base_graph.pickle +0 -0
  485. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/seismology/microstructures/seismology-chameleon-700p-001/microstructures.json +0 -0
  486. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/seismology/microstructures/seismology-chameleon-800p-001/base_graph.pickle +0 -0
  487. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/seismology/microstructures/seismology-chameleon-800p-001/microstructures.json +0 -0
  488. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/seismology/microstructures/seismology-chameleon-900p-001/base_graph.pickle +0 -0
  489. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/seismology/microstructures/seismology-chameleon-900p-001/microstructures.json +0 -0
  490. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/seismology/microstructures/summary.json +0 -0
  491. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/soykb/__init__.py +0 -0
  492. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/soykb/microstructures/metric/err.csv +0 -0
  493. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/soykb/microstructures/soykb-chameleon-10fastq-10ch-001/base_graph.pickle +0 -0
  494. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/soykb/microstructures/soykb-chameleon-10fastq-10ch-001/microstructures.json +0 -0
  495. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/soykb/microstructures/soykb-chameleon-10fastq-20ch-001/base_graph.pickle +0 -0
  496. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/soykb/microstructures/soykb-chameleon-10fastq-20ch-001/microstructures.json +0 -0
  497. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/soykb/microstructures/soykb-chameleon-20fastq-10ch-001/base_graph.pickle +0 -0
  498. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/soykb/microstructures/soykb-chameleon-20fastq-10ch-001/microstructures.json +0 -0
  499. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/soykb/microstructures/soykb-chameleon-20fastq-20ch-001/base_graph.pickle +0 -0
  500. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/soykb/microstructures/soykb-chameleon-20fastq-20ch-001/microstructures.json +0 -0
  501. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/soykb/microstructures/soykb-chameleon-30fastq-10ch-001/base_graph.pickle +0 -0
  502. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/soykb/microstructures/soykb-chameleon-30fastq-10ch-001/microstructures.json +0 -0
  503. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/soykb/microstructures/soykb-chameleon-30fastq-20ch-001/base_graph.pickle +0 -0
  504. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/soykb/microstructures/soykb-chameleon-30fastq-20ch-001/microstructures.json +0 -0
  505. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/soykb/microstructures/soykb-chameleon-40fastq-10ch-001/base_graph.pickle +0 -0
  506. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/soykb/microstructures/soykb-chameleon-40fastq-10ch-001/microstructures.json +0 -0
  507. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/soykb/microstructures/soykb-chameleon-40fastq-20ch-001/base_graph.pickle +0 -0
  508. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/soykb/microstructures/soykb-chameleon-40fastq-20ch-001/microstructures.json +0 -0
  509. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/soykb/microstructures/soykb-chameleon-50fastq-10ch-001/base_graph.pickle +0 -0
  510. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/soykb/microstructures/soykb-chameleon-50fastq-10ch-001/microstructures.json +0 -0
  511. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/soykb/microstructures/soykb-chameleon-50fastq-20ch-001/base_graph.pickle +0 -0
  512. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/soykb/microstructures/soykb-chameleon-50fastq-20ch-001/microstructures.json +0 -0
  513. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/soykb/microstructures/summary.json +0 -0
  514. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/__init__.py +0 -0
  515. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/metric/err.csv +0 -0
  516. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-10a-001/base_graph.pickle +0 -0
  517. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-10a-001/microstructures.json +0 -0
  518. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-10a-002/base_graph.pickle +0 -0
  519. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-10a-002/microstructures.json +0 -0
  520. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-10a-003/base_graph.pickle +0 -0
  521. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-10a-003/microstructures.json +0 -0
  522. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-10a-004/base_graph.pickle +0 -0
  523. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-10a-004/microstructures.json +0 -0
  524. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-10a-005/base_graph.pickle +0 -0
  525. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-10a-005/microstructures.json +0 -0
  526. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-20a-001/base_graph.pickle +0 -0
  527. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-20a-001/microstructures.json +0 -0
  528. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-20a-002/base_graph.pickle +0 -0
  529. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-20a-002/microstructures.json +0 -0
  530. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-20a-003/base_graph.pickle +0 -0
  531. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-20a-003/microstructures.json +0 -0
  532. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-20a-004/base_graph.pickle +0 -0
  533. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-20a-004/microstructures.json +0 -0
  534. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-20a-005/base_graph.pickle +0 -0
  535. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-20a-005/microstructures.json +0 -0
  536. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-30a-001/base_graph.pickle +0 -0
  537. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-30a-001/microstructures.json +0 -0
  538. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-30a-002/base_graph.pickle +0 -0
  539. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-30a-002/microstructures.json +0 -0
  540. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-30a-003/base_graph.pickle +0 -0
  541. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-30a-003/microstructures.json +0 -0
  542. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-30a-004/base_graph.pickle +0 -0
  543. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-30a-004/microstructures.json +0 -0
  544. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-30a-005/base_graph.pickle +0 -0
  545. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-30a-005/microstructures.json +0 -0
  546. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-40a-001/base_graph.pickle +0 -0
  547. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-40a-001/microstructures.json +0 -0
  548. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-40a-002/base_graph.pickle +0 -0
  549. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-40a-002/microstructures.json +0 -0
  550. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-40a-003/base_graph.pickle +0 -0
  551. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-40a-003/microstructures.json +0 -0
  552. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-40a-004/base_graph.pickle +0 -0
  553. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-40a-004/microstructures.json +0 -0
  554. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-40a-005/base_graph.pickle +0 -0
  555. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-40a-005/microstructures.json +0 -0
  556. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-50a-001/base_graph.pickle +0 -0
  557. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-50a-001/microstructures.json +0 -0
  558. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-50a-002/base_graph.pickle +0 -0
  559. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-50a-002/microstructures.json +0 -0
  560. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-50a-003/base_graph.pickle +0 -0
  561. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-50a-003/microstructures.json +0 -0
  562. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-50a-004/base_graph.pickle +0 -0
  563. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-50a-004/microstructures.json +0 -0
  564. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-50a-005/base_graph.pickle +0 -0
  565. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/srasearch-chameleon-50a-005/microstructures.json +0 -0
  566. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/recipes/srasearch/microstructures/summary.json +0 -0
  567. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/skeletons/__init__.py +0 -0
  568. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfchef/skeletons/setup.py +0 -0
  569. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfgen/__init__.py +0 -0
  570. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfgen/generator.py +0 -0
  571. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfinstances/__init__.py +0 -0
  572. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfinstances/logs/abstract_logs_parser.py +0 -0
  573. {wfcommons-1.2 → wfcommons-1.4}/wfcommons/wfinstances/schema.py +0 -0
  574. {wfcommons-1.2 → wfcommons-1.4}/wfcommons.egg-info/dependency_links.txt +0 -0
  575. {wfcommons-1.2 → wfcommons-1.4}/wfcommons.egg-info/entry_points.txt +0 -0
  576. {wfcommons-1.2 → wfcommons-1.4}/wfcommons.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: wfcommons
3
- Version: 1.2
3
+ Version: 1.4
4
4
  Summary: A Framework for Enabling Scientific Workflow Research and Education
5
5
  Author-email: WfCommons team <support@wfcommons.org>
6
6
  License: GNU General Public License v3 (GPLv3)
@@ -10,19 +10,17 @@ Project-URL: Documentation, https://docs.wfcommons.org
10
10
  Project-URL: Tracker, https://github.com/wfcommons/WfCommons/issues
11
11
  Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
12
12
  Classifier: Operating System :: OS Independent
13
- Classifier: Programming Language :: Python :: 3
14
- Classifier: Programming Language :: Python :: 3.9
15
- Classifier: Programming Language :: Python :: 3.10
16
13
  Classifier: Programming Language :: Python :: 3.11
17
14
  Classifier: Programming Language :: Python :: 3.12
18
15
  Classifier: Programming Language :: Python :: 3.13
16
+ Classifier: Programming Language :: Python :: 3.14
19
17
  Classifier: Intended Audience :: Developers
20
18
  Classifier: Intended Audience :: Education
21
19
  Classifier: Intended Audience :: Science/Research
22
20
  Classifier: Natural Language :: English
23
21
  Classifier: Topic :: Documentation :: Sphinx
24
22
  Classifier: Topic :: System :: Distributed Computing
25
- Requires-Python: >=3.9
23
+ Requires-Python: >=3.11
26
24
  Description-Content-Type: text/markdown
27
25
  License-File: LICENSE
28
26
  Requires-Dist: jsonschema
@@ -32,13 +30,14 @@ Requires-Dist: numpy
32
30
  Requires-Dist: pandas
33
31
  Requires-Dist: python-dateutil
34
32
  Requires-Dist: requests
35
- Requires-Dist: scipy
33
+ Requires-Dist: scipy>=1.16.1
36
34
  Requires-Dist: pyyaml
37
35
  Requires-Dist: pandas
38
36
  Requires-Dist: shortuuid
39
37
  Requires-Dist: stringcase
40
38
  Requires-Dist: filelock
41
39
  Requires-Dist: pathos
40
+ Requires-Dist: tomli-w
42
41
  Provides-Extra: test
43
42
  Requires-Dist: pytest; extra == "test"
44
43
  Requires-Dist: pytest-cov; extra == "test"
@@ -54,52 +53,64 @@ Dynamic: license-file
54
53
  [![Codecov][cov-badge]][cov-link]&nbsp;
55
54
  [![Downloads](https://static.pepy.tech/personalized-badge/wfcommons?period=total&units=international_system&left_color=grey&right_color=yellowgreen&left_text=Downloads)](https://pepy.tech/project/wfcommons)
56
55
 
57
- <a href="https://wfcommons.org" target="_blank"><img src="https://wfcommons.org/images/wfcommons-horizontal.png" width="350" /></a>
58
- <br/>_A Framework for Enabling Scientific Workflow Research and Development_
56
+ <a href="https://wfcommons.org" target="_blank"><img src="https://wfcommons.org/images/wfcommons-logo-white.png" width="350" /></a>
57
+ <br/>An open-source ecosystem of workflow execution instances, synthetic workflow generators, and benchmark specifications. It helps the community study scheduling, performance, resilience, and emerging AI-driven workflow automation on modern distributed and HPC platforms.
59
58
 
60
- This Python package provides a collection of tools for:
59
+ - **Real instances:** Workflow executions curated in a common JSON format (WfFormat).
60
+ - **Synthetic realism:** Generate realistic workflows from real traces.
61
+ - **Benchmarks:** Produce executable specs for repeatable experiments and fair comparisons.
61
62
 
62
- - Analyzing instances of actual workflow executions;
63
- - Producing recipes structures for creating workflow recipes for workflow generation;
64
- - Generating synthetic realistic workflow instances; and
65
- - Generating realistic workflow benchmark specifications.
63
+ Quick links: [Documentation](https://wfcommons.readthedocs.io/en/latest/) · [Website](https://wfcommons.org) · [GitHub Issues](https://github.com/wfcommons/wfcommons/issues)
66
64
 
67
- [![Open In Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/wfcommons/wfcommons/tree/main)
65
+ ## Quickstart
68
66
 
69
- ## Installation
67
+ WfCommons requires Python 3.11+ and has been tested on Linux and macOS.
70
68
 
71
- WfCommons is available on [PyPI](https://pypi.org/project/wfcommons).
72
- WfCommons requires Python3.9+ and has been tested on Linux and macOS.
69
+ ```
70
+ python3 -m venv .venv
71
+ source .venv/bin/activate
72
+ python3 -m pip install wfcommons
73
+ ```
73
74
 
74
- ### Installation using pip
75
+ Generate a synthetic workflow in a few lines:
75
76
 
76
- While `pip` can be used to install WfCommons, we suggest the following
77
- approach for reliable installation when many Python environments are available:
77
+ ```python
78
+ import pathlib
79
+ from wfcommons.wfchef.recipes import SeismologyRecipe
80
+ from wfcommons import WorkflowGenerator
78
81
 
79
- ```
80
- $ python3 -m pip install wfcommons
82
+ generator = WorkflowGenerator(SeismologyRecipe.from_num_tasks(250))
83
+ workflow = generator.build_workflow()
84
+ workflow.write_json(pathlib.Path("seismology-workflow.json"))
81
85
  ```
82
86
 
83
- ### Retrieving the latest unstable version
87
+ Next steps:
84
88
 
85
- If you want to use the latest WfCommons unstable version, that will contain
86
- brand new features (but also contain bugs as the stabilization work is still
87
- underway), you may consider retrieving the latest unstable version.
89
+ - Learn how to build recipes in the [WfChef guide](https://wfcommons.readthedocs.io/en/latest/generating_workflows_recipe.html).
90
+ - Generate larger workflow families in the [WfGen guide](https://wfcommons.readthedocs.io/en/latest/generating_workflows.html).
91
+ - Produce benchmark specs in the [WfBench guide](https://wfcommons.readthedocs.io/en/latest/generating_workflow_benchmarks.html).
88
92
 
89
- Cloning from [WfCommons's GitHub](https://github.com/wfcommons/wfcommons)
90
- repository:
93
+ ## Installation
94
+
95
+ WfCommons is available on [PyPI](https://pypi.org/project/wfcommons).
96
+
97
+ ```
98
+ python3 -m pip install wfcommons
99
+ ```
100
+
101
+ ### Installing from source (latest)
91
102
 
92
103
  ```
93
- $ git clone https://github.com/wfcommons/wfcommons
94
- $ cd wfcommons
95
- $ pip install .
104
+ git clone https://github.com/wfcommons/wfcommons
105
+ cd wfcommons
106
+ python3 -m pip install .
96
107
  ```
97
108
 
98
109
  ### Optional Requirements
99
110
 
100
111
  #### Graphviz
101
- WfCommons uses _pygraphviz_ for generating visualizations for the workflow task graph.
102
- If you want to enable this feature, you will have to install the
112
+ WfCommons uses _pygraphviz_ for generating visualizations for the workflow task graph.
113
+ If you want to enable this feature, you will have to install the
103
114
  [graphviz](https://www.graphviz.org/) package (version 2.16 or later).
104
115
  You can install graphviz easily on Linux with your favorite package manager,
105
116
  for example for Debian-based distributions:
@@ -130,15 +141,14 @@ python3 -m pip install pydot
130
141
 
131
142
  ## Get in Touch
132
143
 
133
- The main channel to reach the WfCommons team is via the support email:
144
+ The main channel to reach the WfCommons team is via the support email:
134
145
  [support@wfcommons.org](mailto:support@wfcommons.org).
135
146
 
136
- **Bug Report / Feature Request:** our preferred channel to report a bug or request a feature is via
147
+ **Bug Report / Feature Request:** our preferred channel to report a bug or request a feature is via
137
148
  WfCommons's [Github Issues Track](https://github.com/wfcommons/wfcommons/issues).
138
149
 
139
-
140
150
  ## Citing WfCommons
141
- When citing WfCommons, please use the following paper. You should also actually read
151
+ When citing WfCommons, please use the following paper. You should also actually read
142
152
  that paper, as it provides a recent and general overview on the framework.
143
153
 
144
154
  ```
@@ -6,52 +6,64 @@
6
6
  [![Codecov][cov-badge]][cov-link]&nbsp;
7
7
  [![Downloads](https://static.pepy.tech/personalized-badge/wfcommons?period=total&units=international_system&left_color=grey&right_color=yellowgreen&left_text=Downloads)](https://pepy.tech/project/wfcommons)
8
8
 
9
- <a href="https://wfcommons.org" target="_blank"><img src="https://wfcommons.org/images/wfcommons-horizontal.png" width="350" /></a>
10
- <br/>_A Framework for Enabling Scientific Workflow Research and Development_
9
+ <a href="https://wfcommons.org" target="_blank"><img src="https://wfcommons.org/images/wfcommons-logo-white.png" width="350" /></a>
10
+ <br/>An open-source ecosystem of workflow execution instances, synthetic workflow generators, and benchmark specifications. It helps the community study scheduling, performance, resilience, and emerging AI-driven workflow automation on modern distributed and HPC platforms.
11
11
 
12
- This Python package provides a collection of tools for:
12
+ - **Real instances:** Workflow executions curated in a common JSON format (WfFormat).
13
+ - **Synthetic realism:** Generate realistic workflows from real traces.
14
+ - **Benchmarks:** Produce executable specs for repeatable experiments and fair comparisons.
13
15
 
14
- - Analyzing instances of actual workflow executions;
15
- - Producing recipes structures for creating workflow recipes for workflow generation;
16
- - Generating synthetic realistic workflow instances; and
17
- - Generating realistic workflow benchmark specifications.
16
+ Quick links: [Documentation](https://wfcommons.readthedocs.io/en/latest/) · [Website](https://wfcommons.org) · [GitHub Issues](https://github.com/wfcommons/wfcommons/issues)
18
17
 
19
- [![Open In Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/wfcommons/wfcommons/tree/main)
18
+ ## Quickstart
20
19
 
21
- ## Installation
20
+ WfCommons requires Python 3.11+ and has been tested on Linux and macOS.
22
21
 
23
- WfCommons is available on [PyPI](https://pypi.org/project/wfcommons).
24
- WfCommons requires Python3.9+ and has been tested on Linux and macOS.
22
+ ```
23
+ python3 -m venv .venv
24
+ source .venv/bin/activate
25
+ python3 -m pip install wfcommons
26
+ ```
25
27
 
26
- ### Installation using pip
28
+ Generate a synthetic workflow in a few lines:
27
29
 
28
- While `pip` can be used to install WfCommons, we suggest the following
29
- approach for reliable installation when many Python environments are available:
30
+ ```python
31
+ import pathlib
32
+ from wfcommons.wfchef.recipes import SeismologyRecipe
33
+ from wfcommons import WorkflowGenerator
30
34
 
31
- ```
32
- $ python3 -m pip install wfcommons
35
+ generator = WorkflowGenerator(SeismologyRecipe.from_num_tasks(250))
36
+ workflow = generator.build_workflow()
37
+ workflow.write_json(pathlib.Path("seismology-workflow.json"))
33
38
  ```
34
39
 
35
- ### Retrieving the latest unstable version
40
+ Next steps:
36
41
 
37
- If you want to use the latest WfCommons unstable version, that will contain
38
- brand new features (but also contain bugs as the stabilization work is still
39
- underway), you may consider retrieving the latest unstable version.
42
+ - Learn how to build recipes in the [WfChef guide](https://wfcommons.readthedocs.io/en/latest/generating_workflows_recipe.html).
43
+ - Generate larger workflow families in the [WfGen guide](https://wfcommons.readthedocs.io/en/latest/generating_workflows.html).
44
+ - Produce benchmark specs in the [WfBench guide](https://wfcommons.readthedocs.io/en/latest/generating_workflow_benchmarks.html).
40
45
 
41
- Cloning from [WfCommons's GitHub](https://github.com/wfcommons/wfcommons)
42
- repository:
46
+ ## Installation
47
+
48
+ WfCommons is available on [PyPI](https://pypi.org/project/wfcommons).
49
+
50
+ ```
51
+ python3 -m pip install wfcommons
52
+ ```
53
+
54
+ ### Installing from source (latest)
43
55
 
44
56
  ```
45
- $ git clone https://github.com/wfcommons/wfcommons
46
- $ cd wfcommons
47
- $ pip install .
57
+ git clone https://github.com/wfcommons/wfcommons
58
+ cd wfcommons
59
+ python3 -m pip install .
48
60
  ```
49
61
 
50
62
  ### Optional Requirements
51
63
 
52
64
  #### Graphviz
53
- WfCommons uses _pygraphviz_ for generating visualizations for the workflow task graph.
54
- If you want to enable this feature, you will have to install the
65
+ WfCommons uses _pygraphviz_ for generating visualizations for the workflow task graph.
66
+ If you want to enable this feature, you will have to install the
55
67
  [graphviz](https://www.graphviz.org/) package (version 2.16 or later).
56
68
  You can install graphviz easily on Linux with your favorite package manager,
57
69
  for example for Debian-based distributions:
@@ -82,15 +94,14 @@ python3 -m pip install pydot
82
94
 
83
95
  ## Get in Touch
84
96
 
85
- The main channel to reach the WfCommons team is via the support email:
97
+ The main channel to reach the WfCommons team is via the support email:
86
98
  [support@wfcommons.org](mailto:support@wfcommons.org).
87
99
 
88
- **Bug Report / Feature Request:** our preferred channel to report a bug or request a feature is via
100
+ **Bug Report / Feature Request:** our preferred channel to report a bug or request a feature is via
89
101
  WfCommons's [Github Issues Track](https://github.com/wfcommons/wfcommons/issues).
90
102
 
91
-
92
103
  ## Citing WfCommons
93
- When citing WfCommons, please use the following paper. You should also actually read
104
+ When citing WfCommons, please use the following paper. You should also actually read
94
105
  that paper, as it provides a recent and general overview on the framework.
95
106
 
96
107
  ```
@@ -341,7 +341,7 @@ def begin_flowcept(args):
341
341
  bundle_exec_id=args.workflow_id,
342
342
  start_persistence=False, save_workflow=False)
343
343
  f.start()
344
- t = FlowceptTask(workflow_id=args.workflow_id, used={**args.__dict__})
344
+ t = FlowceptTask(task_id=f"{args.workflow_id}_{args.name}", workflow_id=args.workflow_id, used={**args.__dict__})
345
345
  return f, t
346
346
 
347
347
 
@@ -457,7 +457,11 @@ def main():
457
457
  if args.time:
458
458
  time.sleep(int(args.time))
459
459
  for proc in procs:
460
- os.killpg(os.getpgid(proc.pid), signal.SIGTERM)
460
+ if isinstance(proc, multiprocessing.Process):
461
+ if proc.is_alive():
462
+ proc.terminate()
463
+ elif isinstance(proc, subprocess.Popen):
464
+ proc.terminate()
461
465
  else:
462
466
  for proc in procs:
463
467
  if isinstance(proc, subprocess.Popen):
@@ -7,16 +7,14 @@ name = "wfcommons"
7
7
  authors = [{name = "WfCommons team", email = "support@wfcommons.org"}]
8
8
  description = "A Framework for Enabling Scientific Workflow Research and Education"
9
9
  readme = "README.md"
10
- requires-python = ">=3.9"
10
+ requires-python = ">=3.11"
11
11
  classifiers = [
12
12
  "License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
13
13
  "Operating System :: OS Independent",
14
- "Programming Language :: Python :: 3",
15
- "Programming Language :: Python :: 3.9",
16
- "Programming Language :: Python :: 3.10",
17
14
  "Programming Language :: Python :: 3.11",
18
15
  "Programming Language :: Python :: 3.12",
19
16
  "Programming Language :: Python :: 3.13",
17
+ "Programming Language :: Python :: 3.14",
20
18
  "Intended Audience :: Developers",
21
19
  "Intended Audience :: Education",
22
20
  "Intended Audience :: Science/Research",
@@ -33,13 +31,14 @@ dependencies = [
33
31
  "pandas",
34
32
  "python-dateutil",
35
33
  "requests",
36
- "scipy",
34
+ "scipy>=1.16.1",
37
35
  "pyyaml",
38
36
  "pandas",
39
37
  "shortuuid",
40
38
  "stringcase",
41
39
  "filelock",
42
40
  "pathos",
41
+ "tomli-w"
43
42
  ]
44
43
  dynamic = ["version", "entry-points", "scripts"]
45
44
 
@@ -56,6 +55,12 @@ flowcept = ["flowcept"]
56
55
  [tool.setuptools.dynamic]
57
56
  version = {attr = "wfcommons.version.__version__"}
58
57
 
58
+ [tool.coverage.run]
59
+ omit = [
60
+ "wfcommons/wfinstances/logs/pegasusrec.py",
61
+ "wfcommons/wfbench/translator/templates"
62
+ ]
63
+
59
64
  [tool.pytest.ini_options]
60
65
  addopts="""
61
66
  --cov-context test \
@@ -63,7 +68,6 @@ addopts="""
63
68
  --cov-report xml:coverage.xml \
64
69
  --cov-report term-missing \
65
70
  --cov ./wfcommons \
66
- --ignore wfcommons/wfbench/translator/templates \
67
71
  --no-cov-on-fail \
68
72
  -ra \
69
73
  -W ignore"""
@@ -1,5 +1,5 @@
1
1
  [metadata]
2
- description-file = README.md
2
+ description_file = README.md
3
3
 
4
4
  [egg_info]
5
5
  tag_build =
wfcommons-1.4/setup.py ADDED
@@ -0,0 +1,74 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+ #
4
+ # Copyright (c) 2020-2026 The WfCommons Team.
5
+ #
6
+ # This program is free software: you can redistribute it and/or modify
7
+ # it under the terms of the GNU General Public License as published by
8
+ # the Free Software Foundation, either version 3 of the License, or
9
+ # (at your option) any later version.
10
+
11
+ import sys
12
+ import subprocess
13
+ import os
14
+
15
+ from setuptools import setup, find_packages
16
+ from setuptools.command.build_ext import build_ext
17
+
18
+ class Build(build_ext):
19
+ """Customized setuptools build command - builds cpu-benchmark on build."""
20
+
21
+ def run(self):
22
+ # Try to build the cpu-benchmark, but make it optional
23
+ # This allows installation on Windows where make/g++ may not be available
24
+ try:
25
+ result = subprocess.call(["make"], stderr=subprocess.DEVNULL, stdout=subprocess.DEVNULL)
26
+ if result != 0:
27
+ sys.stderr.write("Warning: 'make' build failed. cpu-benchmark will not be available.\n")
28
+ sys.stderr.write("This is expected on Windows. To build cpu-benchmark, install make and g++.\n")
29
+ except (FileNotFoundError, OSError):
30
+ sys.stderr.write("Warning: 'make' is not installed. cpu-benchmark will not be available.\n")
31
+ sys.stderr.write("This is expected on Windows. To build cpu-benchmark, install make and g++.\n")
32
+ super().run()
33
+
34
+ # Conditionally include cpu-benchmark based on platform
35
+ data_files = []
36
+ if sys.platform != 'win32':
37
+ # On Unix-like systems (Linux, macOS, Docker), always try to include it
38
+ # The Build class will create it during the build process
39
+ data_files.append(('bin', ['bin/cpu-benchmark']))
40
+ else:
41
+ # On Windows, only include if it exists (e.g., if user manually compiled it)
42
+ cpu_benchmark_path = 'bin/cpu-benchmark'
43
+ if os.path.exists(cpu_benchmark_path):
44
+ data_files.append(('bin', [cpu_benchmark_path]))
45
+
46
+ setup(
47
+ packages=find_packages(),
48
+ include_package_data=True,
49
+ has_ext_modules=lambda: True,
50
+ cmdclass={
51
+ 'build_ext': Build,
52
+ },
53
+ data_files=data_files,
54
+ scripts=[
55
+ 'bin/wfbench'
56
+ ],
57
+ entry_points={
58
+ 'console_scripts': [
59
+ 'wfchef=wfcommons.wfchef.chef:main',
60
+ ],
61
+ 'workflow_recipes': [
62
+ 'epigenomics_recipe = wfcommons.wfchef.recipes:EpigenomicsRecipe',
63
+ 'montage_recipe = wfcommons.wfchef.recipes:MontageRecipe',
64
+ 'cycles_recipe = wfcommons.wfchef.recipes:CyclesRecipe',
65
+ 'seismology_recipe = wfcommons.wfchef.recipes:SeismologyRecipe',
66
+ 'soykb_recipe = wfcommons.wfchef.recipes:SoykbRecipe',
67
+ 'srasearch_recipe = wfcommons.wfchef.recipes:SrasearchRecipe',
68
+ 'genome_recipe = wfcommons.wfchef.recipes:GenomeRecipe',
69
+ 'blast_recipe = wfcommons.wfchef.recipes:BlastRecipe',
70
+ 'bwa_recipe = wfcommons.wfchef.recipes:BwaRecipe',
71
+ 'rnaseq_recipe = wfcommons.wfchef.recipes:RnaseqRecipe',
72
+ ]
73
+ },
74
+ )
@@ -0,0 +1,168 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+ #
4
+ # Copyright (c) 2025-2026 The WfCommons Team.
5
+ #
6
+ # This program is free software: you can redistribute it and/or modify
7
+ # it under the terms of the GNU General Public License as published by
8
+ # the Free Software Foundation, either version 3 of the License, or
9
+ # (at your option) any later version.
10
+
11
+ import pathlib
12
+ import shutil
13
+ import tarfile
14
+ import os
15
+ import io
16
+ import sys
17
+ import docker
18
+ import networkx
19
+ from docker.errors import ImageNotFound
20
+
21
+ from wfcommons.common import Workflow
22
+
23
+
24
+ def _create_fresh_local_dir(path: str) -> pathlib.Path:
25
+ dirpath = pathlib.Path(path)
26
+ if dirpath.exists():
27
+ shutil.rmtree(dirpath)
28
+ dirpath.mkdir(parents=True, exist_ok=True)
29
+ return dirpath
30
+
31
+ def _remove_local_dir_if_it_exists(path: str) -> None:
32
+ dirpath = pathlib.Path(path)
33
+ if dirpath.exists():
34
+ shutil.rmtree(dirpath)
35
+
36
+
37
+ def _make_tarfile_of_wfcommons():
38
+ source_dir = os.getcwd() # This assumes the testing is run from the root
39
+ tar_stream = io.BytesIO()
40
+ with tarfile.open(fileobj=tar_stream, mode='w') as tar:
41
+ tar.add(source_dir, arcname=os.path.basename(source_dir))
42
+ tar_stream.seek(0)
43
+ return tar_stream
44
+
45
+
46
+ def _install_WfCommons_on_container(container):
47
+ # sys.stderr.write("Installing WfCommons on the container...\n")
48
+ # Copy the WfCommons code to it (removing stuff that should be removed)
49
+ target_path = '/tmp/' # inside container
50
+ tar_data = _make_tarfile_of_wfcommons()
51
+ container.put_archive(target_path, tar_data)
52
+ # Cleanup files that came from the host
53
+ exit_code, output = container.exec_run("sudo /bin/rm -rf /tmp/WfCommons/build/", stdout=True, stderr=True)
54
+ exit_code, output = container.exec_run("sudo /bin/rm -rf /tmp/WfCommons/*.egg-info/", stdout=True, stderr=True)
55
+ # Clean up and force a rebuild of cpu-benchmark (because it may be compiled for the wrong architecture)
56
+ exit_code, output = container.exec_run("sudo /bin/rm -rf /tmp/WfCommons/bin/cpu-benchmark.o", stdout=True,
57
+ stderr=True)
58
+ exit_code, output = container.exec_run("sudo /bin/rm -rf /tmp/WfCommons/bin/cpu-benchmark", stdout=True,
59
+ stderr=True)
60
+
61
+ # Install WfCommons on the container (to install wfbench and cpu-benchmark really)
62
+ exit_code, output = container.exec_run("sudo python3 -m pip install . --break-system-packages",
63
+ workdir="/tmp/WfCommons", stdout=True, stderr=True)
64
+ # print(output.decode())
65
+ if exit_code != 0:
66
+ raise RuntimeError("Failed to install WfCommons on the container")
67
+
68
+ def _start_docker_container(backend, mounted_dir, working_dir, bin_dir, command=None):
69
+ if command is None:
70
+ command = ["sleep", "infinity"]
71
+ # Pulling the Docker image
72
+ client = docker.from_env()
73
+ image_name = f"wfcommons/wfcommons-testing-{backend}"
74
+
75
+ try:
76
+ image = client.images.get(image_name)
77
+ sys.stderr.write(f"[{backend}] Image '{image_name}' is available locally\n")
78
+ except ImageNotFound:
79
+ sys.stderr.write(f"[{backend}] Pulling image '{image_name}'...\n")
80
+ client.images.pull(image_name)
81
+
82
+ # Launch the docker container to actually run the translated workflow
83
+ sys.stderr.write(f"[{backend}] Starting Docker container...\n")
84
+ container = client.containers.run(
85
+ image=image_name,
86
+ command=command,
87
+ volumes={mounted_dir: {'bind': mounted_dir, 'mode': 'rw'}},
88
+ working_dir=working_dir,
89
+ tty=True,
90
+ detach=True
91
+ )
92
+
93
+ # Installing WfCommons on container
94
+ _install_WfCommons_on_container(container)
95
+
96
+ # Copy over the wfbench and cpu-benchmark executables to where they should go on the container
97
+ if bin_dir:
98
+ sys.stderr.write(f"[{backend}] Copying wfbench and cpu-benchmark...\n")
99
+ exit_code, output = container.exec_run(["sh", "-c", "sudo cp -f `which wfbench` " + bin_dir],
100
+ stdout=True, stderr=True)
101
+ if exit_code != 0:
102
+ raise RuntimeError("Failed to copy wfbench script to the bin directory")
103
+
104
+ exit_code, output = container.exec_run(["sh", "-c", "sudo cp -f `which cpu-benchmark` " + bin_dir],
105
+ stdout=True, stderr=True)
106
+ if exit_code != 0:
107
+ raise RuntimeError("Failed to copy cpu-benchmark executable to the bin directory")
108
+ else:
109
+ sys.stderr.write(f"[{backend}] Not Copying wfbench and cpu-benchmark...\n")
110
+
111
+ # Change file permissions
112
+ exit_code, output = container.exec_run(["sh", "-c", "sudo chown -R wfcommons:wfcommons "],
113
+ stdout=True, stderr=True)
114
+
115
+
116
+ container.backend = backend
117
+ return container
118
+
119
+ def _shutdown_docker_container_and_remove_image(container):
120
+ image = container.image
121
+ sys.stderr.write(f"[{container.backend}] Terminating container if need be...\n")
122
+ try:
123
+ container.stop()
124
+ container.remove()
125
+ except Exception as e:
126
+ pass
127
+
128
+ # Remove the images as we go, if running on GitHub
129
+ if os.getenv('CI') or os.getenv('GITHUB_ACTIONS'):
130
+ sys.stderr.write(f"[{container.backend}] Removing Docker image...\n")
131
+ try:
132
+ image.remove(force=True)
133
+ except Exception as e:
134
+ sys.stderr.write(f"[{container.backend}] Warning: Error while removing image: {e}\n")
135
+
136
+ def _get_total_size_of_directory(directory_path: str):
137
+ total_size = 0
138
+ for dirpath, dirnames, filenames in os.walk(directory_path):
139
+ for filename in filenames:
140
+ filepath = os.path.join(dirpath, filename)
141
+ total_size += os.path.getsize(filepath)
142
+ return total_size
143
+
144
+ def _compare_workflows(workflow_1: Workflow, workflow_2: Workflow):
145
+
146
+ # Test the number of tasks
147
+ assert (len(workflow_1.tasks) == len(workflow_2.tasks))
148
+ # Test the task graph topology
149
+ assert (networkx.is_isomorphic(workflow_1, workflow_2))
150
+ # Test the total file size sum
151
+ workflow1_input_bytes, workflow2_input_bytes = 0, 0
152
+ workflow1_output_bytes, workflow2_output_bytes = 0, 0
153
+ for workflow1_task, workflow2_task in zip(workflow_1.tasks.values(), workflow_2.tasks.values()):
154
+ # sys.stderr.write(f"WORKFLOW1: {workflow1_task.task_id} WORKFLOW2 TASK: {workflow2_task.task_id}\n")
155
+ for input_file in workflow1_task.input_files:
156
+ # sys.stderr.write(f"WORKFLOW1 INPUT FILE: {input_file.file_id} {input_file.size}\n")
157
+ workflow1_input_bytes += input_file.size
158
+ for input_file in workflow2_task.input_files:
159
+ # sys.stderr.write(f"WORKFLOW2 INPUT FILE: {input_file.file_id} {input_file.size}\n")
160
+ workflow2_input_bytes += input_file.size
161
+ for output_file in workflow1_task.output_files:
162
+ # sys.stderr.write(f"WORKFLOW1 OUTPUT FILE: {output_file.file_id} {output_file.size}\n")
163
+ workflow1_output_bytes += output_file.size
164
+ for output_file in workflow2_task.output_files:
165
+ # sys.stderr.write(f"WORKFLOW2 OUTPUT FILE: {output_file.file_id} {output_file.size}\n")
166
+ workflow2_output_bytes += output_file.size
167
+ assert (workflow1_input_bytes == workflow2_input_bytes)
168
+ assert (workflow1_output_bytes == workflow2_output_bytes)
@@ -16,7 +16,7 @@ __credits__ = 'University of Hawaii at Manoa, Oak Ridge National Laboratoy, San
16
16
  import logging
17
17
 
18
18
  from .wfchef.recipes import BlastRecipe, BwaRecipe, CyclesRecipe, EpigenomicsRecipe, GenomeRecipe, MontageRecipe, \
19
- SeismologyRecipe, SoykbRecipe, SrasearchRecipe
19
+ RnaseqRecipe, SeismologyRecipe, SoykbRecipe, SrasearchRecipe
20
20
  from .wfgen import WorkflowGenerator
21
21
  from .wfinstances import Instance, InstanceAnalyzer, InstanceElement
22
22
 
@@ -9,6 +9,6 @@
9
9
  # (at your option) any later version.
10
10
 
11
11
  from .workflow import Workflow
12
- from .file import File, FileLink
12
+ from .file import File
13
13
  from .task import Task, TaskType
14
14
  from .machine import Machine, MachineSystem
@@ -16,12 +16,6 @@ from typing import Dict, Optional, Union
16
16
  from ..utils import NoValue
17
17
 
18
18
 
19
- class FileLink(NoValue):
20
- """Type of file link."""
21
- INPUT = "input"
22
- OUTPUT = "output"
23
-
24
-
25
19
  class File:
26
20
  """Representation of a file.
27
21
 
@@ -29,28 +23,24 @@ class File:
29
23
  :type file_id: str
30
24
  :param size: File size in bytes.
31
25
  :type size: int
32
- :param link: Type of file link.
33
- :type link: FileLink
34
26
  :param logger: The logger where to log information/warning or errors.
35
27
  :type logger: Optional[Logger]
36
28
  """
37
29
 
38
30
  def __init__(self, file_id: str,
39
31
  size: int,
40
- link: FileLink,
41
32
  logger: Optional[Logger] = None) -> None:
42
33
  """A file used by tasks."""
43
34
  self.logger: Logger = logger if logger else logging.getLogger(__name__)
44
35
 
45
36
  self.file_id: str = file_id
46
37
  self.size: int = size
47
- self.link: FileLink = link
48
38
 
49
- def as_dict(self) -> Dict[str, Union[str, int, FileLink]]:
39
+ def as_dict(self) -> Dict[str, Union[str, int]]:
50
40
  """A JSON representation of the file.
51
41
 
52
42
  :return: A JSON object representation of the file.
53
- :rtype: Dict[str, Union[str, int, FileLink]]
43
+ :rtype: Dict[str, Union[str, int]]
54
44
  """
55
45
  return {
56
46
  'id': self.file_id,