summaryrefslogtreecommitdiff
path: root/python-sequana-pipetools.spec
blob: 25a59f17794278ee5bb9c8bc80e74e0d05a1c7a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
%global _empty_manifest_terminate_build 0
Name:		python-sequana-pipetools
Version:	0.12.4
Release:	1
Summary:	A set of tools to help building or using Sequana pipelines
License:	new BSD
URL:		https://github.com/sequana/sequana_pipetools
Source0:	https://mirrors.aliyun.com/pypi/web/packages/ea/07/ea9aa3e08249828c1c2f9f8c6a66b20b5a0165a0867aa7875e9c40b6e5d4/sequana_pipetools-0.12.4.tar.gz
BuildArch:	noarch


%description
**sequana_pipetools** is a collection of tools that assists with the management of `Sequana <https://sequana.readthedocs.io>`_ pipelines, which includes next-generation sequencing (NGS) pipelines like RNA-seq, variant calling, ChIP-seq, and others.
The aim of this package is to simplify the deployment of `Sequana pipelines <https://sequana.readthedocs.io>`_ by
creatin a pure Python library that includse commonly used tools for different pipelines.
Previously, the Sequana framework incorporated alll bioinformatics, Snakemake rules,
pipelines, and pipeline management tools into a single library (Sequana) as illustrated
in **Fig 1** below.
    **Figure 1** Old Sequana framework will all pipelines and Sequana library in the same
    place including pipetools (this library).
Whenever changes were made to the Sequana library, a thorough check of the entire library was necessary, despite
having 80% test coverage. Adding new pipelines also necessitated the addition of new dependencies, and the process was becoming increasingly complex. To mitigate this issue, we initially made all pipelines independent, as illustrated in **Fig. 2**. This way, pipeline changes could be made without updating Sequana and vice versa, which was a significant improvment.
    **Figure 2** v0.8 of Sequana moved the Snakemake pipelines in indepdendent
    repositories. A `cookie cutter <https://github.com/sequana/sequana_pipeline_template>`_ 
    ease the creation of scuh pipelines
However, certain tools, such as those used for user interface and input data sanity checks, were required by all pipelines, as depicted by the pipetools box in the figure. As new pipelines were being added every month, we aimed to make the pipelines and Sequana more modular. Consequently, we created a pure Python library known as **sequana_pipetools**, as shown in **Fig. 3**, to make the pipelines even more autonomous.
    **Figure 3** New Sequana framework. The library contains the core and
    bioinformatics tools and is now distinct from  the pipelines. Additionally, the
    sequana_pipetools library supplies common tools to assist in the creaton and management of all pipelines, 
    such as shared parser for options.
Finally, we dropped the rules/ available in Sequana to build an independent package with a set of Snakemake
wrappers. These wrappers are available on https://github.com/sequana/sequana-wrappers and have also the advantage of being tested through continuous integration.
    **Figure 3** New Sequana framework 2021. The library itself with the core, the
    bioinformatics tools is now fully independent of the pipelines. 

%package -n python3-sequana-pipetools
Summary:	A set of tools to help building or using Sequana pipelines
Provides:	python-sequana-pipetools
BuildRequires:	python3-devel
BuildRequires:	python3-setuptools
BuildRequires:	python3-pip
%description -n python3-sequana-pipetools
**sequana_pipetools** is a collection of tools that assists with the management of `Sequana <https://sequana.readthedocs.io>`_ pipelines, which includes next-generation sequencing (NGS) pipelines like RNA-seq, variant calling, ChIP-seq, and others.
The aim of this package is to simplify the deployment of `Sequana pipelines <https://sequana.readthedocs.io>`_ by
creatin a pure Python library that includse commonly used tools for different pipelines.
Previously, the Sequana framework incorporated alll bioinformatics, Snakemake rules,
pipelines, and pipeline management tools into a single library (Sequana) as illustrated
in **Fig 1** below.
    **Figure 1** Old Sequana framework will all pipelines and Sequana library in the same
    place including pipetools (this library).
Whenever changes were made to the Sequana library, a thorough check of the entire library was necessary, despite
having 80% test coverage. Adding new pipelines also necessitated the addition of new dependencies, and the process was becoming increasingly complex. To mitigate this issue, we initially made all pipelines independent, as illustrated in **Fig. 2**. This way, pipeline changes could be made without updating Sequana and vice versa, which was a significant improvment.
    **Figure 2** v0.8 of Sequana moved the Snakemake pipelines in indepdendent
    repositories. A `cookie cutter <https://github.com/sequana/sequana_pipeline_template>`_ 
    ease the creation of scuh pipelines
However, certain tools, such as those used for user interface and input data sanity checks, were required by all pipelines, as depicted by the pipetools box in the figure. As new pipelines were being added every month, we aimed to make the pipelines and Sequana more modular. Consequently, we created a pure Python library known as **sequana_pipetools**, as shown in **Fig. 3**, to make the pipelines even more autonomous.
    **Figure 3** New Sequana framework. The library contains the core and
    bioinformatics tools and is now distinct from  the pipelines. Additionally, the
    sequana_pipetools library supplies common tools to assist in the creaton and management of all pipelines, 
    such as shared parser for options.
Finally, we dropped the rules/ available in Sequana to build an independent package with a set of Snakemake
wrappers. These wrappers are available on https://github.com/sequana/sequana-wrappers and have also the advantage of being tested through continuous integration.
    **Figure 3** New Sequana framework 2021. The library itself with the core, the
    bioinformatics tools is now fully independent of the pipelines. 

%package help
Summary:	Development documents and examples for sequana-pipetools
Provides:	python3-sequana-pipetools-doc
%description help
**sequana_pipetools** is a collection of tools that assists with the management of `Sequana <https://sequana.readthedocs.io>`_ pipelines, which includes next-generation sequencing (NGS) pipelines like RNA-seq, variant calling, ChIP-seq, and others.
The aim of this package is to simplify the deployment of `Sequana pipelines <https://sequana.readthedocs.io>`_ by
creatin a pure Python library that includse commonly used tools for different pipelines.
Previously, the Sequana framework incorporated alll bioinformatics, Snakemake rules,
pipelines, and pipeline management tools into a single library (Sequana) as illustrated
in **Fig 1** below.
    **Figure 1** Old Sequana framework will all pipelines and Sequana library in the same
    place including pipetools (this library).
Whenever changes were made to the Sequana library, a thorough check of the entire library was necessary, despite
having 80% test coverage. Adding new pipelines also necessitated the addition of new dependencies, and the process was becoming increasingly complex. To mitigate this issue, we initially made all pipelines independent, as illustrated in **Fig. 2**. This way, pipeline changes could be made without updating Sequana and vice versa, which was a significant improvment.
    **Figure 2** v0.8 of Sequana moved the Snakemake pipelines in indepdendent
    repositories. A `cookie cutter <https://github.com/sequana/sequana_pipeline_template>`_ 
    ease the creation of scuh pipelines
However, certain tools, such as those used for user interface and input data sanity checks, were required by all pipelines, as depicted by the pipetools box in the figure. As new pipelines were being added every month, we aimed to make the pipelines and Sequana more modular. Consequently, we created a pure Python library known as **sequana_pipetools**, as shown in **Fig. 3**, to make the pipelines even more autonomous.
    **Figure 3** New Sequana framework. The library contains the core and
    bioinformatics tools and is now distinct from  the pipelines. Additionally, the
    sequana_pipetools library supplies common tools to assist in the creaton and management of all pipelines, 
    such as shared parser for options.
Finally, we dropped the rules/ available in Sequana to build an independent package with a set of Snakemake
wrappers. These wrappers are available on https://github.com/sequana/sequana-wrappers and have also the advantage of being tested through continuous integration.
    **Figure 3** New Sequana framework 2021. The library itself with the core, the
    bioinformatics tools is now fully independent of the pipelines. 

%prep
%autosetup -n sequana_pipetools-0.12.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-sequana-pipetools -f filelist.lst
%dir %{python3_sitelib}/*

%files help -f doclist.lst
%{_docdir}/*

%changelog
* Tue Jun 20 2023 Python_Bot <Python_Bot@openeuler.org> - 0.12.4-1
- Package Spec generated