summaryrefslogtreecommitdiff
path: root/python-ruffus.spec
diff options
context:
space:
mode:
Diffstat (limited to 'python-ruffus.spec')
-rw-r--r--python-ruffus.spec447
1 files changed, 447 insertions, 0 deletions
diff --git a/python-ruffus.spec b/python-ruffus.spec
new file mode 100644
index 0000000..fbc465d
--- /dev/null
+++ b/python-ruffus.spec
@@ -0,0 +1,447 @@
+%global _empty_manifest_terminate_build 0
+Name: python-ruffus
+Version: 2.8.4
+Release: 1
+Summary: Light-weight Python Computational Pipeline Management
+License: MIT
+URL: http://www.ruffus.org.uk
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/3b/d1/154a08615b33bb66c37fa998490a811870355331b696140f125983890efa/ruffus-2.8.4.tar.gz
+BuildArch: noarch
+
+
+%description
+
+***************************************
+Overview
+***************************************
+
+
+ The Ruffus module is a lightweight way to add support
+ for running computational pipelines.
+
+ Computational pipelines are often conceptually quite simple, especially
+ if we breakdown the process into simple stages, or separate **tasks**.
+
+ Each stage or **task** in a computational pipeline is represented by a python function
+ Each python function can be called in parallel to run multiple **jobs**.
+
+ Ruffus was originally designed for use in bioinformatics to analyse multiple genome
+ data sets.
+
+***************************************
+Documentation
+***************************************
+
+ Ruffus documentation can be found `here <http://www.ruffus.org.uk>`__ ,
+ with `download notes <http://www.ruffus.org.uk/installation.html>`__ ,
+ a `tutorial <http://www.ruffus.org.uk/tutorials/new_tutorial/introduction.html>`__ and
+ an `in-depth manual <http://www.ruffus.org.uk/tutorials/new_tutorial/manual_contents.html>`__ .
+
+
+***************************************
+Background
+***************************************
+
+ The purpose of a pipeline is to determine automatically which parts of a multi-stage
+ process needs to be run and in what order in order to reach an objective ("targets")
+
+ Computational pipelines, especially for analysing large scientific datasets are
+ in widespread use.
+ However, even a conceptually simple series of steps can be difficult to set up and
+ maintain.
+
+***************************************
+Design
+***************************************
+ The ruffus module has the following design goals:
+
+ * Lightweight
+ * Scalable / Flexible / Powerful
+ * Standard Python
+ * Unintrusive
+ * As simple as possible
+
+***************************************
+Features
+***************************************
+
+ Automatic support for
+
+ * Managing dependencies
+ * Parallel jobs, including dispatching work to computational clusters
+ * Re-starting from arbitrary points, especially after errors (checkpointing)
+ * Display of the pipeline as a flowchart
+ * Managing complex pipeline topologies
+
+
+***************************************
+A Simple example
+***************************************
+
+ Use the **@follows(...)** python decorator before the function definitions::
+
+ from ruffus import *
+ import sys
+
+ def first_task():
+ print "First task"
+
+ @follows(first_task)
+ def second_task():
+ print "Second task"
+
+ @follows(second_task)
+ def final_task():
+ print "Final task"
+
+
+
+
+ the ``@follows`` decorator indicate that the ``first_task`` function precedes ``second_task`` in
+ the pipeline.
+
+ The canonical Ruffus decorator is ``@transform`` which **transforms** data flowing down a
+ computational pipeline from one stage to teh next.
+
+********
+Usage
+********
+
+ Each stage or **task** in a computational pipeline is represented by a python function
+ Each python function can be called in parallel to run multiple **jobs**.
+
+ 1. Import module::
+
+ import ruffus
+
+
+ 1. Annotate functions with python decorators
+
+ 2. Print dependency graph if you necessary
+
+ - For a graphical flowchart in ``jpg``, ``svg``, ``dot``, ``png``, ``ps``, ``gif`` formats::
+
+ pipeline_printout_graph ("flowchart.svg")
+
+ This requires ``dot`` to be installed
+
+ - For a text printout of all jobs ::
+
+ pipeline_printout(sys.stdout)
+
+
+ 3. Run the pipeline::
+
+ pipeline_run()
+
+
+
+
+%package -n python3-ruffus
+Summary: Light-weight Python Computational Pipeline Management
+Provides: python-ruffus
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-ruffus
+
+***************************************
+Overview
+***************************************
+
+
+ The Ruffus module is a lightweight way to add support
+ for running computational pipelines.
+
+ Computational pipelines are often conceptually quite simple, especially
+ if we breakdown the process into simple stages, or separate **tasks**.
+
+ Each stage or **task** in a computational pipeline is represented by a python function
+ Each python function can be called in parallel to run multiple **jobs**.
+
+ Ruffus was originally designed for use in bioinformatics to analyse multiple genome
+ data sets.
+
+***************************************
+Documentation
+***************************************
+
+ Ruffus documentation can be found `here <http://www.ruffus.org.uk>`__ ,
+ with `download notes <http://www.ruffus.org.uk/installation.html>`__ ,
+ a `tutorial <http://www.ruffus.org.uk/tutorials/new_tutorial/introduction.html>`__ and
+ an `in-depth manual <http://www.ruffus.org.uk/tutorials/new_tutorial/manual_contents.html>`__ .
+
+
+***************************************
+Background
+***************************************
+
+ The purpose of a pipeline is to determine automatically which parts of a multi-stage
+ process needs to be run and in what order in order to reach an objective ("targets")
+
+ Computational pipelines, especially for analysing large scientific datasets are
+ in widespread use.
+ However, even a conceptually simple series of steps can be difficult to set up and
+ maintain.
+
+***************************************
+Design
+***************************************
+ The ruffus module has the following design goals:
+
+ * Lightweight
+ * Scalable / Flexible / Powerful
+ * Standard Python
+ * Unintrusive
+ * As simple as possible
+
+***************************************
+Features
+***************************************
+
+ Automatic support for
+
+ * Managing dependencies
+ * Parallel jobs, including dispatching work to computational clusters
+ * Re-starting from arbitrary points, especially after errors (checkpointing)
+ * Display of the pipeline as a flowchart
+ * Managing complex pipeline topologies
+
+
+***************************************
+A Simple example
+***************************************
+
+ Use the **@follows(...)** python decorator before the function definitions::
+
+ from ruffus import *
+ import sys
+
+ def first_task():
+ print "First task"
+
+ @follows(first_task)
+ def second_task():
+ print "Second task"
+
+ @follows(second_task)
+ def final_task():
+ print "Final task"
+
+
+
+
+ the ``@follows`` decorator indicate that the ``first_task`` function precedes ``second_task`` in
+ the pipeline.
+
+ The canonical Ruffus decorator is ``@transform`` which **transforms** data flowing down a
+ computational pipeline from one stage to teh next.
+
+********
+Usage
+********
+
+ Each stage or **task** in a computational pipeline is represented by a python function
+ Each python function can be called in parallel to run multiple **jobs**.
+
+ 1. Import module::
+
+ import ruffus
+
+
+ 1. Annotate functions with python decorators
+
+ 2. Print dependency graph if you necessary
+
+ - For a graphical flowchart in ``jpg``, ``svg``, ``dot``, ``png``, ``ps``, ``gif`` formats::
+
+ pipeline_printout_graph ("flowchart.svg")
+
+ This requires ``dot`` to be installed
+
+ - For a text printout of all jobs ::
+
+ pipeline_printout(sys.stdout)
+
+
+ 3. Run the pipeline::
+
+ pipeline_run()
+
+
+
+
+%package help
+Summary: Development documents and examples for ruffus
+Provides: python3-ruffus-doc
+%description help
+
+***************************************
+Overview
+***************************************
+
+
+ The Ruffus module is a lightweight way to add support
+ for running computational pipelines.
+
+ Computational pipelines are often conceptually quite simple, especially
+ if we breakdown the process into simple stages, or separate **tasks**.
+
+ Each stage or **task** in a computational pipeline is represented by a python function
+ Each python function can be called in parallel to run multiple **jobs**.
+
+ Ruffus was originally designed for use in bioinformatics to analyse multiple genome
+ data sets.
+
+***************************************
+Documentation
+***************************************
+
+ Ruffus documentation can be found `here <http://www.ruffus.org.uk>`__ ,
+ with `download notes <http://www.ruffus.org.uk/installation.html>`__ ,
+ a `tutorial <http://www.ruffus.org.uk/tutorials/new_tutorial/introduction.html>`__ and
+ an `in-depth manual <http://www.ruffus.org.uk/tutorials/new_tutorial/manual_contents.html>`__ .
+
+
+***************************************
+Background
+***************************************
+
+ The purpose of a pipeline is to determine automatically which parts of a multi-stage
+ process needs to be run and in what order in order to reach an objective ("targets")
+
+ Computational pipelines, especially for analysing large scientific datasets are
+ in widespread use.
+ However, even a conceptually simple series of steps can be difficult to set up and
+ maintain.
+
+***************************************
+Design
+***************************************
+ The ruffus module has the following design goals:
+
+ * Lightweight
+ * Scalable / Flexible / Powerful
+ * Standard Python
+ * Unintrusive
+ * As simple as possible
+
+***************************************
+Features
+***************************************
+
+ Automatic support for
+
+ * Managing dependencies
+ * Parallel jobs, including dispatching work to computational clusters
+ * Re-starting from arbitrary points, especially after errors (checkpointing)
+ * Display of the pipeline as a flowchart
+ * Managing complex pipeline topologies
+
+
+***************************************
+A Simple example
+***************************************
+
+ Use the **@follows(...)** python decorator before the function definitions::
+
+ from ruffus import *
+ import sys
+
+ def first_task():
+ print "First task"
+
+ @follows(first_task)
+ def second_task():
+ print "Second task"
+
+ @follows(second_task)
+ def final_task():
+ print "Final task"
+
+
+
+
+ the ``@follows`` decorator indicate that the ``first_task`` function precedes ``second_task`` in
+ the pipeline.
+
+ The canonical Ruffus decorator is ``@transform`` which **transforms** data flowing down a
+ computational pipeline from one stage to teh next.
+
+********
+Usage
+********
+
+ Each stage or **task** in a computational pipeline is represented by a python function
+ Each python function can be called in parallel to run multiple **jobs**.
+
+ 1. Import module::
+
+ import ruffus
+
+
+ 1. Annotate functions with python decorators
+
+ 2. Print dependency graph if you necessary
+
+ - For a graphical flowchart in ``jpg``, ``svg``, ``dot``, ``png``, ``ps``, ``gif`` formats::
+
+ pipeline_printout_graph ("flowchart.svg")
+
+ This requires ``dot`` to be installed
+
+ - For a text printout of all jobs ::
+
+ pipeline_printout(sys.stdout)
+
+
+ 3. Run the pipeline::
+
+ pipeline_run()
+
+
+
+
+%prep
+%autosetup -n ruffus-2.8.4
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-ruffus -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Thu Mar 09 2023 Python_Bot <Python_Bot@openeuler.org> - 2.8.4-1
+- Package Spec generated