-
Notifications
You must be signed in to change notification settings - Fork 0
/
kb_Amplicon.spec
105 lines (92 loc) · 3.87 KB
/
kb_Amplicon.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
/*
A KBase module: kb_Amplicon
*/
module kb_Amplicon {
typedef structure {
string report_name;
string report_ref;
} ReportResults;
/* Ref to a WS object
@id ws
*/
typedef string WSRef;
/* An X/Y/Z style reference
*/
typedef string obj_ref;
/*
A simple 2D matrix of floating point numbers with labels/ids for rows and
columns. The matrix is stored as a list of lists, with the outer list
containing rows, and the inner lists containing values for each column of
that row. Row/Col ids should be unique.
row_ids - unique ids for rows.
col_ids - unique ids for columns.
values - two dimensional array indexed as: values[row][col]
@metadata ws length(row_ids) as n_rows
@metadata ws length(col_ids) as n_cols
*/
typedef structure {
list<string> row_ids;
list<string> col_ids;
list<list<float>> values;
} FloatMatrix2D;
/*
A wrapper around a FloatMatrix2D designed for simple matricies of MDS data.
MDSMatrix Fields:
description - short optional description of the dataset
mds_parameters - arguments used to perform MDS analysis
mds_output_items - important data items produced by the MDS analysis (including stress,converged,solution_reached, species,distance_metric,data and sample_scores)
distance_matrix - (Bray_Curtis) distance matrix computed from the original_matrix
rotation_matrix - result rotation matrix
original_matrix_ref - object reference to the original input (otu) matrix
@optional description mds_parameters
@optional distance_matrix mds_output_items
@metadata ws length(rotation_matrix.row_ids) as otu_row_count
@metadata ws length(rotation_matrix.col_ids) as sample_id_count
@metadata ws original_matrix_ref as original_matrix_ref
*/
typedef structure {
string description;
WSRef original_matrix_ref;
mapping<string, string> mds_parameters;
mapping<string, string> mds_output_items;
FloatMatrix2D distance_matrix;
FloatMatrix2D rotation_matrix;
} MDSMatrix;
/* Input of the run_metaMDS function
input_obj_ref: object reference to a KBaseMatrices matrix
workspace_name: name of the workspace
mds_matrix_name: name of MDS (KBaseExperiments.MDSMatrix) object (output)
n_components - desired number of n dimensions is chosen for the ordination (default 2)
metric - Int, if 1, perform metric MDS; otherwise, perform nonmetric MDS. (default 0)
max_iter - iterations stop once a set number of max_iter iterations have occurred (default 300)
distance_metric - name of the distance the ordination will be performed on (Euclidean distance,
Manhattan distance (city block distance) or Bray distance) default to Bray distance
plot_script - scripts entered by user for plotting
plot_type - type of plot to be created (bmp or pdf)
plot_name - file name for the plot image file
*/
typedef structure {
obj_ref input_obj_ref;
string workspace_name;
string mds_matrix_name;
int n_components;
int metric;
int max_iter;
string distance_metric;
string plot_script;
string plot_type;
string plot_name;
} MDSParams;
/* Ouput of the run_metaMDS function
mds_ref: object reference (to an object of the MDSMatrix data type)
report_name: report name generated by KBaseReport
report_ref: report reference generated by KBaseReport
*/
typedef structure {
obj_ref mds_ref;
string report_name;
string report_ref;
} MDSOutput;
/* run_metaMDS: perform MDS analysis on an input matrix*/
funcdef run_metaMDS (MDSParams params) returns (MDSOutput returnVal) authentication required;
};