annotate README.txt @ 0:0de566f21448 draft default tip

v2
author sagun98
date Thu, 03 Jun 2021 18:13:32 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
sagun98
parents:
diff changeset
1 # Using microPITA commandline #
sagun98
parents:
diff changeset
2
sagun98
parents:
diff changeset
3 These common commands can be used on the default data set obtained when downloading microPITA, simply cut and paste them into a commandline in the downloaded microPITA directory.
sagun98
parents:
diff changeset
4
sagun98
parents:
diff changeset
5
sagun98
parents:
diff changeset
6 ## Expected input file. ##
sagun98
parents:
diff changeset
7
sagun98
parents:
diff changeset
8 I. PCL file or BIOM file
sagun98
parents:
diff changeset
9
sagun98
parents:
diff changeset
10 BIOM file definition:
sagun98
parents:
diff changeset
11 For BIOM file definition please see http://biom-format.org/
sagun98
parents:
diff changeset
12
sagun98
parents:
diff changeset
13 PCL file definition:
sagun98
parents:
diff changeset
14 Although some defaults can be changed, microPITA expects a PCL file as an input file. Several PCL files are supplied by default in the input directory. A PCL file is a TEXT delimited file similar to an excel spread sheet with the following characteristics.
sagun98
parents:
diff changeset
15
sagun98
parents:
diff changeset
16 1. Rows represent metadata and features (bugs), columns represent samples.
sagun98
parents:
diff changeset
17 2. The first row by default should be the sample ids.
sagun98
parents:
diff changeset
18 3. Metadata rows should be next.
sagun98
parents:
diff changeset
19 4. Lastly, rows containing features (bugs) measurements (like abundance) should be after metadata rows.
sagun98
parents:
diff changeset
20 5. The first column should contain the ID describing the column. For metadata this may be, for example, "Age" for a row containing the age of the patients donating the samples. For measurements, this should be the feature name (bug name).
sagun98
parents:
diff changeset
21 5. By default the file is expected to be TAB delimited.
sagun98
parents:
diff changeset
22 6. If a consensus lineage or hierarchy of taxonomy is contained in the feature name, the default delimiter between clades is the pipe ("|").
sagun98
parents:
diff changeset
23
sagun98
parents:
diff changeset
24 II. Targeted feature file
sagun98
parents:
diff changeset
25 If using the targeted feature methodology, you will need to provide a txt file listing the feature(s) of interest. Each feature should be on it's own line and should be written as found in the input PCL file.
sagun98
parents:
diff changeset
26
sagun98
parents:
diff changeset
27
sagun98
parents:
diff changeset
28 ## Basic unsupervised methods ##
sagun98
parents:
diff changeset
29 Please note, all calls to microPITA should work interchangeably with PCL or BIOM files. BIOM files do not require the --lastmeta or --id arguments.
sagun98
parents:
diff changeset
30
sagun98
parents:
diff changeset
31 There are four unsupervised methods which can be performed:
sagun98
parents:
diff changeset
32 diverse (maximum diversity), extreme (most dissimilar), representative (representative dissimilarity) and features (targeted feature).
sagun98
parents:
diff changeset
33
sagun98
parents:
diff changeset
34 The first three methods are performed as follows (selecting a default 10 samples):
sagun98
parents:
diff changeset
35
sagun98
parents:
diff changeset
36 > python MicroPITA.py --lastmeta Label -m representative input/Test.pcl output.txt
sagun98
parents:
diff changeset
37 > python MicroPITA.py -m representative input/Test.biom output.txt
sagun98
parents:
diff changeset
38
sagun98
parents:
diff changeset
39 > python MicroPITA.py --lastmeta Label -m diverse input/Test.pcl output.txt
sagun98
parents:
diff changeset
40 > python MicroPITA.py -m diverse input/Test.biom output.txt
sagun98
parents:
diff changeset
41
sagun98
parents:
diff changeset
42 > python MicroPITA.py --lastmeta Label -m extreme input/Test.pcl output.txt
sagun98
parents:
diff changeset
43 > python MicroPITA.py -m extreme input/Test.biom output.txt
sagun98
parents:
diff changeset
44
sagun98
parents:
diff changeset
45 Each of the previous methods are made up of the following pieces:
sagun98
parents:
diff changeset
46 1. python MicroPITA.py to call the microPITA script.
sagun98
parents:
diff changeset
47 2. --lastmeta which indicates the keyword (first column value) of the last row that contains metadata (PCL input only).
sagun98
parents:
diff changeset
48 3. -m which indicates the method to use in selection.
sagun98
parents:
diff changeset
49 4. input/Test.pcl or input/Test.biom which is the first positional argument indicating an input file
sagun98
parents:
diff changeset
50 5. output.txt which is the second positional argument indicating the location to write to the output file.
sagun98
parents:
diff changeset
51
sagun98
parents:
diff changeset
52 Selecting specific features has additional arguments to consider --targets (required) and --feature_method (optional).
sagun98
parents:
diff changeset
53
sagun98
parents:
diff changeset
54 > python MicroPITA.py --lastmeta Label -m features --targets input/TestFeatures.taxa input/Test.pcl output.txt
sagun98
parents:
diff changeset
55 > python MicroPITA.py -m features --targets input/TestFeatures.taxa input/Test.biom output.txt
sagun98
parents:
diff changeset
56
sagun98
parents:
diff changeset
57 > python MicroPITA.py --lastmeta Label -m features --feature_method abundance --targets input/TestFeatures.taxa input/Test.pcl output.txt
sagun98
parents:
diff changeset
58 > python MicroPITA.py -m features --feature_method abundance --targets input/TestFeatures.taxa input/Test.biom output.txt
sagun98
parents:
diff changeset
59
sagun98
parents:
diff changeset
60 These additional arguments are described as:
sagun98
parents:
diff changeset
61 1. --targets The path to the file that has the features (bugs or clades) of interest. Make sure they are written as they appear in your input file!
sagun98
parents:
diff changeset
62 2. --feature_method is the method of selection used and can be based on ranked abundance ("rank") or abundance ("abundance"). The default value is rank.
sagun98
parents:
diff changeset
63 To differentiate the methods, rank tends to select samples in which the feature dominates the samples regardless of it's abundance.
sagun98
parents:
diff changeset
64 Abundance tends to select samples in which the feature is most abundant without a guarantee that the feature is the most abundant feature in the sample.
sagun98
parents:
diff changeset
65
sagun98
parents:
diff changeset
66
sagun98
parents:
diff changeset
67 ## Basic supervised methods ##
sagun98
parents:
diff changeset
68
sagun98
parents:
diff changeset
69 Two supervised methods are also available:
sagun98
parents:
diff changeset
70 distinct and discriminant
sagun98
parents:
diff changeset
71
sagun98
parents:
diff changeset
72 These methods require an additional argument --label which is the first column keyword of the row used to classify samples for the supervised methods.
sagun98
parents:
diff changeset
73 These methods can be performed as follows:
sagun98
parents:
diff changeset
74
sagun98
parents:
diff changeset
75 > python MicroPITA.py --lastmeta Label --label Label -m distinct input/Test.pcl output.txt
sagun98
parents:
diff changeset
76 > python MicroPITA.py --label Label -m distinct input/Test.biom output.txt
sagun98
parents:
diff changeset
77
sagun98
parents:
diff changeset
78 > python MicroPITA.py --lastmeta Label --label Label -m discriminant input/Test.pcl output.txt
sagun98
parents:
diff changeset
79 > python MicroPITA.py --label Label -m discriminant input/Test.biom output.txt
sagun98
parents:
diff changeset
80
sagun98
parents:
diff changeset
81
sagun98
parents:
diff changeset
82 ## Custom alpha- and beta-diversities ##
sagun98
parents:
diff changeset
83
sagun98
parents:
diff changeset
84 The default alpha diversity for the maximum diversity sampling method is inverse simpson; the default beta-diversity for representative and most dissimilar
sagun98
parents:
diff changeset
85 selection is bray-curtis dissimilarity. There are several mechanisms that allow one to change this. You may:
sagun98
parents:
diff changeset
86
sagun98
parents:
diff changeset
87 1. Choose from a selection of alpha-diveristy metrics.
sagun98
parents:
diff changeset
88 Note when supplying an alpha diversity. This will affect the maximum diveristy sampling method only. Please make sure to use a diversity metric where the larger number indicates a higher diversity. If this is not the case make sure to use the -f or --invertDiversity flag to invert the metric. The inversion is multiplicative (1/alpha-metric).
sagun98
parents:
diff changeset
89
sagun98
parents:
diff changeset
90 > python MicroPITA.py --lastmeta Label -m diverse -a simpson input/Test.pcl output.txt
sagun98
parents:
diff changeset
91 > python MicroPITA.py -m diverse -a simpson input/Test.biom output.txt
sagun98
parents:
diff changeset
92
sagun98
parents:
diff changeset
93 A case where inverting the metric is needed.
sagun98
parents:
diff changeset
94
sagun98
parents:
diff changeset
95 > python MicroPITA.py --lastmeta Label -m diverse -a dominance -f input/Test.pcl output.txt
sagun98
parents:
diff changeset
96 > python MicroPITA.py -m diverse -a dominance -f input/Test.biom output.txt
sagun98
parents:
diff changeset
97
sagun98
parents:
diff changeset
98 2. Choose from a selection of beta-diversity metrics.
sagun98
parents:
diff changeset
99 Note when supplying a beta-diversity. This will effect both the representative and most dissimilar sampling methods. The metric as given will be used for the representative method while 1-beta-metric is used for the most dissimilar.
sagun98
parents:
diff changeset
100
sagun98
parents:
diff changeset
101 > python MicroPITA.py --lastmeta Label -m representative -b euclidean input/Test.pcl output.txt
sagun98
parents:
diff changeset
102 > python MicroPITA.py -m representative -b euclidean input/Test.biom output.txt
sagun98
parents:
diff changeset
103
sagun98
parents:
diff changeset
104 > python MicroPITA.py --lastmeta Label -m extreme -b euclidean input/Test.pcl output.txt
sagun98
parents:
diff changeset
105 > python MicroPITA.py -m extreme -b euclidean input/Test.biom output.txt
sagun98
parents:
diff changeset
106
sagun98
parents:
diff changeset
107 Note for using Unifrac. Both Weighted and Unweighted unifrac are available for use. Make sure to supply the associated tree (-o, --tree) and environment files
sagun98
parents:
diff changeset
108 (-i,--envr) as well as indicate using Unifrac with (-b,--beta)
sagun98
parents:
diff changeset
109
sagun98
parents:
diff changeset
110 > python MicroPITA.py --lastmeta Label -m extreme -b unifrac_weighted -o input/Test.tree -i input/Test-env.txt input/Test.pcl output.txt
sagun98
parents:
diff changeset
111 > python MicroPITA.py -m extreme -b unifrac_weighted -o input/Test.tree -i input/Test-env.txt input/Test.biom output.txt
sagun98
parents:
diff changeset
112 > python MicroPITA.py --lastmeta Label -m extreme -b unifrac_unweighted -o input/Test.tree -i input/Test-env.txt input/Test.pcl output.txt
sagun98
parents:
diff changeset
113 > python MicroPITA.py -m extreme -b unifrac_unweighted -o input/Test.tree -i input/Test-env.txt input/Test.biom output.txt
sagun98
parents:
diff changeset
114 > python MicroPITA.py --lastmeta Label -m representative -b unifrac_weighted -o input/Test.tree -i input/Test-env.txt input/Test.pcl output.txt
sagun98
parents:
diff changeset
115 > python MicroPITA.py -m representative -b unifrac_weighted -o input/Test.tree -i input/Test-env.txt input/Test.biom output.txt
sagun98
parents:
diff changeset
116 > python MicroPITA.py --lastmeta Label -m representative -b unifrac_unweighted -o input/Test.tree -i input/Test-env.txt input/Test.pcl output.txt
sagun98
parents:
diff changeset
117 > python MicroPITA.py -m representative -b unifrac_unweighted -o input/Test.tree -i input/Test-env.txt input/Test.biom output.txt
sagun98
parents:
diff changeset
118
sagun98
parents:
diff changeset
119 3. Supply your own custom alpha-diversity per sample as a metadata (row) in your pcl file.
sagun98
parents:
diff changeset
120
sagun98
parents:
diff changeset
121 > python MicroPITA.py --lastmeta Label -m diverse -q alpha_custom input/Test.pcl output.txt
sagun98
parents:
diff changeset
122 > python MicroPITA.py -m diverse -q alpha_custom input/Test2.biom output.txt
sagun98
parents:
diff changeset
123
sagun98
parents:
diff changeset
124 4. Supply your own custom beta diversity as a matrix (provided in a seperate file).
sagun98
parents:
diff changeset
125
sagun98
parents:
diff changeset
126 > python MicroPITA.py --lastmeta Label -m representative -x input/Test_Matrix.txt input/Test.pcl output.txt
sagun98
parents:
diff changeset
127 > python MicroPITA.py -m representative -x input/Test_Matrix.txt input/Test.biom output.txt
sagun98
parents:
diff changeset
128 > python MicroPITA.py --lastmeta Label -m extreme -x input/Test_Matrix.txt input/Test.pcl output.txt
sagun98
parents:
diff changeset
129 > python MicroPITA.py -m extreme -x input/Test_Matrix.txt input/Test.biom output.txt
sagun98
parents:
diff changeset
130
sagun98
parents:
diff changeset
131
sagun98
parents:
diff changeset
132 ## Changing defaults ##
sagun98
parents:
diff changeset
133
sagun98
parents:
diff changeset
134 Sample Selection:
sagun98
parents:
diff changeset
135 To change the number of selected samples for any method use the -n argument. This example selects 6 representative samples instead of the default 10.
sagun98
parents:
diff changeset
136
sagun98
parents:
diff changeset
137 > python MicroPITA.py --lastmeta Label -m representative -n 6 input/Test.pcl output.txt
sagun98
parents:
diff changeset
138 > python MicroPITA.py -m representative -n 6 input/Test.biom output.txt
sagun98
parents:
diff changeset
139
sagun98
parents:
diff changeset
140 When using a supervised method this indicates how many samples will be selected per class of sample. For example if you are performing supervised selection of 6 samples (-n 6) on a dataset with 2 classes (values) in it's label row, you will get 6 x 2 = 12 samples. If a class does not have 6 samples in it, you will get the max possible for that class. In a scenario where you are selecting 6 samples (-n 6) and have two classes but one class has only 3 samples then you will get 6 + 3 = 9 selected samples.
sagun98
parents:
diff changeset
141
sagun98
parents:
diff changeset
142 Stratification:
sagun98
parents:
diff changeset
143 To stratify any method use the --stratify argument which is the first column keyword of the metadata row used to stratify samples before selection occurs. (Selection will occur independently within each strata). This example stratifies diverse selection by the "Label".
sagun98
parents:
diff changeset
144
sagun98
parents:
diff changeset
145 > python MicroPITA.py --lastmeta Label --stratify Label -m representative input/Test.pcl output.txt
sagun98
parents:
diff changeset
146 > python MicroPITA.py --stratify Label -m representative input/Test.biom output.txt
sagun98
parents:
diff changeset
147
sagun98
parents:
diff changeset
148 > python MicroPITA.py --lastmeta Label --label Label --stratify StratifyLabel -m distinct input/Test.pcl output.txt
sagun98
parents:
diff changeset
149 > python MicroPITA.py --label Label --stratify StratifyLabel -m distinct input/Test2.biom output.txt
sagun98
parents:
diff changeset
150
sagun98
parents:
diff changeset
151 Changing PCL file defaults:
sagun98
parents:
diff changeset
152 Some PCL files have feature metadata. These are columns of data that comment on bug features (rows) in the file. An example of this could be a certain taxonomy clade for different bug features. If this type of data exists please use -w or --lastFeatureMetadata to indicate the last column of feature metadata before the first column which is a sample. For an example please look in docs for PCL-Description.txt. This only applys to PCL files.
sagun98
parents:
diff changeset
153
sagun98
parents:
diff changeset
154 > python MicroPITA.py --lastmeta Label -m representative -w taxonomy_5 input/FeatureMetadata.pcl output.txt
sagun98
parents:
diff changeset
155
sagun98
parents:
diff changeset
156 MicroPITA assumes the first row of the input file is the sample IDs, if it is not you may use --id to indicate the row.
sagun98
parents:
diff changeset
157 --id expects the entry in the first column of your input file that matches the row used as Sample Ids. See the input file and the following command as an example.
sagun98
parents:
diff changeset
158 This only applys to PCL files.
sagun98
parents:
diff changeset
159
sagun98
parents:
diff changeset
160 > python MicroPITA.py --id Sample --lastmeta Label -m representative input/Test.pcl output.txt
sagun98
parents:
diff changeset
161
sagun98
parents:
diff changeset
162 MicroPITA assumes the input file is TAB delimited, we strongly recommend you use this convention. If not, you can use --delim to change the delimiter used to read in the file.
sagun98
parents:
diff changeset
163 Here is an example of reading the comma delimited file micropita/input/CommaDelim.pcl
sagun98
parents:
diff changeset
164 This only applys to PCL files.
sagun98
parents:
diff changeset
165
sagun98
parents:
diff changeset
166 > python MicroPITA.py --delim , --lastmeta Label -m representative input/CommaDelim.pcl output.txt
sagun98
parents:
diff changeset
167
sagun98
parents:
diff changeset
168 MicroPITA assumes the input file has feature names in which, if the name contains the consensus lineage or full taxonomic hierarchy, it is delimited with a pipe "|". We strongly recommend you use this default. The delimiter of the feature name can be changed using --featdelim. Here is an example of reading in a file with periods as the delimiter.
sagun98
parents:
diff changeset
169 This only applys to PCL files.
sagun98
parents:
diff changeset
170
sagun98
parents:
diff changeset
171 > python MicroPITA.py --featdelim . --lastmeta Label -m representative input/PeriodDelim.pcl output.txt
sagun98
parents:
diff changeset
172
sagun98
parents:
diff changeset
173
sagun98
parents:
diff changeset
174 ## Dependencies ##
sagun98
parents:
diff changeset
175 Please note the following dependencies need to be installed for micropita to run.
sagun98
parents:
diff changeset
176 1. Python 2.x http://www.python.org/download/
sagun98
parents:
diff changeset
177 2. blist http://pypi.python.org/pypi/blist/
sagun98
parents:
diff changeset
178 3. NumPy http://numpy.scipy.org/
sagun98
parents:
diff changeset
179 4. SciPy http://www.scipy.org/
sagun98
parents:
diff changeset
180 5. PyCogent http://pycogent.sourceforge.net/install.html
sagun98
parents:
diff changeset
181 6. mlpy http://mlpy.sourceforge.net/
sagun98
parents:
diff changeset
182 7. mpi4py http://mpi4py.scipy.org/
sagun98
parents:
diff changeset
183 8. biome support http://biom-format.org/
sagun98
parents:
diff changeset
184
sagun98
parents:
diff changeset
185 This covers how to use microPITA. Thank you for using this software and good luck with all your endeavors!