diff options
author | CoprDistGit <infra@openeuler.org> | 2023-03-09 16:37:17 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-03-09 16:37:17 +0000 |
commit | 3cd1d61744bace4b613fe08b34568870a4b1f838 (patch) | |
tree | 43bd792bd626a04c095b2d426a5a6e2bc32b7c44 /python-ruffus.spec | |
parent | 44e5462cc8ff6b152a4f02a9749992d77de27399 (diff) |
automatic import of python-ruffus
Diffstat (limited to 'python-ruffus.spec')
-rw-r--r-- | python-ruffus.spec | 447 |
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 |