-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathkb_trimmomatic.spec
110 lines (93 loc) · 3.36 KB
/
kb_trimmomatic.spec
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
/*
A KBase module: kb_trimmomatic
This module contains two methods
runTrimmomatic() to backend a KBase App, potentially operating on ReadSets
execTrimmomatic() the local method that handles overloading Trimmomatic to run on a set or a single library
execTrimmomaticSingleLibrary() runs Trimmomatic on a single library
*/
module kb_trimmomatic {
/*
** Common types
*/
typedef string workspace_name;
typedef string data_obj_ref;
typedef string data_obj_name;
typedef int bool;
/* parameter groups
*/
typedef structure {
int sliding_window_size;
int sliding_window_min_quality;
} SlidingWindow_Options;
typedef structure {
string adapterFa;
int seed_mismatches;
int palindrome_clip_threshold;
int simple_clip_threshold;
} AdapterClip_Options;
/* runTrimmomatic()
**
** to backend a KBase App, potentially operating on ReadSets
*/
typedef structure {
workspace_name input_ws;
/*string input_read_library;*/
/*data_obj_name input_reads_name;*/ /* may be either ReadSet, PairedEndLibrary, or SingleEndLibrary */
data_obj_ref input_reads_ref; /* may be either ReadSet, PairedEndLibrary, or SingleEndLibrary */
workspace_name output_ws;
/*string output_read_library;*/
data_obj_name output_reads_name;
/*string read_type;*/ /* auto-detect instead */
/*string quality_encoding;*/ /* auto-detect instead */
bool translate_to_phred33;
AdapterClip_Options adapter_clip;
SlidingWindow_Options sliding_window;
int leading_min_quality;
int trailing_min_quality;
int crop_length;
int head_crop_length;
int min_length;
} runTrimmomaticInput;
typedef structure {
string report_name;
string report_ref;
} runTrimmomaticOutput;
funcdef runTrimmomatic(runTrimmomaticInput input_params)
returns (runTrimmomaticOutput output)
authentication required;
/* execTrimmomatic()
**
** the local method that runs Trimmomatic on each read library
*/
typedef structure {
data_obj_ref input_reads_ref; /* may be either PairedEndLibrary, or SingleEndLibrary */
workspace_name output_ws;
data_obj_name output_reads_name;
string read_type; /* auto-detected and passed to exec*SingleLib */
string adapterFa;
int seed_mismatches;
int palindrome_clip_threshold;
int simple_clip_threshold;
/*string quality_encoding;*/ /* auto-detect instead */
bool translate_to_phred33;
int sliding_window_size;
int sliding_window_min_quality;
int leading_min_quality;
int trailing_min_quality;
int crop_length;
int head_crop_length;
int min_length;
} execTrimmomaticInput;
typedef structure {
data_obj_ref output_filtered_ref;
data_obj_ref output_unpaired_fwd_ref;
data_obj_ref output_unpaired_rev_ref;
string report;
} execTrimmomaticOutput;
funcdef execTrimmomatic(execTrimmomaticInput input_params)
returns (execTrimmomaticOutput output)
authentication required;
funcdef execTrimmomaticSingleLibrary(execTrimmomaticInput input_params)
returns (execTrimmomaticOutput output)
authentication required;
};