forked from qiime2/q2-types
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathplugin_setup.py
156 lines (139 loc) · 6.29 KB
/
plugin_setup.py
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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
# ----------------------------------------------------------------------------
# Copyright (c) 2016-2023, QIIME 2 development team.
#
# Distributed under the terms of the Modified BSD License.
#
# The full license is in the file LICENSE, distributed with this software.
# ----------------------------------------------------------------------------
import importlib
import pandas as pd
import qiime2.plugin
from qiime2.core.type import Int, Range, Collection, List
import q2_types
from q2_types import __version__
from q2_types.feature_data_mag import MAG
from q2_types.per_sample_sequences import MAGs
from q2_types.feature_data import FeatureData
from q2_types.genome_data import Orthologs, GenomeData, NOG
from q2_types.sample_data import SampleData
citations = qiime2.plugin.Citations.load('citations.bib', package='q2_types')
plugin = qiime2.plugin.Plugin(
name='types',
version=__version__,
website='https://github.com/qiime2/q2-types',
package='q2_types',
description=('This QIIME 2 plugin defines semantic types and '
'transformers supporting microbiome analysis.'),
short_description='Plugin defining types for microbiome analysis.'
)
plugin.register_views(pd.Series, pd.DataFrame,
citations=[citations['mckinney-proc-scipy-2010']])
plugin.methods.register_function(
function=q2_types.per_sample_sequences.partition_sample_data_mags,
inputs={"mags": SampleData[MAGs]},
parameters={"num_partitions": Int % Range(1, None)},
outputs={"partitioned_mags": Collection[SampleData[MAGs]]},
input_descriptions={"mags": "The MAGs to partition."},
parameter_descriptions={
"num_partitions": "The number of partitions to split the MAGs"
" into. Defaults to partitioning into individual"
" MAGs."
},
name="Partition MAGs",
description="Partition a SampleData[MAGs] artifact into smaller "
"artifacts containing subsets of the MAGs",
)
plugin.methods.register_function(
function=q2_types.genome_data.partition_orthologs,
inputs={"orthologs": SampleData[Orthologs]},
parameters={"num_partitions": Int % Range(1, None)},
outputs={"partitioned_orthologs": Collection[SampleData[Orthologs]]},
input_descriptions={"orthologs": "The orthologs to partition."},
parameter_descriptions={
"num_partitions": "The number of partitions to split the MAGs"
" into. Defaults to partitioning into individual"
" MAGs."
},
name="Partition orthologs",
description="Partition a SampleData[BLAST6] artifact into smaller "
"artifacts containing subsets of the BLAST6 reports.",
)
plugin.methods.register_function(
function=q2_types.per_sample_sequences.collate_sample_data_mags,
inputs={"mags": List[SampleData[MAGs]]},
parameters={},
outputs={"collated_mags": SampleData[MAGs]},
input_descriptions={"mags": "A collection of MAGs to be collated."},
name="Collate MAGs",
description="Takes a collection of SampleData[MAGs]'s "
"and collates them into a single artifact.",
)
plugin.methods.register_function(
function=q2_types.feature_data_mag.partition_feature_data_mags,
inputs={"mags": FeatureData[MAG]},
parameters={"num_partitions": Int % Range(1, None)},
outputs={"partitioned_mags": Collection[FeatureData[MAG]]},
input_descriptions={"mags": "MAGs to partition."},
parameter_descriptions={
"num_partitions": "The number of partitions to split the MAGs"
" into. Defaults to partitioning into individual"
" MAGs."
},
name="Partition MAGs",
description="Partition a FeatureData[MAG] artifact into smaller "
"artifacts containing subsets of the MAGs",
)
plugin.methods.register_function(
function=q2_types.feature_data_mag.collate_feature_data_mags,
inputs={"mags": List[FeatureData[MAG]]},
parameters={},
outputs={"collated_mags": FeatureData[MAG]},
input_descriptions={"mags": "A collection of MAGs to be collated."},
name="Collate MAGs",
description="Takes a collection of FeatureData[MAG]'s "
"and collates them into a single artifact.",
)
plugin.methods.register_function(
function=q2_types.genome_data.collate_orthologs,
inputs={"orthologs": List[SampleData[Orthologs]]},
parameters={},
outputs={"collated_orthologs": SampleData[Orthologs]},
input_descriptions={"orthologs": "Orthologs to collate"},
parameter_descriptions={},
name="Collate orthologs",
description="Takes a collection SampleData[BLAST6] artifacts "
"and collates them into a single artifact.",
)
plugin.methods.register_function(
function=q2_types.genome_data.collate_ortholog_annotations,
inputs={'ortholog_annotations': List[GenomeData[NOG]]},
parameters={},
outputs=[('collated_annotations', GenomeData[NOG])],
input_descriptions={
'ortholog_annotations': "Collection of ortholog annotations."
},
output_descriptions={
'collated_annotations': "Collated ortholog annotations."
},
name='Collate ortholog annotations.',
description="Takes a collection of GenomeData[NOG]'s "
"and collates them into a single artifact.",
)
importlib.import_module('q2_types.bowtie2._deferred_setup')
importlib.import_module('q2_types.distance_matrix._deferred_setup')
importlib.import_module('q2_types.feature_data._deferred_setup')
importlib.import_module('q2_types.feature_data_mag._deferred_setup')
importlib.import_module('q2_types.feature_map._deferred_setup')
importlib.import_module('q2_types.feature_table._deferred_setup')
importlib.import_module('q2_types.genome_data._deferred_setup')
importlib.import_module('q2_types.kaiju._deferred_setup')
importlib.import_module('q2_types.kraken2._deferred_setup')
importlib.import_module('q2_types.metadata._deferred_setup')
importlib.import_module('q2_types.multiplexed_sequences._deferred_setup')
importlib.import_module('q2_types.ordination._deferred_setup')
importlib.import_module('q2_types.per_sample_sequences._deferred_setup')
importlib.import_module('q2_types.profile_hmms._deferred_setup')
importlib.import_module('q2_types.reference_db._deferred_setup')
importlib.import_module('q2_types.sample_data._deferred_setup')
importlib.import_module('q2_types.tree._deferred_setup')
importlib.import_module('q2_types.tabular._deferred_setup')