annotate mayachemtools/bin/SimilarityMatricesFingerprints.pl @ 9:ab29fa5c8c1f draft default tip

Uploaded
author deepakjadmin
date Thu, 15 Dec 2016 14:18:03 -0500
parents 73ae111cf86f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1 #!/usr/bin/perl -w
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2 #
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
3 # $RCSfile: SimilarityMatricesFingerprints.pl,v $
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
4 # $Date: 2015/02/28 20:46:20 $
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
5 # $Revision: 1.21 $
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
6 #
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
7 # Author: Manish Sud <msud@san.rr.com>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
8 #
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
9 # Copyright (C) 2015 Manish Sud. All rights reserved.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
10 #
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
11 # This file is part of MayaChemTools.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
12 #
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
13 # MayaChemTools is free software; you can redistribute it and/or modify it under
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
14 # the terms of the GNU Lesser General Public License as published by the Free
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
15 # Software Foundation; either version 3 of the License, or (at your option) any
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
16 # later version.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
17 #
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
18 # MayaChemTools is distributed in the hope that it will be useful, but without
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
19 # any warranty; without even the implied warranty of merchantability of fitness
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
20 # for a particular purpose. See the GNU Lesser General Public License for more
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
21 # details.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
22 #
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
23 # You should have received a copy of the GNU Lesser General Public License
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
24 # along with MayaChemTools; if not, see <http://www.gnu.org/licenses/> or
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
25 # write to the Free Software Foundation Inc., 59 Temple Place, Suite 330,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
26 # Boston, MA, 02111-1307, USA.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
27 #
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
28
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
29 use strict;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
30 use FindBin; use lib "$FindBin::Bin/../lib";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
31 use Getopt::Long;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
32 use File::Basename;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
33 use File::Copy;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
34 use Text::ParseWords;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
35 use Benchmark;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
36 use FileUtil;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
37 use TextUtil;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
38 use Fingerprints::FingerprintsFileUtil;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
39 use Fingerprints::FingerprintsBitVector;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
40 use Fingerprints::FingerprintsVector;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
41
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
42 my($ScriptName, %Options, $StartTime, $EndTime, $TotalTime);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
43
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
44 # Autoflush STDOUT
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
45 $| = 1;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
46
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
47 # Starting message...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
48 $ScriptName = basename($0);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
49 print "\n$ScriptName: Starting...\n\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
50 $StartTime = new Benchmark;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
51
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
52 # Get the options and setup script...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
53 SetupScriptUsage();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
54 if ($Options{help} || @ARGV < 1) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
55 die GetUsageFromPod("$FindBin::Bin/$ScriptName");
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
56 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
57
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
58 my(@FingerprintsFilesList);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
59 @FingerprintsFilesList = ExpandFileNames(\@ARGV, "sdf sd fpf fp csv tsv");
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
60
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
61 # Process options...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
62 print "Processing options...\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
63 my(%OptionsInfo);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
64 ProcessOptions();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
65
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
66 # Setup information about input files...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
67 print "Checking input fingerprints file(s)...\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
68 my(%FingerprintsFilesInfo);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
69 RetrieveFingerprintsFilesInfo();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
70
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
71 # Process input files..
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
72 my($FileIndex);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
73 if (@FingerprintsFilesList > 1) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
74 print "\nProcessing fingerprints files...\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
75 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
76 for $FileIndex (0 .. $#FingerprintsFilesList) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
77 if ($FingerprintsFilesInfo{FileOkay}[$FileIndex]) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
78 print "\nProcessing file $FingerprintsFilesList[$FileIndex]...\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
79 GenerateSimilarityMatrices($FileIndex);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
80 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
81 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
82 print "\n$ScriptName:Done...\n\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
83
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
84 $EndTime = new Benchmark;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
85 $TotalTime = timediff ($EndTime, $StartTime);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
86 print "Total time: ", timestr($TotalTime), "\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
87
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
88 ###############################################################################
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
89
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
90 # Generate similarity matrices using fingerprints data in text file...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
91 #
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
92 sub GenerateSimilarityMatrices {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
93 my($FileIndex) = @_;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
94
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
95 ProcessFingerprintsData($FileIndex);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
96
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
97 if ($FingerprintsFilesInfo{FingerprintsBitVectorStringMode}[$FileIndex]) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
98 GenerateSimilarityMatricesForFingerprintsBitVectors($FileIndex);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
99 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
100 elsif ($FingerprintsFilesInfo{FingerprintsVectorStringMode}[$FileIndex]) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
101 GenerateSimilarityMatricesForFingerprintsVectors($FileIndex);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
102 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
103
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
104 CleanupFingerprintsData($FileIndex);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
105 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
106
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
107 # Generate bit vector similarity matrices...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
108 #
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
109 sub GenerateSimilarityMatricesForFingerprintsBitVectors {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
110 my($FileIndex) = @_;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
111 my($SpecifiedComparisonMeasure, $ComparisonMeasure, $NewTextFile, $SimilarityMatrixRef, $MethodName, @MethodParameters);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
112
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
113 for $SpecifiedComparisonMeasure (@{$OptionsInfo{SpecifiedBitVectorComparisonsRef}}) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
114 $ComparisonMeasure = $OptionsInfo{SpecifiedBitVectorComparisonsNameRef}->{lc($SpecifiedComparisonMeasure)};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
115 $NewTextFile = $FingerprintsFilesInfo{OutFileRoot}[$FileIndex] . "${ComparisonMeasure}." . $FingerprintsFilesInfo{OutFileExt}[$FileIndex];
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
116
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
117 $MethodName = $OptionsInfo{SpecifiedBitVectorComparisonsMethodRef}->{lc($ComparisonMeasure)};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
118
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
119 @MethodParameters = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
120 @MethodParameters = @{$OptionsInfo{SpecifiedBitVectorComparisonsParameterRef}->{lc($ComparisonMeasure)}};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
121
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
122 GenerateSimilarityMatrix($FileIndex, $NewTextFile, $MethodName, \@MethodParameters);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
123 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
124 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
125
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
126 # Generate vector similarity and/or distance matrices...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
127 #
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
128 sub GenerateSimilarityMatricesForFingerprintsVectors {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
129 my($FileIndex) = @_;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
130 my($SpecifiedComparisonMeasure, $ComparisonMode, $ComparisonMeasure, $NewTextFile, $MethodName, @MethodParameters);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
131
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
132 for $SpecifiedComparisonMeasure (@{$OptionsInfo{SpecifiedVectorComparisonsRef}}) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
133 $ComparisonMeasure = $OptionsInfo{SpecifiedVectorComparisonsNameRef}->{lc($SpecifiedComparisonMeasure)};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
134
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
135 for $ComparisonMode (@{$OptionsInfo{SpecifiedVectorComparisonModesRef}}) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
136 $NewTextFile = $FingerprintsFilesInfo{OutFileRoot}[$FileIndex] . "${ComparisonMeasure}${ComparisonMode}." . $FingerprintsFilesInfo{OutFileExt}[$FileIndex];
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
137
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
138 $MethodName = $OptionsInfo{SpecifiedVectorComparisonsMethodRef}->{lc($ComparisonMeasure)};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
139
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
140 @MethodParameters = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
141 push @MethodParameters, $ComparisonMode;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
142 push @MethodParameters, @{$OptionsInfo{SpecifiedVectorComparisonsParameterRef}->{lc($ComparisonMeasure)}};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
143
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
144 GenerateSimilarityMatrix($FileIndex, $NewTextFile, $MethodName, \@MethodParameters);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
145 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
146 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
147 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
148
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
149 # Calculate similarity matrix and write it out...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
150 #
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
151 sub GenerateSimilarityMatrix {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
152 my($FileIndex, $NewTextFile, $MethodName, $MethodParametersRef) = @_;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
153
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
154 print "\nGenerating $NewTextFile...\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
155
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
156 # Open new file and write out column labels...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
157 open NEWTEXTFILE, ">$NewTextFile" or die "Error: Can't open $NewTextFile: $! \n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
158 WriteColumnLabels($FileIndex, \*NEWTEXTFILE);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
159
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
160 # Calculate and write out similarity matrix values...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
161 if ($OptionsInfo{InputDataMode} =~ /^LoadInMemory$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
162 GenerateSimilarityMatrixUsingMemoryData($FileIndex, \*NEWTEXTFILE, $MethodName, $MethodParametersRef);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
163 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
164 elsif ($OptionsInfo{InputDataMode} =~ /^ScanFile$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
165 GenerateSimilarityMatrixUsingFileData($FileIndex, \*NEWTEXTFILE, $MethodName, $MethodParametersRef);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
166 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
167 else {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
168 warn "Warning: Input data mode, $OptionsInfo{InputDataMode}, is not supported.\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
169 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
170
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
171 # Close new text file...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
172 close NEWTEXTFILE;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
173
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
174 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
175
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
176 # Calculate and write out similarity values using fingerprints data already loaded in
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
177 # memory...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
178 #
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
179 sub GenerateSimilarityMatrixUsingMemoryData {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
180 my($FileIndex, $NewTextFileRef, $MethodName, $MethodParametersRef) = @_;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
181 my($RowIndex, $ColIndex, $CmpdID1, $CmpdID2, $FingerprintsObject1, $FingerprintsObject2, $Value, $Line, @LineWords);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
182
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
183 for $RowIndex (0 .. $#{$FingerprintsFilesInfo{FingerprintsObjectsRef}}) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
184 $FingerprintsObject1 = $FingerprintsFilesInfo{FingerprintsObjectsRef}->[$RowIndex];
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
185 $CmpdID1 = $FingerprintsFilesInfo{CompundIDsRef}->[$RowIndex];
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
186
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
187 if ($OptionsInfo{WriteRowsAndColumns}) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
188 print $NewTextFileRef "$OptionsInfo{OutQuoteValue}${CmpdID1}$OptionsInfo{OutQuoteValue}";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
189 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
190
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
191 COLINDEX: for $ColIndex (0 .. $#{$FingerprintsFilesInfo{FingerprintsObjectsRef}}) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
192 if (SkipMatrixData($RowIndex, $ColIndex)) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
193 next COLINDEX;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
194 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
195
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
196 $FingerprintsObject2 = $FingerprintsFilesInfo{FingerprintsObjectsRef}->[$ColIndex];
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
197
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
198 $Value = $FingerprintsObject1->$MethodName($FingerprintsObject2, @{$MethodParametersRef});
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
199 $Value = (defined($Value) && length($Value)) ? (sprintf("%.$OptionsInfo{Precision}f", $Value) + 0) : '';
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
200
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
201 if ($OptionsInfo{WriteRowsAndColumns}) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
202 print $NewTextFileRef "$OptionsInfo{OutDelim}$OptionsInfo{OutQuoteValue}${Value}$OptionsInfo{OutQuoteValue}";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
203 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
204 elsif ($OptionsInfo{WriteIDPairsAndValue}) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
205 $CmpdID2 = $FingerprintsFilesInfo{CompundIDsRef}->[$ColIndex];
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
206
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
207 @LineWords = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
208 push @LineWords, ($CmpdID1, $CmpdID2, $Value);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
209 $Line = JoinWords(\@LineWords, $OptionsInfo{OutDelim}, $OptionsInfo{OutQuote});
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
210 print $NewTextFileRef "$Line\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
211 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
212 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
213 if ($OptionsInfo{WriteRowsAndColumns}) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
214 print $NewTextFileRef "\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
215 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
216 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
217 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
218
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
219 # Calculate and write out similarity values by retrieving and prcessing data
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
220 # from fingerprint file...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
221 #
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
222 sub GenerateSimilarityMatrixUsingFileData {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
223 my($FileIndex, $NewTextFileRef, $MethodName, $MethodParametersRef) = @_;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
224 my($RowIndex, $ColIndex, $FingerprintsFileIO, $TmpFingerprintsFileIO, $FingerprintsObject1, $FingerprintsObject2, $CmpdID1, $CmpdID2, $FingerprintsCount, $IgnoredFingerprintsCount, $Value, $Line, @LineWords);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
225
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
226 print "\nReading and processing fingerprints data...\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
227
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
228 $FingerprintsFileIO = Fingerprints::FingerprintsFileUtil::NewFingerprintsFileIO(%{$FingerprintsFilesInfo{FingerprintsFileIOParameters}[$FileIndex]});
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
229 $FingerprintsFileIO->Open();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
230
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
231 $RowIndex = 0; $ColIndex = 0;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
232 $FingerprintsCount = 0; $IgnoredFingerprintsCount = 0;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
233
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
234 FINGERPRINTSFILEIO: while ($FingerprintsFileIO->Read()) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
235 $FingerprintsCount++;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
236
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
237 if (!$FingerprintsFileIO->IsFingerprintsDataValid()) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
238 $IgnoredFingerprintsCount++;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
239 next FINGERPRINTSFILEIO;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
240 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
241 $RowIndex++;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
242 $FingerprintsObject1 = $FingerprintsFileIO->GetFingerprints();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
243 $CmpdID1 = $FingerprintsFileIO->GetCompoundID();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
244
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
245 if ($OptionsInfo{WriteRowsAndColumns}) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
246 print $NewTextFileRef "$OptionsInfo{OutQuoteValue}${CmpdID1}$OptionsInfo{OutQuoteValue}";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
247 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
248
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
249 # Force detail level of 1 to avoid duplicate printing of diagnostic messages for invalid
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
250 # fingerprints data...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
251 $TmpFingerprintsFileIO = Fingerprints::FingerprintsFileUtil::NewFingerprintsFileIO(%{$FingerprintsFilesInfo{TmpFingerprintsFileIOParameters}[$FileIndex]}, "DetailLevel" => 1);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
252 $TmpFingerprintsFileIO->Open();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
253
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
254 $ColIndex = 0;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
255 TMPFINGERPRINTSFILEIO: while ($TmpFingerprintsFileIO->Read()) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
256 if (!$TmpFingerprintsFileIO->IsFingerprintsDataValid()) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
257 next TMPFINGERPRINTSFILEIO;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
258 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
259 $ColIndex++;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
260
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
261 if (SkipMatrixData($RowIndex, $ColIndex)) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
262 next TMPFINGERPRINTSFILEIO;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
263 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
264
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
265 $FingerprintsObject2 = $TmpFingerprintsFileIO->GetFingerprints();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
266
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
267 $Value = $FingerprintsObject1->$MethodName($FingerprintsObject2, @{$MethodParametersRef});
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
268 $Value = (defined($Value) && length($Value)) ? (sprintf("%.$OptionsInfo{Precision}f", $Value) + 0) : '';
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
269
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
270 if ($OptionsInfo{WriteRowsAndColumns}) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
271 print $NewTextFileRef "$OptionsInfo{OutDelim}$OptionsInfo{OutQuoteValue}${Value}$OptionsInfo{OutQuoteValue}";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
272 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
273 elsif ($OptionsInfo{WriteIDPairsAndValue}) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
274 $CmpdID2 = $TmpFingerprintsFileIO->GetCompoundID();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
275
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
276 @LineWords = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
277 push @LineWords, ($CmpdID1, $CmpdID2, $Value);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
278 $Line = JoinWords(\@LineWords, $OptionsInfo{OutDelim}, $OptionsInfo{OutQuote});
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
279 print $NewTextFileRef "$Line\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
280 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
281 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
282 $TmpFingerprintsFileIO->Close();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
283
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
284 if ($OptionsInfo{WriteRowsAndColumns}) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
285 print $NewTextFileRef "\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
286 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
287 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
288
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
289 $FingerprintsFileIO->Close();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
290
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
291 print "Number of fingerprints data entries in database fingerprints file: $FingerprintsCount\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
292 print "Number of fingerprints date entries processed successfully: ", ($FingerprintsCount - $IgnoredFingerprintsCount) , "\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
293 print "Number of fingerprints data entries ignored due to missing/invalid data: $IgnoredFingerprintsCount\n\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
294 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
295
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
296 # Check whether matrix data need to be skipped...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
297 #
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
298 sub SkipMatrixData {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
299 my($RowIndex, $ColIndex) = @_;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
300
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
301 if ($OptionsInfo{WriteFullMatrix}) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
302 return 0;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
303 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
304 elsif ($OptionsInfo{WriteUpperTriangularMatrix}) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
305 return ($RowIndex > $ColIndex) ? 1 : 0;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
306 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
307 elsif ($OptionsInfo{WriteLowerTriangularMatrix}) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
308 return ($RowIndex < $ColIndex) ? 1 : 0;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
309 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
310
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
311 return 0;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
312 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
313
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
314 # Write out column labels...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
315 #
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
316 sub WriteColumnLabels {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
317 my($FileIndex, $NewTextFileRef) = @_;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
318 my($Line, @LineWords);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
319
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
320 if ($OptionsInfo{OutMatrixFormat} =~ /^IDPairsAndValue$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
321 @LineWords = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
322 push @LineWords, ('CmpdID1', 'CmpdID2', 'Coefficient Value');
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
323 $Line = JoinWords(\@LineWords, $OptionsInfo{OutDelim}, $OptionsInfo{OutQuote});
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
324 print $NewTextFileRef "$Line\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
325 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
326 elsif ($OptionsInfo{OutMatrixFormat} =~ /^RowsAndColumns$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
327 if ($OptionsInfo{InputDataMode} =~ /^LoadInMemory$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
328 @LineWords = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
329 push @LineWords, '';
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
330 push @LineWords, @{$FingerprintsFilesInfo{CompundIDsRef}};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
331 $Line = JoinWords(\@LineWords, $OptionsInfo{OutDelim}, $OptionsInfo{OutQuote});
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
332 print $NewTextFileRef "$Line\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
333 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
334 elsif ($OptionsInfo{InputDataMode} =~ /^ScanFile$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
335 my( $FingerprintsFileIO, $CmpdID);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
336
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
337 # Scan file to retrieve compound IDs...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
338 #
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
339 print "\nProcessing fingerprints file to generate compound IDs...\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
340
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
341 # Force detail level of 1 to avoid diagnostics messages for invalid fingeprints data during
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
342 # retrieval of compound IDs as these get printed out during calculation of matrix...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
343 #
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
344 $FingerprintsFileIO = Fingerprints::FingerprintsFileUtil::NewFingerprintsFileIO(%{$FingerprintsFilesInfo{FingerprintsFileIOParameters}[$FileIndex]}, "DetailLevel" => 1);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
345 $FingerprintsFileIO->Open();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
346
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
347 print $NewTextFileRef "$OptionsInfo{OutQuoteValue}$OptionsInfo{OutQuoteValue}";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
348
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
349 FINGERPRINTSFILEIO: while ($FingerprintsFileIO->Read()) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
350 if (!$FingerprintsFileIO->IsFingerprintsDataValid()) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
351 next FINGERPRINTSFILEIO;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
352 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
353 $CmpdID = $FingerprintsFileIO->GetCompoundID();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
354 print $NewTextFileRef "$OptionsInfo{OutDelim}$OptionsInfo{OutQuoteValue}${CmpdID}$OptionsInfo{OutQuoteValue}";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
355 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
356 $FingerprintsFileIO->Close();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
357
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
358 print $NewTextFileRef "\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
359
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
360 print "Processing fingerprints file to generate matrix...\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
361 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
362 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
363 else {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
364 warn "Warning: Output matrix format, $OptionsInfo{OutMatrixFormat}, is not supported.\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
365 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
366 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
367
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
368 # Process fingerprints data...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
369 #
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
370 sub ProcessFingerprintsData {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
371 my($FileIndex) = @_;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
372 my($FingerprintsFileIO);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
373
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
374 $FingerprintsFilesInfo{CompundIDsRef} = undef;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
375 $FingerprintsFilesInfo{FingerprintsObjectsRef} = undef;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
376
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
377 if ($OptionsInfo{InputDataMode} =~ /^LoadInMemory$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
378 my($FingerprintsFileIO);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
379
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
380 $FingerprintsFileIO = Fingerprints::FingerprintsFileUtil::NewFingerprintsFileIO(%{$FingerprintsFilesInfo{FingerprintsFileIOParameters}[$FileIndex]});
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
381 ($FingerprintsFilesInfo{CompundIDsRef}, $FingerprintsFilesInfo{FingerprintsObjectsRef}) = Fingerprints::FingerprintsFileUtil::ReadAndProcessFingerpritsData($FingerprintsFileIO);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
382 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
383 elsif ($OptionsInfo{InputDataMode} =~ /^ScanFile$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
384 my($FingerprintsFile, $TmpFingerprintsFile);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
385
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
386 $FingerprintsFile = $FingerprintsFilesList[$FileIndex];
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
387 $TmpFingerprintsFile = $FingerprintsFilesInfo{TmpFingerprintsFile}[$FileIndex];
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
388
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
389 # Copy fingerprints file to a tmp file for calculating similarity matrix...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
390 print "\nCopying fingerprints file, $FingerprintsFile, to temporary fingperints file, $TmpFingerprintsFile...\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
391 copy $FingerprintsFile, $TmpFingerprintsFile or die "Error: Couldn't copy $FingerprintsFile to $TmpFingerprintsFile: $! \n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
392 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
393 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
394
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
395 # Clean up fingerprints data...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
396 #
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
397 sub CleanupFingerprintsData {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
398 my($FileIndex) = @_;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
399
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
400 if ($OptionsInfo{InputDataMode} =~ /^LoadInMemory$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
401 $FingerprintsFilesInfo{CompundIDsRef} = undef;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
402 $FingerprintsFilesInfo{FingerprintsObjectsRef} = undef;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
403 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
404 elsif ($OptionsInfo{InputDataMode} =~ /^ScanFile$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
405 my($TmpFingerprintsFile);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
406
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
407 # Delete temporary fingerprints file...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
408 $TmpFingerprintsFile = $FingerprintsFilesInfo{TmpFingerprintsFile}[$FileIndex];
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
409
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
410 print "\nDeleting temporary fingerprints file $TmpFingerprintsFile...\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
411 unlink $TmpFingerprintsFile or die "Error: Couldn't unlink $TmpFingerprintsFile: $! \n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
412 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
413 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
414
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
415 # Retrieve information about fingerprints files...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
416 #
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
417 sub RetrieveFingerprintsFilesInfo {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
418 my($FingerprintsFile, $TmpFingerprintsFile, $FingerprintsFileIO, $FingerprintsBitVectorStringMode, $FingerprintsVectorStringMode, $FileType, $Index, $FileDir, $FileExt, $FileName, $InDelim, $OutFileRoot, $OutFileExt, %FingerprintsFileIOParameters);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
419
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
420 %FingerprintsFilesInfo = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
421 @{$FingerprintsFilesInfo{FileOkay}} = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
422 @{$FingerprintsFilesInfo{FileType}} = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
423 @{$FingerprintsFilesInfo{InDelim}} = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
424 @{$FingerprintsFilesInfo{OutFileRoot}} = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
425 @{$FingerprintsFilesInfo{OutFileExt}} = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
426
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
427 @{$FingerprintsFilesInfo{TmpFingerprintsFile}} = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
428
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
429 @{$FingerprintsFilesInfo{FingerprintsFileIOParameters}} = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
430 @{$FingerprintsFilesInfo{TmpFingerprintsFileIOParameters}} = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
431
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
432 @{$FingerprintsFilesInfo{FingerprintsBitVectorStringMode}} = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
433 @{$FingerprintsFilesInfo{FingerprintsVectorStringMode}} = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
434
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
435 FILELIST: for $Index (0 .. $#FingerprintsFilesList) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
436 $FingerprintsFilesInfo{FileOkay}[$Index] = 0;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
437 $FingerprintsFilesInfo{FileType}[$Index] = '';
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
438 $FingerprintsFilesInfo{InDelim}[$Index] = "";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
439 $FingerprintsFilesInfo{OutFileRoot}[$Index] = '';
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
440 $FingerprintsFilesInfo{OutFileExt}[$Index] = '';
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
441
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
442 %{$FingerprintsFilesInfo{FingerprintsFileIOParameters}[$Index]} = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
443
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
444 $FingerprintsFilesInfo{TmpFingerprintsFile}[$Index] = "";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
445 %{$FingerprintsFilesInfo{TmpFingerprintsFileIOParameters}[$Index]} = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
446
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
447 $FingerprintsFilesInfo{FingerprintsBitVectorStringMode}[$Index] = 0;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
448 $FingerprintsFilesInfo{FingerprintsVectorStringMode}[$Index] = 0;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
449
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
450 $FingerprintsFile = $FingerprintsFilesList[$Index];
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
451 if (!(-e $FingerprintsFile)) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
452 warn "Warning: Ignoring file $FingerprintsFile: It doesn't exist\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
453 next FILELIST;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
454 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
455
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
456 $FileType = Fingerprints::FingerprintsFileUtil::GetFingerprintsFileType($FingerprintsFile);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
457 if (IsEmpty($FileType)) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
458 warn "Warning: Ignoring file $FingerprintsFile: It's not a fingerprints file\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
459 next FILELIST;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
460 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
461
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
462 $FileDir = ""; $FileName = ""; $FileExt = "";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
463 ($FileDir, $FileName, $FileExt) = ParseFileName($FingerprintsFile);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
464
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
465 # Setup temporary fingerprints file name for scan file mode...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
466 $TmpFingerprintsFile = "${FileName}Tmp.${FileExt}";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
467
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
468 $InDelim = ($FileExt =~ /^tsv$/i) ? 'Tab' : $OptionsInfo{InDelim};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
469
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
470 # Setup output file names...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
471 $OutFileExt = "csv";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
472 if ($Options{outdelim} =~ /^tab$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
473 $OutFileExt = "tsv";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
474 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
475
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
476 $OutFileRoot = $FileName;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
477 if ($OptionsInfo{OutFileRoot} && (@FingerprintsFilesList == 1)) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
478 my ($RootFileDir, $RootFileName, $RootFileExt) = ParseFileName($OptionsInfo{OutFileRoot});
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
479 if ($RootFileName && $RootFileExt) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
480 $FileName = $RootFileName;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
481 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
482 else {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
483 $FileName = $OptionsInfo{OutFileRoot};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
484 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
485 $OutFileRoot = $FileName;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
486 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
487
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
488 if (!$Options{overwrite}) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
489 # Similarity matrices output file names for bit-vector strings...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
490 my($SpecifiedComparisonMeasure, $ComparisonMeasure);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
491 for $SpecifiedComparisonMeasure (@{$OptionsInfo{SpecifiedBitVectorComparisonsRef}}) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
492 $ComparisonMeasure = $OptionsInfo{SpecifiedBitVectorComparisonsNameRef}->{lc($SpecifiedComparisonMeasure)};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
493 if (-e "${OutFileRoot}${ComparisonMeasure}.${OutFileExt}") {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
494 warn "Warning: Ignoring file $FingerprintsFile: The file ${OutFileRoot}${ComparisonMeasure}.${OutFileExt} already exists.\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
495 next FILELIST;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
496 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
497 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
498 # Similarity matrices output file names for vector strings...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
499 my($ComparisonMode);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
500 for $SpecifiedComparisonMeasure (@{$OptionsInfo{SpecifiedVectorComparisonsRef}}) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
501 $ComparisonMeasure = $OptionsInfo{SpecifiedVectorComparisonsNameRef}->{lc($SpecifiedComparisonMeasure)};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
502 for $ComparisonMode (@{$OptionsInfo{SpecifiedVectorComparisonModesRef}}) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
503 if (-e "${OutFileRoot}${ComparisonMeasure}${ComparisonMode}.${OutFileExt}") {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
504 warn "Warning: Ignoring file $FingerprintsFile: The file ${OutFileRoot}${ComparisonMeasure}${ComparisonMode}.${OutFileExt} already exists.\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
505 next FILELIST;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
506 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
507 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
508 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
509 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
510
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
511 # Setup FingerprintsFileIO parameters...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
512 %FingerprintsFileIOParameters = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
513 FILEIOPARAMETERS: {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
514 if ($FileType =~ /^SD$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
515 %FingerprintsFileIOParameters = ('Name' => $FingerprintsFile, 'Mode' => 'Read', 'FingerprintsStringMode' => $OptionsInfo{Mode}, 'ValidateData' => $OptionsInfo{ValidateData}, 'DetailLevel' => $OptionsInfo{Detail}, 'FingerprintsFieldLabel' => $OptionsInfo{FingerprintsField}, 'CompoundIDMode' => $OptionsInfo{CompoundIDMode}, 'CompoundIDFieldLabel' => $OptionsInfo{CompoundIDField}, 'CompoundIDPrefix' => $OptionsInfo{CompoundIDPrefix});
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
516 last FILEIOPARAMETERS;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
517 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
518 if ($FileType =~ /^FP$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
519 %FingerprintsFileIOParameters = ('Name' => $FingerprintsFile, 'Mode' => 'Read', 'FingerprintsStringMode' => $OptionsInfo{Mode}, 'ValidateData' => $OptionsInfo{ValidateData}, 'DetailLevel' => $OptionsInfo{Detail});
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
520 last FILEIOPARAMETERS;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
521 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
522 if ($FileType =~ /^Text$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
523 %FingerprintsFileIOParameters = ('Name' => $FingerprintsFile, 'Mode' => 'Read', 'FingerprintsStringMode' => $OptionsInfo{Mode}, 'ValidateData' => $OptionsInfo{ValidateData}, 'DetailLevel' => $OptionsInfo{Detail}, 'FingerprintsCol' => $OptionsInfo{FingerprintsCol}, 'ColMode' => $OptionsInfo{ColMode}, 'CompoundIDCol' => $OptionsInfo{CompoundIDCol}, 'CompoundIDPrefix' => $OptionsInfo{CompoundIDPrefix}, 'InDelim' => $OptionsInfo{InDelim});
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
524 last FILEIOPARAMETERS;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
525 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
526 warn "Warning: File type for fingerprints file, $FingerprintsFile, is not valid. Supported file types: SD, FP or Text\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
527 next FILELIST;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
528 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
529
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
530 # Retrieve fingerints file string mode information...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
531 $FingerprintsFileIO = Fingerprints::FingerprintsFileUtil::NewFingerprintsFileIO(%FingerprintsFileIOParameters);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
532
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
533 if (!$FingerprintsFileIO) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
534 warn "Warning: Ignoring fingerprints file $FingerprintsFile: It contains invalid fingerprints data\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
535 next FILELIST;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
536 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
537 if (!$FingerprintsFileIO->IsFingerprintsFileDataValid()) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
538 warn "Warning: Ignoring fingerprints file $FingerprintsFile: It contains invalid fingerprints data\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
539 next FILELIST;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
540 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
541 $FingerprintsBitVectorStringMode = $FingerprintsFileIO->GetFingerprintsBitVectorStringMode();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
542 $FingerprintsVectorStringMode = $FingerprintsFileIO->GetFingerprintsVectorStringMode();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
543
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
544
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
545 $FingerprintsFilesInfo{FileOkay}[$Index] = 1;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
546 $FingerprintsFilesInfo{FileType}[$Index] = $FileType;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
547
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
548 $FingerprintsFilesInfo{InDelim}[$Index] = $InDelim;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
549
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
550 $FingerprintsFilesInfo{OutFileRoot}[$Index] = $OutFileRoot;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
551 $FingerprintsFilesInfo{OutFileExt}[$Index] = $OutFileExt;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
552
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
553 %{$FingerprintsFilesInfo{FingerprintsFileIOParameters}[$Index]} = %FingerprintsFileIOParameters;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
554
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
555 $FingerprintsFilesInfo{TmpFingerprintsFile}[$Index] = $TmpFingerprintsFile;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
556
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
557 $FingerprintsFileIOParameters{Name} = $TmpFingerprintsFile;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
558 %{$FingerprintsFilesInfo{TmpFingerprintsFileIOParameters}[$Index]} = %FingerprintsFileIOParameters;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
559
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
560 $FingerprintsFilesInfo{FingerprintsBitVectorStringMode}[$Index] = $FingerprintsBitVectorStringMode;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
561 $FingerprintsFilesInfo{FingerprintsVectorStringMode}[$Index] = $FingerprintsVectorStringMode;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
562 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
563 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
564
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
565 # Process option values...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
566 sub ProcessOptions {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
567 %OptionsInfo = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
568
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
569 $OptionsInfo{Mode} = $Options{mode};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
570
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
571 $OptionsInfo{InputDataMode} = $Options{inputdatamode};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
572
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
573 ProcessBitVectorComparisonOptions();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
574 ProcessVectorComparisonOptions();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
575
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
576 $OptionsInfo{CompoundIDPrefix} = $Options{compoundidprefix} ? $Options{compoundidprefix} : 'Cmpd';
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
577
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
578 # Compound ID and fingerprints column options for text files...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
579 $OptionsInfo{ColMode} = $Options{colmode};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
580
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
581 if (IsNotEmpty($Options{compoundidcol})) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
582 if ($Options{colmode} =~ /^ColNum$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
583 if (!IsPositiveInteger($Options{compoundidcol})) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
584 die "Error: Column value, $Options{compoundidcol}, specified using \"--CompoundIDCol\" is not valid: Allowed integer values: > 0\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
585 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
586 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
587 $OptionsInfo{CompoundIDCol} = $Options{compoundidcol};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
588 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
589 else {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
590 $OptionsInfo{CompoundIDCol} = 'AutoDetect';
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
591 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
592
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
593 if (IsNotEmpty($Options{fingerprintscol})) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
594 if ($Options{colmode} =~ /^ColNum$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
595 if (!IsPositiveInteger($Options{fingerprintscol})) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
596 die "Error: Column value, $Options{fingerprintscol}, specified using \"--FingerprintsCol\" is not valid: Allowed integer values: > 0\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
597 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
598 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
599 $OptionsInfo{FingerprintsCol} = $Options{fingerprintscol};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
600 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
601 else {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
602 $OptionsInfo{FingerprintsCol} = 'AutoDetect';
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
603 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
604
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
605 if (IsNotEmpty($Options{compoundidcol}) && IsNotEmpty($Options{fingerprintscol})) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
606 if (IsPositiveInteger($Options{compoundidcol}) && IsPositiveInteger($Options{fingerprintscol})) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
607 if (($Options{compoundidcol} == $Options{fingerprintscol})) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
608 die "Error: Values specified using \"--CompoundIDCol\" and \"--FingerprintsCol\", $Options{compoundidcol}, must be different.\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
609 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
610 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
611 else {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
612 if (($Options{compoundidcol} eq $Options{fingerprintscol})) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
613 die "Error: Values specified using \"--CompoundIDCol\" and \"--FingerprintsCol\", $Options{compoundidcol}, must be different.\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
614 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
615 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
616 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
617
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
618 # Compound ID and fingerprints field options for SD files...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
619 $OptionsInfo{CompoundIDMode} = $Options{compoundidmode};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
620 $OptionsInfo{CompoundIDField} = '';
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
621
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
622 if ($Options{compoundidmode} =~ /^DataField$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
623 if (!$Options{compoundidfield}) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
624 die "Error: You must specify a value for \"--CompoundIDField\" option in \"DataField\" \"--CompoundIDMode\". \n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
625 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
626 $OptionsInfo{CompoundIDField} = $Options{compoundidfield};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
627 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
628
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
629
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
630 if (IsNotEmpty($Options{fingerprintsfield})) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
631 $OptionsInfo{FingerprintsField} = $Options{fingerprintsfield};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
632 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
633 else {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
634 $OptionsInfo{FingerprintsField} = 'AutoDetect';
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
635 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
636
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
637 if ($Options{compoundidfield} && IsNotEmpty($Options{fingerprintsfield})) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
638 if (($Options{compoundidfield} eq $Options{fingerprintsfield})) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
639 die "Error: Values specified using \"--CompoundIDField\" and \"--Fingerprintsfield\", $Options{compoundidfield}, must be different.\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
640 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
641 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
642
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
643 $OptionsInfo{Detail} = $Options{detail};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
644
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
645 $OptionsInfo{InDelim} = $Options{indelim};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
646 $OptionsInfo{OutDelim} = ($Options{outdelim} =~ /tab/i ) ? "\t" : (($Options{outdelim} =~ /semicolon/i) ? "\;" : "\,");
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
647 $OptionsInfo{OutQuote} = ($Options{quote} =~ /^Yes$/i) ? 1 : 0;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
648 $OptionsInfo{OutQuoteValue} = ($Options{quote} =~ /^Yes$/i) ? '"' : '';
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
649
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
650 $OptionsInfo{OutMatrixFormat} = $Options{outmatrixformat};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
651
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
652 $OptionsInfo{WriteRowsAndColumns} = 0; $OptionsInfo{WriteIDPairsAndValue} = 0;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
653 OUTMATRIXFORMAT: {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
654 if ($OptionsInfo{OutMatrixFormat} =~ /^RowsAndColumns$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
655 $OptionsInfo{WriteRowsAndColumns} = 1; last OUTMATRIXFORMAT;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
656 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
657 if ($OptionsInfo{OutMatrixFormat} =~ /^IDPairsAndValue$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
658 $OptionsInfo{WriteIDPairsAndValue} = 1; last OUTMATRIXFORMAT;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
659 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
660 die "Error: The value specified, $Options{outmatrixformat}, for option \"--OutMatrixFormat\" is not valid. Allowed values: RowsAndColumns or IDPairsAndValue\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
661 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
662
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
663 $OptionsInfo{OutMatrixType} = $Options{outmatrixtype};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
664
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
665 $OptionsInfo{WriteFullMatrix} = 0;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
666 $OptionsInfo{WriteUpperTriangularMatrix} = 0; $OptionsInfo{WriteLowerTriangularMatrix} = 0;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
667 OUTMATRIXTYPE: {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
668 if ($OptionsInfo{OutMatrixType} =~ /^FullMatrix$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
669 $OptionsInfo{WriteFullMatrix} = 1; last OUTMATRIXTYPE;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
670 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
671 if ($OptionsInfo{OutMatrixType} =~ /^UpperTriangularMatrix$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
672 $OptionsInfo{WriteUpperTriangularMatrix} = 1; last OUTMATRIXTYPE;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
673 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
674 if ($OptionsInfo{OutMatrixType} =~ /^LowerTriangularMatrix$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
675 $OptionsInfo{WriteLowerTriangularMatrix} = 1; last OUTMATRIXTYPE;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
676 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
677 die "Error: The value specified, $Options{outmatrixtype}, for option \"--OutMatrixType\" is not valid. Allowed values: FullMatrix, UpperTriangularMatrix or LowerTriangularMatrix\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
678 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
679
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
680 $OptionsInfo{OverwriteFiles} = $Options{overwrite} ? 1 : 0;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
681 $OptionsInfo{OutFileRoot} = $Options{root} ? $Options{root} : 0;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
682
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
683 $OptionsInfo{Fast} = $Options{fast} ? 1 : 0;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
684 $OptionsInfo{ValidateData} = $Options{fast} ? 0 : 1;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
685
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
686 $OptionsInfo{Precision} = $Options{precision};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
687
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
688 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
689
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
690 # Process options related to comparion of bit vector strings...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
691 #
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
692 sub ProcessBitVectorComparisonOptions {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
693 # Setup supported bit vector similarity coefficients for bit vector strings...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
694 my($ComparisonMeasure, $SupportedComparisonMeasure, @SupportedComparisonMeasures, %SupportedComparisonMeasuresNameMap, %SupportedComparisonMeasuresMethodMap);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
695
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
696 @SupportedComparisonMeasures = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
697 %SupportedComparisonMeasuresNameMap = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
698 %SupportedComparisonMeasuresMethodMap = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
699
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
700 for $SupportedComparisonMeasure (Fingerprints::FingerprintsBitVector::GetSupportedSimilarityCoefficients()) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
701 # Similarity coefficient function/method names contain "Coefficient" in their names.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
702 # So take 'em out and setup a map to original function/method name...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
703 $ComparisonMeasure = $SupportedComparisonMeasure;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
704 $ComparisonMeasure =~ s/Coefficient$//;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
705
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
706 push @SupportedComparisonMeasures, $ComparisonMeasure;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
707 $SupportedComparisonMeasuresNameMap{lc($ComparisonMeasure)} = $ComparisonMeasure;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
708 $SupportedComparisonMeasuresMethodMap{lc($ComparisonMeasure)} = $SupportedComparisonMeasure;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
709 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
710
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
711 # Setup a list of similarity coefficients to use for calculating similarity matrices for bit vector strings...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
712 my($SpecifiedMeasure, @SpecifiedComparisonMeasures, %SpecifiedComparisonMeasuresNameMap, %SpecifiedComparisonMeasuresMethodMap, %SpecifiedComparisonMeasuresParameterMap);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
713
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
714 @SpecifiedComparisonMeasures = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
715 %SpecifiedComparisonMeasuresNameMap = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
716 %SpecifiedComparisonMeasuresMethodMap = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
717 %SpecifiedComparisonMeasuresParameterMap = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
718
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
719 if ($Options{bitvectorcomparisonmode} =~ /^All$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
720 push @SpecifiedComparisonMeasures, @SupportedComparisonMeasures;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
721 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
722 else {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
723 # Comma delimited list of similarity coefficients...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
724 my($BitVectorComparisonMode, @SpecifiedMeasures, @UnsupportedSpecifiedMeasures);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
725
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
726 $BitVectorComparisonMode = $Options{bitvectorcomparisonmode};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
727 $BitVectorComparisonMode =~ s/ //g;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
728 @SpecifiedMeasures = split ",", $BitVectorComparisonMode;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
729 @UnsupportedSpecifiedMeasures = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
730
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
731 for $SpecifiedMeasure (@SpecifiedMeasures) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
732 if (exists($SupportedComparisonMeasuresMethodMap{lc($SpecifiedMeasure)})) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
733 push @SpecifiedComparisonMeasures, $SpecifiedMeasure;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
734 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
735 else {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
736 push @UnsupportedSpecifiedMeasures, $SpecifiedMeasure;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
737 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
738 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
739 if (@UnsupportedSpecifiedMeasures) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
740 if (@UnsupportedSpecifiedMeasures > 1) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
741 warn "Error: The values specified - ", JoinWords(\@UnsupportedSpecifiedMeasures, ", ", 0)," - for option \"-b --BitVectorComparisonMode\" are not valid.\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
742 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
743 else {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
744 warn "Error: The value specified, @UnsupportedSpecifiedMeasures, for option \"-b --BitVectorComparisonMode\" is not valid.\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
745 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
746 die "Allowed values:", JoinWords(\@SupportedComparisonMeasures, ", ", 0), "\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
747 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
748 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
749 for $SpecifiedMeasure (@SpecifiedComparisonMeasures) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
750 $SpecifiedComparisonMeasuresMethodMap{lc($SpecifiedMeasure)} = $SupportedComparisonMeasuresMethodMap{lc($SpecifiedMeasure)};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
751 $SpecifiedComparisonMeasuresNameMap{lc($SpecifiedMeasure)} = $SupportedComparisonMeasuresNameMap{lc($SpecifiedMeasure)};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
752 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
753
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
754 $OptionsInfo{BitVectorComparisonMode} = $Options{bitvectorcomparisonmode};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
755 $OptionsInfo{SpecifiedBitVectorComparisonsRef} = \@SpecifiedComparisonMeasures;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
756 $OptionsInfo{SpecifiedBitVectorComparisonsNameRef} = \%SpecifiedComparisonMeasuresNameMap;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
757 $OptionsInfo{SpecifiedBitVectorComparisonsMethodRef} = \%SpecifiedComparisonMeasuresMethodMap;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
758
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
759 # Make sure valid alpha parameter is specified for Tversky calculation...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
760 my($SpecifiedMeasure1, $SpecifiedMeasure2);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
761 $OptionsInfo{Alpha} = '';
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
762 $SpecifiedMeasure1 = 'TverskySimilarity';
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
763 $SpecifiedMeasure2 = 'WeightedTverskySimilarity';
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
764 if ($SpecifiedComparisonMeasuresNameMap{lc($SpecifiedMeasure1)} || $SpecifiedComparisonMeasuresNameMap{lc($SpecifiedMeasure2)}) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
765 if (IsEmpty($Options{alpha})) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
766 die "Error: You must specify a value for \"-a, --alpha\" option in \"$SpecifiedMeasure1, $SpecifiedMeasure2, or All\" \"-m --mode\". \n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
767 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
768 my($Alpha);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
769 $Alpha = $Options{alpha};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
770 if (!(IsFloat($Alpha) && $Alpha >=0 && $Alpha <= 1)) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
771 die "Error: The value specified, $Options{alpha}, for option \"-a, --alpha\" is not valid. Allowed values: >= 0 and <= 1\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
772 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
773 $OptionsInfo{Alpha} = $Alpha;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
774 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
775
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
776 # Make sure valid beta parameter is specified for WeightedTanimoto and WeightedTversky
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
777 # calculations...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
778 $OptionsInfo{Beta} = '';
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
779 $SpecifiedMeasure1 = 'WeightedTverskySimilarity';
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
780 $SpecifiedMeasure2 = 'WeightedTanimotoSimilarity';
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
781 if ($SpecifiedComparisonMeasuresNameMap{lc($SpecifiedMeasure1)} || $SpecifiedComparisonMeasuresNameMap{lc($SpecifiedMeasure2)}) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
782 if (IsEmpty($Options{beta})) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
783 die "Error: You must specify a value for \"-b, --beta\" option in \"$SpecifiedMeasure1, $SpecifiedMeasure2, or All\" \"-m --mode\". \n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
784 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
785 my($Beta);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
786 $Beta = $Options{beta};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
787 if (!(IsFloat($Beta) && $Beta >=0 && $Beta <= 1)) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
788 die "Error: The value specified, $Options{beta}, for option \"-b, --beta\" is not valid. Allowed values: >= 0 and <= 1\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
789 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
790 $OptionsInfo{Beta} = $Beta;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
791 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
792
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
793 # Setup any parameters required for specified comparison menthod...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
794 for $SpecifiedMeasure (@SpecifiedComparisonMeasures) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
795 @{$SpecifiedComparisonMeasuresParameterMap{lc($SpecifiedMeasure)}} = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
796 if ($SpecifiedMeasure =~ /^TverskySimilarity$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
797 push @{$SpecifiedComparisonMeasuresParameterMap{lc($SpecifiedMeasure)}}, $OptionsInfo{Alpha};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
798 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
799 elsif ($SpecifiedMeasure =~ /^WeightedTverskySimilarity$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
800 push @{$SpecifiedComparisonMeasuresParameterMap{lc($SpecifiedMeasure)}}, $OptionsInfo{Alpha};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
801 push @{$SpecifiedComparisonMeasuresParameterMap{lc($SpecifiedMeasure)}}, $OptionsInfo{Beta};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
802 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
803 elsif ($SpecifiedMeasure =~ /^WeightedTanimotoSimilarity$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
804 push @{$SpecifiedComparisonMeasuresParameterMap{lc($SpecifiedMeasure)}}, $OptionsInfo{Beta};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
805 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
806 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
807 $OptionsInfo{SpecifiedBitVectorComparisonsParameterRef} = \%SpecifiedComparisonMeasuresParameterMap;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
808 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
809
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
810 # Process options related to comparion of vector strings...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
811 #
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
812 sub ProcessVectorComparisonOptions {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
813 # Setup specified similarity coefficients for vector strings..
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
814 my($ComparisonMeasure, $SupportedComparisonMeasure, @SupportedComparisonMeasures, %SupportedComparisonMeasuresNameMap, %SupportedComparisonMeasuresMethodMap);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
815
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
816 @SupportedComparisonMeasures = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
817 %SupportedComparisonMeasuresNameMap = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
818 %SupportedComparisonMeasuresMethodMap = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
819 for $SupportedComparisonMeasure (Fingerprints::FingerprintsVector::GetSupportedDistanceAndSimilarityCoefficients()) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
820 # Similarity and distance coefficient function/method names contain "Coefficient" in their names.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
821 # So take 'em out and setup a map to original function/method name...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
822 $ComparisonMeasure = $SupportedComparisonMeasure;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
823 if ($ComparisonMeasure =~ /Coefficient$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
824 $ComparisonMeasure =~ s/Coefficient$//i;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
825 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
826 push @SupportedComparisonMeasures, $ComparisonMeasure;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
827 $SupportedComparisonMeasuresNameMap{lc($ComparisonMeasure)} = $ComparisonMeasure;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
828 $SupportedComparisonMeasuresMethodMap{lc($ComparisonMeasure)} = $SupportedComparisonMeasure;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
829 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
830
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
831 # Setup a list of similarity coefficients to use for calculating similarity matrices for bit vector strings...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
832 my($SpecifiedMeasure, @SpecifiedComparisonMeasures, %SpecifiedComparisonMeasuresNameMap, %SpecifiedComparisonMeasuresMethodMap, %SpecifiedComparisonMeasuresParameterMap);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
833
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
834 @SpecifiedComparisonMeasures = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
835 %SpecifiedComparisonMeasuresNameMap = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
836 %SpecifiedComparisonMeasuresMethodMap = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
837
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
838 if ($Options{vectorcomparisonmode} =~ /^All$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
839 push @SpecifiedComparisonMeasures, @SupportedComparisonMeasures;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
840 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
841 else {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
842 # Comma delimited list of similarity coefficients...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
843 my($VectorComparisonMode, @SpecifiedMeasures, @UnsupportedSpecifiedMeasures);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
844
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
845 $VectorComparisonMode = $Options{vectorcomparisonmode};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
846 $VectorComparisonMode =~ s/ //g;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
847 @SpecifiedMeasures = split ",", $VectorComparisonMode;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
848 @UnsupportedSpecifiedMeasures = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
849
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
850 for $SpecifiedMeasure (@SpecifiedMeasures) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
851 if (exists($SupportedComparisonMeasuresMethodMap{lc($SpecifiedMeasure)})) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
852 push @SpecifiedComparisonMeasures, $SpecifiedMeasure;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
853 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
854 else {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
855 push @UnsupportedSpecifiedMeasures, $SpecifiedMeasure;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
856 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
857 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
858 if (@UnsupportedSpecifiedMeasures) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
859 if (@UnsupportedSpecifiedMeasures > 1) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
860 warn "Error: The values specified - ", JoinWords(\@UnsupportedSpecifiedMeasures, ", ", 0)," - for option \"-v --VectorComparisonMode\" are not valid.\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
861 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
862 else {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
863 warn "Error: The value specified, @UnsupportedSpecifiedMeasures, for option \"-v --VectorComparisonMode\" is not valid.\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
864 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
865 die "Allowed values:", JoinWords(\@SupportedComparisonMeasures, ", ", 0), "\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
866 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
867 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
868 for $SpecifiedMeasure (@SpecifiedComparisonMeasures) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
869 $SpecifiedComparisonMeasuresMethodMap{lc($SpecifiedMeasure)} = $SupportedComparisonMeasuresMethodMap{lc($SpecifiedMeasure)};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
870 $SpecifiedComparisonMeasuresNameMap{lc($SpecifiedMeasure)} = $SupportedComparisonMeasuresNameMap{lc($SpecifiedMeasure)};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
871 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
872
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
873 $OptionsInfo{VectorComparisonMode} = $Options{vectorcomparisonmode};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
874 $OptionsInfo{SpecifiedVectorComparisonsRef} = \@SpecifiedComparisonMeasures;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
875 $OptionsInfo{SpecifiedVectorComparisonsNameRef} = \%SpecifiedComparisonMeasuresNameMap;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
876 $OptionsInfo{SpecifiedVectorComparisonsMethodRef} = \%SpecifiedComparisonMeasuresMethodMap;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
877
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
878 # Setup specified vector comparison calculation modes...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
879 my(@SpecifiedVectorComparisonModes);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
880 @SpecifiedVectorComparisonModes = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
881 if ($Options{vectorcomparisonformulism} =~ /^All$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
882 push @SpecifiedVectorComparisonModes, ("AlgebraicForm", "BinaryForm", "SetTheoreticForm");
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
883 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
884 else {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
885 my($SpecifiedFormulism, @SpecifiedFormulismWords);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
886
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
887 @SpecifiedFormulismWords = split /\,/, $Options{vectorcomparisonformulism};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
888 for $SpecifiedFormulism (@SpecifiedFormulismWords) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
889 if ($SpecifiedFormulism !~ /^(AlgebraicForm|BinaryForm|SetTheoreticForm)$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
890 die "Error: The value specified, $SpecifiedFormulism, for option \"--VectorComparisonFormulism\" is not valid. Allowed values: AlgebraicForm, BinaryForm or SetTheoreticForm\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
891 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
892 push @SpecifiedVectorComparisonModes, $SpecifiedFormulism;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
893 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
894 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
895 $OptionsInfo{VectorComparisonFormulism} = $Options{vectorcomparisonformulism};
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
896 $OptionsInfo{SpecifiedVectorComparisonModesRef} = \@SpecifiedVectorComparisonModes;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
897
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
898 # Setup any parameters required for specified comparison menthod...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
899 for $SpecifiedMeasure (@SpecifiedComparisonMeasures) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
900 @{$SpecifiedComparisonMeasuresParameterMap{lc($SpecifiedMeasure)}} = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
901 push @{$SpecifiedComparisonMeasuresParameterMap{lc($SpecifiedMeasure)}}, ($Options{fast} ? 1 : 0);
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
902 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
903 $OptionsInfo{SpecifiedVectorComparisonsParameterRef} = \%SpecifiedComparisonMeasuresParameterMap;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
904 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
905
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
906 # Setup script usage and retrieve command line arguments specified using various options...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
907 sub SetupScriptUsage {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
908
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
909 # Retrieve all the options...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
910 %Options = ();
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
911
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
912 $Options{alpha} = 0.5;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
913 $Options{beta} = 1;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
914
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
915 $Options{bitvectorcomparisonmode} = "TanimotoSimilarity";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
916
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
917 $Options{colmode} = 'colnum';
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
918
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
919 $Options{compoundidprefix} = 'Cmpd';
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
920 $Options{compoundidmode} = 'LabelPrefix';
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
921
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
922 $Options{detail} = 1;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
923
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
924 $Options{indelim} = 'comma';
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
925 $Options{outdelim} = 'comma';
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
926
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
927 $Options{inputdatamode} = 'LoadInMemory';
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
928
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
929 $Options{mode} = 'AutoDetect';
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
930
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
931 $Options{outmatrixformat} = 'RowsAndColumns';
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
932
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
933 $Options{outmatrixtype} = 'FullMatrix';
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
934
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
935 $Options{quote} = 'yes';
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
936 $Options{precision} = 2;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
937
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
938 $Options{vectorcomparisonmode} = "TanimotoSimilarity";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
939 $Options{vectorcomparisonformulism} = "AlgebraicForm";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
940
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
941 if (!GetOptions(\%Options, "alpha=f", "beta=f", "bitvectorcomparisonmode|b=s", "colmode|c=s", "compoundidcol=s", "compoundidprefix=s", "compoundidfield=s", "compoundidmode=s", "detail|d=i", "fast|f", "fingerprintscol=s", "fingerprintsfield=s", "help|h", "indelim=s", "inputdatamode=s", "mode|m=s", "outdelim=s", "overwrite|o", "outmatrixformat=s", "outmatrixtype=s", "precision|p=s", "quote|q=s", "root|r=s", "vectorcomparisonmode|v=s", "vectorcomparisonformulism=s", "workingdir|w=s")) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
942 die "\nTo get a list of valid options and their values, use \"$ScriptName -h\" or\n\"perl -S $ScriptName -h\" command and try again...\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
943 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
944 if ($Options{workingdir}) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
945 if (! -d $Options{workingdir}) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
946 die "Error: The value specified, $Options{workingdir}, for option \"-w --workingdir\" is not a directory name.\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
947 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
948 chdir $Options{workingdir} or die "Error: Couldn't chdir $Options{workingdir}: $! \n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
949 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
950 if ($Options{colmode} !~ /^(ColNum|ColLabel)$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
951 die "Error: The value specified, $Options{colmode}, for option \"-c, --ColMode\" is not valid. Allowed values: ColNum, or ColLabel\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
952 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
953 if ($Options{compoundidmode} !~ /^(DataField|MolName|LabelPrefix|MolNameOrLabelPrefix)$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
954 die "Error: The value specified, $Options{compoundidmode}, for option \"--CompoundIDMode\" is not valid. Allowed values: DataField, MolName, LabelPrefix or MolNameOrLabelPrefix\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
955 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
956 if (!IsPositiveInteger($Options{detail})) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
957 die "Error: The value specified, $Options{detail}, for option \"-d, --detail\" is not valid. Allowed values: > 0 \n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
958 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
959 if ($Options{inputdatamode} !~ /^(LoadInMemory|ScanFile)$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
960 die "Error: The value specified, $Options{inputdatamode}, for option \"--InputDataMode\" is not valid. Allowed values: LoadInMemory or ScanFile\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
961 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
962 if ($Options{mode} !~ /^(AutoDetect|FingerprintsBitVectorString|FingerprintsVectorString)$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
963 die "Error: The value specified, $Options{mode}, for option \"-m, --mode\" is not valid. Allowed values: AutoDetect, FingerprintsBitVectorString or FingerprintsVectorString \n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
964 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
965 if ($Options{indelim} !~ /^(comma|semicolon)$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
966 die "Error: The value specified, $Options{indelim}, for option \"--InDelim\" is not valid. Allowed values: comma, or semicolon\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
967 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
968 if ($Options{outdelim} !~ /^(comma|semicolon|tab)$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
969 die "Error: The value specified, $Options{outdelim}, for option \"--OutDelim\" is not valid. Allowed values: comma, tab, or semicolon\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
970 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
971 if ($Options{outmatrixformat} !~ /^(RowsAndColumns|IDPairsAndValue)$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
972 die "Error: The value specified, $Options{outmatrixformat}, for option \"--OutMatrixFormat\" is not valid. Allowed values: RowsAndColumns or IDPairsAndValue\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
973 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
974 if ($Options{outmatrixtype} !~ /^(FullMatrix|UpperTriangularMatrix|LowerTriangularMatrix)$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
975 die "Error: The value specified, $Options{outmatrixtype}, for option \"--OutMatrixType\" is not valid. Allowed values: FullMatrix, UpperTriangularMatrix or LowerTriangularMatrix\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
976 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
977 if ($Options{quote} !~ /^(Yes|No)$/i) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
978 die "Error: The value specified, $Options{quote}, for option \"-q --quote\" is not valid. Allowed values: Yes or No\n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
979 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
980 if (!IsPositiveInteger($Options{precision})) {
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
981 die "Error: The value specified, $Options{precision}, for option \"--precision\" is not valid. Allowed values: > 0 \n";
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
982 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
983 }
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
984
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
985 __END__
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
986
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
987 =head1 NAME
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
988
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
989 SimilarityMatricesFingerprints.pl - Calculate similarity matrices using fingerprints strings data in SD, FP and CSV/TSV text file(s)
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
990
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
991 =head1 SYNOPSIS
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
992
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
993 SimilarityMatricesFingerprints.pl SDFile(s) FPFile(s) TextFile(s)...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
994
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
995 SimilarityMatricesFingerprints.pl [B<--alpha> I<number>] [B<--beta> I<number>]
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
996 [B<-b, --BitVectorComparisonMode> I<All | "TanimotoSimilarity,[ TverskySimilarity, ... ]">]
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
997 [B<-c, --ColMode> I<ColNum | ColLabel>] [B<--CompoundIDCol> I<col number | col name>]
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
998 [B<--CompoundIDPrefix> I<text>] [B<--CompoundIDField> I<DataFieldName>]
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
999 [B<--CompoundIDMode> I<DataField | MolName | LabelPrefix | MolNameOrLabelPrefix>]
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1000 [B<-d, --detail> I<InfoLevel>] [B<-f, --fast>] [B<--FingerprintsCol> I<col number | col name>]
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1001 [B<--FingerprintsField> I<FieldLabel>] [B<-h, --help>] [B<--InDelim> I<comma | semicolon>]
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1002 [B<--InputDataMode> I<LoadInMemory | ScanFile>]
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1003 [B<-m, --mode> I<AutoDetect | FingerprintsBitVectorString | FingerprintsVectorString>]
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1004 [B<--OutDelim> I<comma | tab | semicolon>] [B<--OutMatrixFormat> I<RowsAndColumns | IDPairsAndValue>]
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1005 [B<--OutMatrixType> I<FullMatrix | UpperTriangularMatrix | LowerTriangularMatrix>]
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1006 [B<-o, --overwrite>] [B<-p, --precision> I<number>]
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1007 [B<-q, --quote> I<Yes | No>] [B<-r, --root> I<RootName>]
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1008 [B<-v, --VectorComparisonMode> I<All | "TanimotoSimilairy, [ ManhattanDistance, ...]">]
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1009 [B<--VectorComparisonFormulism> I<All | "AlgebraicForm, [BinaryForm, SetTheoreticForm]">]
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1010 [B<-w, --WorkingDir> dirname] SDFile(s) FPFile(s) TextFile(s)...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1011
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1012 =head1 DESCRIPTION
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1013
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1014 Calculate similarity matrices using fingerprint bit-vector or vector strings data in I<SD, FP
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1015 and CSV/TSV> text file(s) and generate CSV/TSV text file(s) containing values for specified
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1016 similarity and distance coefficients.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1017
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1018 The scripts SimilarityMatrixSDFiles.pl and SimilarityMatrixTextFiles.pl have been removed from the
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1019 current release of MayaChemTools and their functionality merged with this script.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1020
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1021 The valid I<SDFile> extensions are I<.sdf> and I<.sd>. All SD files in a current directory
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1022 can be specified either by I<*.sdf> or the current directory name.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1023
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1024 The valid I<FPFile> extensions are I<.fpf> and I<.fp>. All FP files in a current directory
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1025 can be specified either by I<*.fpf> or the current directory name.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1026
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1027 The valid I<TextFile> extensions are I<.csv> and I<.tsv> for comma/semicolon and tab
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1028 delimited text files respectively. All other file names are ignored. All text files in a
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1029 current directory can be specified by I<*.csv>, I<*.tsv>, or the current directory
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1030 name. The B<--indelim> option determines the format of I<TextFile(s)>. Any file
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1031 which doesn't correspond to the format indicated by B<--indelim> option is ignored.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1032
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1033 Example of I<FP> file containing fingerprints bit-vector string data:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1034
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1035 #
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1036 # Package = MayaChemTools 7.4
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1037 # ReleaseDate = Oct 21, 2010
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1038 #
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1039 # TimeStamp = Mon Mar 7 15:14:01 2011
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1040 #
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1041 # FingerprintsStringType = FingerprintsBitVector
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1042 #
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1043 # Description = PathLengthBits:AtomicInvariantsAtomTypes:MinLength1:...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1044 # Size = 1024
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1045 # BitStringFormat = HexadecimalString
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1046 # BitsOrder = Ascending
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1047 #
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1048 Cmpd1 9c8460989ec8a49913991a6603130b0a19e8051c89184414953800cc21510...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1049 Cmpd2 000000249400840040100042011001001980410c000000001010088001120...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1050 ... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1051 ... ..
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1052
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1053 Example of I<FP> file containing fingerprints vector string data:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1054
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1055 #
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1056 # Package = MayaChemTools 7.4
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1057 # ReleaseDate = Oct 21, 2010
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1058 #
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1059 # TimeStamp = Mon Mar 7 15:14:01 2011
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1060 #
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1061 # FingerprintsStringType = FingerprintsVector
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1062 #
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1063 # Description = PathLengthBits:AtomicInvariantsAtomTypes:MinLength1:...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1064 # VectorStringFormat = IDsAndValuesString
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1065 # VectorValuesType = NumericalValues
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1066 #
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1067 Cmpd1 338;C F N O C:C C:N C=O CC CF CN CO C:C:C C:C:N C:CC C:CF C:CN C:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1068 N:C C:NC CC:N CC=O CCC CCN CCO CNC NC=O O=CO C:C:C:C C:C:C:N C:C:CC...;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1069 33 1 2 5 21 2 2 12 1 3 3 20 2 10 2 2 1 2 2 2 8 2 5 1 1 1 19 2 8 2 2 2 2
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1070 6 2 2 2 2 2 2 2 2 3 2 2 1 4 1 5 1 1 18 6 2 2 1 2 10 2 1 2 1 2 2 2 2 ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1071 Cmpd2 103;C N O C=N C=O CC CN CO CC=O CCC CCN CCO CNC N=CN NC=O NCN O=C
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1072 O C CC=O CCCC CCCN CCCO CCNC CNC=N CNC=O CNCN CCCC=O CCCCC CCCCN CC...;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1073 15 4 4 1 2 13 5 2 2 15 5 3 2 2 1 1 1 2 17 7 6 5 1 1 1 2 15 8 5 7 2 2 2 2
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1074 1 2 1 1 3 15 7 6 8 3 4 4 3 2 2 1 2 3 14 2 4 7 4 4 4 4 1 1 1 2 1 1 1 ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1075 ... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1076 ... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1077
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1078 Example of I<SD> file containing fingerprints bit-vector string data:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1079
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1080 ... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1081 ... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1082 $$$$
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1083 ... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1084 ... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1085 ... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1086 41 44 0 0 0 0 0 0 0 0999 V2000
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1087 -3.3652 1.4499 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1088 ... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1089 2 3 1 0 0 0 0
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1090 ... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1091 M END
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1092 > <CmpdID>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1093 Cmpd1
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1094
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1095 > <PathLengthFingerprints>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1096 FingerprintsBitVector;PathLengthBits:AtomicInvariantsAtomTypes:MinLengt
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1097 h1:MaxLength8;1024;HexadecimalString;Ascending;9c8460989ec8a49913991a66
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1098 03130b0a19e8051c89184414953800cc2151082844a201042800130860308e8204d4028
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1099 00831048940e44281c00060449a5000ac80c894114e006321264401600846c050164462
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1100 08190410805000304a10205b0100e04c0038ba0fad0209c0ca8b1200012268b61c0026a
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1101 aa0660a11014a011d46
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1102
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1103 $$$$
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1104 ... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1105 ... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1106
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1107 Example of CSV I<Text> file containing fingerprints bit-vector string data:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1108
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1109 "CompoundID","PathLengthFingerprints"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1110 "Cmpd1","FingerprintsBitVector;PathLengthBits:AtomicInvariantsAtomTypes
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1111 :MinLength1:MaxLength8;1024;HexadecimalString;Ascending;9c8460989ec8a4
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1112 9913991a6603130b0a19e8051c89184414953800cc2151082844a20104280013086030
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1113 8e8204d402800831048940e44281c00060449a5000ac80c894114e006321264401..."
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1114 ... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1115 ... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1116
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1117 The current release of MayaChemTools supports the following types of fingerprint
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1118 bit-vector and vector strings:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1119
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1120 FingerprintsVector;AtomNeighborhoods:AtomicInvariantsAtomTypes:MinRadi
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1121 us0:MaxRadius2;41;AlphaNumericalValues;ValuesString;NR0-C.X1.BO1.H3-AT
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1122 C1:NR1-C.X3.BO3.H1-ATC1:NR2-C.X1.BO1.H3-ATC1:NR2-C.X3.BO4-ATC1 NR0-C.X
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1123 1.BO1.H3-ATC1:NR1-C.X3.BO3.H1-ATC1:NR2-C.X1.BO1.H3-ATC1:NR2-C.X3.BO4-A
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1124 TC1 NR0-C.X2.BO2.H2-ATC1:NR1-C.X2.BO2.H2-ATC1:NR1-C.X3.BO3.H1-ATC1:NR2
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1125 -C.X2.BO2.H2-ATC1:NR2-N.X3.BO3-ATC1:NR2-O.X1.BO1.H1-ATC1 NR0-C.X2.B...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1126
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1127 FingerprintsVector;AtomTypesCount:AtomicInvariantsAtomTypes:ArbitraryS
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1128 ize;10;NumericalValues;IDsAndValuesString;C.X1.BO1.H3 C.X2.BO2.H2 C.X2
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1129 .BO3.H1 C.X3.BO3.H1 C.X3.BO4 F.X1.BO1 N.X2.BO2.H1 N.X3.BO3 O.X1.BO1.H1
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1130 O.X1.BO2;2 4 14 3 10 1 1 1 3 2
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1131
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1132 FingerprintsVector;AtomTypesCount:SLogPAtomTypes:ArbitrarySize;16;Nume
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1133 ricalValues;IDsAndValuesString;C1 C10 C11 C14 C18 C20 C21 C22 C5 CS F
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1134 N11 N4 O10 O2 O9;5 1 1 1 14 4 2 1 2 2 1 1 1 1 3 1
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1135
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1136 FingerprintsVector;AtomTypesCount:SLogPAtomTypes:FixedSize;67;OrderedN
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1137 umericalValues;IDsAndValuesString;C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1138 12 C13 C14 C15 C16 C17 C18 C19 C20 C21 C22 C23 C24 C25 C26 C27 CS N1 N
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1139 2 N3 N4 N5 N6 N7 N8 N9 N10 N11 N12 N13 N14 NS O1 O2 O3 O4 O5 O6 O7 O8
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1140 O9 O10 O11 O12 OS F Cl Br I Hal P S1 S2 S3 Me1 Me2;5 0 0 0 2 0 0 0 0 1
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1141 1 0 0 1 0 0 0 14 0 4 2 1 0 0 0 0 0 2 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1142
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1143 FingerprintsVector;EStateIndicies:ArbitrarySize;11;NumericalValues;IDs
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1144 AndValuesString;SaaCH SaasC SaasN SdO SdssC SsCH3 SsF SsOH SssCH2 SssN
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1145 H SsssCH;24.778 4.387 1.993 25.023 -1.435 3.975 14.006 29.759 -0.073 3
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1146 .024 -2.270
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1147
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1148 FingerprintsVector;EStateIndicies:FixedSize;87;OrderedNumericalValues;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1149 ValuesString;0 0 0 0 0 0 0 3.975 0 -0.073 0 0 24.778 -2.270 0 0 -1.435
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1150 4.387 0 0 0 0 0 0 3.024 0 0 0 0 0 0 0 1.993 0 29.759 25.023 0 0 0 0 1
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1151 4.006 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1152 0 0 0 0 0 0 0 0 0 0 0 0 0 0
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1153
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1154 FingerprintsVector;ExtendedConnectivity:AtomicInvariantsAtomTypes:Radi
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1155 us2;60;AlphaNumericalValues;ValuesString;73555770 333564680 352413391
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1156 666191900 1001270906 1371674323 1481469939 1977749791 2006158649 21414
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1157 08799 49532520 64643108 79385615 96062769 273726379 564565671 85514103
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1158 5 906706094 988546669 1018231313 1032696425 1197507444 1331250018 1338
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1159 532734 1455473691 1607485225 1609687129 1631614296 1670251330 17303...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1160
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1161 FingerprintsVector;ExtendedConnectivityCount:AtomicInvariantsAtomTypes
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1162 :Radius2;60;NumericalValues;IDsAndValuesString;73555770 333564680 3524
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1163 13391 666191900 1001270906 1371674323 1481469939 1977749791 2006158649
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1164 2141408799 49532520 64643108 79385615 96062769 273726379 564565671...;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1165 3 2 1 1 14 1 2 10 4 3 1 1 1 1 2 1 2 1 1 1 2 3 1 1 2 1 3 3 8 2 2 2 6 2
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1166 1 2 1 1 2 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1167
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1168 FingerprintsBitVector;ExtendedConnectivityBits:AtomicInvariantsAtomTyp
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1169 es:Radius2;1024;BinaryString;Ascending;0000000000000000000000000000100
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1170 0000000001010000000110000011000000000000100000000000000000000000100001
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1171 1000000110000000000000000000000000010011000000000000000000000000010000
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1172 0000000000000000000000000010000000000000000001000000000000000000000000
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1173 0000000000010000100001000000000000101000000000000000100000000000000...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1174
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1175 FingerprintsVector;ExtendedConnectivity:FunctionalClassAtomTypes:Radiu
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1176 s2;57;AlphaNumericalValues;ValuesString;24769214 508787397 850393286 8
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1177 62102353 981185303 1231636850 1649386610 1941540674 263599683 32920567
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1178 1 571109041 639579325 683993318 723853089 810600886 885767127 90326012
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1179 7 958841485 981022393 1126908698 1152248391 1317567065 1421489994 1455
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1180 632544 1557272891 1826413669 1983319256 2015750777 2029559552 20404...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1181
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1182 FingerprintsVector;ExtendedConnectivity:EStateAtomTypes:Radius2;62;Alp
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1183 haNumericalValues;ValuesString;25189973 528584866 662581668 671034184
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1184 926543080 1347067490 1738510057 1759600920 2034425745 2097234755 21450
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1185 44754 96779665 180364292 341712110 345278822 386540408 387387308 50430
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1186 1706 617094135 771528807 957666640 997798220 1158349170 1291258082 134
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1187 1138533 1395329837 1420277211 1479584608 1486476397 1487556246 1566...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1188
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1189 FingerprintsBitVector;MACCSKeyBits;166;BinaryString;Ascending;00000000
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1190 0000000000000000000000000000000001001000010010000000010010000000011100
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1191 0100101010111100011011000100110110000011011110100110111111111111011111
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1192 11111111111110111000
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1193
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1194 FingerprintsBitVector;MACCSKeyBits;322;BinaryString;Ascending;11101011
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1195 1110011111100101111111000111101100110000000000000011100010000000000000
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1196 0000000000000000000000000000000000000000000000101000000000000000000000
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1197 0000000000000000000000000000000000000000000000000000000000000000000000
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1198 0000000000000000000000000000000000000011000000000000000000000000000000
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1199 0000000000000000000000000000000000000000
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1200
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1201 FingerprintsVector;MACCSKeyCount;166;OrderedNumericalValues;ValuesStri
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1202 ng;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1203 0 0 0 0 0 0 0 1 0 0 3 0 0 0 0 4 0 0 2 0 0 0 0 0 0 0 0 2 0 0 2 0 0 0 0
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1204 0 0 0 0 1 1 8 0 0 0 1 0 0 1 0 1 0 1 0 3 1 3 1 0 0 0 1 2 0 11 1 0 0 0
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1205 5 0 0 1 2 0 1 1 0 0 0 0 0 1 1 0 1 1 1 1 0 4 0 0 1 1 0 4 6 1 1 1 2 1 1
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1206 3 5 2 2 0 5 3 5 1 1 2 5 1 2 1 2 4 8 3 5 5 2 2 0 3 5 4 1
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1207
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1208 FingerprintsVector;MACCSKeyCount;322;OrderedNumericalValues;ValuesStri
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1209 ng;14 8 2 0 2 0 4 4 2 1 4 0 0 2 5 10 5 2 1 0 0 2 0 5 13 3 28 5 5 3 0 0
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1210 0 4 2 1 1 0 1 1 0 0 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 5 3 0 0 0 1 0
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1211 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1212 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 2 0 0 0 0 0 0 0 0 0
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1213 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1214
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1215 FingerprintsBitVector;PathLengthBits:AtomicInvariantsAtomTypes:MinLeng
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1216 th1:MaxLength8;1024;BinaryString;Ascending;001000010011010101011000110
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1217 0100010101011000101001011100110001000010001001101000001001001001001000
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1218 0010110100000111001001000001001010100100100000000011000000101001011100
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1219 0010000001000101010100000100111100110111011011011000000010110111001101
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1220 0101100011000000010001000011000010100011101100001000001000100000000...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1221
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1222 FingerprintsVector;PathLengthCount:AtomicInvariantsAtomTypes:MinLength
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1223 1:MaxLength8;432;NumericalValues;IDsAndValuesPairsString;C.X1.BO1.H3 2
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1224 C.X2.BO2.H2 4 C.X2.BO3.H1 14 C.X3.BO3.H1 3 C.X3.BO4 10 F.X1.BO1 1 N.X
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1225 2.BO2.H1 1 N.X3.BO3 1 O.X1.BO1.H1 3 O.X1.BO2 2 C.X1.BO1.H3C.X3.BO3.H1
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1226 2 C.X2.BO2.H2C.X2.BO2.H2 1 C.X2.BO2.H2C.X3.BO3.H1 4 C.X2.BO2.H2C.X3.BO
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1227 4 1 C.X2.BO2.H2N.X3.BO3 1 C.X2.BO3.H1:C.X2.BO3.H1 10 C.X2.BO3.H1:C....
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1228
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1229 FingerprintsVector;PathLengthCount:MMFF94AtomTypes:MinLength1:MaxLengt
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1230 h8;463;NumericalValues;IDsAndValuesPairsString;C5A 2 C5B 2 C=ON 1 CB 1
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1231 8 COO 1 CR 9 F 1 N5 1 NC=O 1 O=CN 1 O=CO 1 OC=O 1 OR 2 C5A:C5B 2 C5A:N
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1232 5 2 C5ACB 1 C5ACR 1 C5B:C5B 1 C5BC=ON 1 C5BCB 1 C=ON=O=CN 1 C=ONNC=O 1
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1233 CB:CB 18 CBF 1 CBNC=O 1 COO=O=CO 1 COOCR 1 COOOC=O 1 CRCR 7 CRN5 1 CR
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1234 OR 2 C5A:C5B:C5B 2 C5A:C5BC=ON 1 C5A:C5BCB 1 C5A:N5:C5A 1 C5A:N5CR ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1235
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1236 FingerprintsVector;TopologicalAtomPairs:AtomicInvariantsAtomTypes:MinD
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1237 istance1:MaxDistance10;223;NumericalValues;IDsAndValuesString;C.X1.BO1
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1238 .H3-D1-C.X3.BO3.H1 C.X2.BO2.H2-D1-C.X2.BO2.H2 C.X2.BO2.H2-D1-C.X3.BO3.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1239 H1 C.X2.BO2.H2-D1-C.X3.BO4 C.X2.BO2.H2-D1-N.X3.BO3 C.X2.BO3.H1-D1-...;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1240 2 1 4 1 1 10 8 1 2 6 1 2 2 1 2 1 2 2 1 2 1 5 1 10 12 2 2 1 2 1 9 1 3 1
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1241 1 1 2 2 1 3 6 1 6 14 2 2 2 3 1 3 1 8 2 2 1 3 2 6 1 2 2 5 1 3 1 23 1...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1242
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1243 FingerprintsVector;TopologicalAtomPairs:FunctionalClassAtomTypes:MinDi
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1244 stance1:MaxDistance10;144;NumericalValues;IDsAndValuesString;Ar-D1-Ar
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1245 Ar-D1-Ar.HBA Ar-D1-HBD Ar-D1-Hal Ar-D1-None Ar.HBA-D1-None HBA-D1-NI H
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1246 BA-D1-None HBA.HBD-D1-NI HBA.HBD-D1-None HBD-D1-None NI-D1-None No...;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1247 23 2 1 1 2 1 1 1 1 2 1 1 7 28 3 1 3 2 8 2 1 1 1 5 1 5 24 3 3 4 2 13 4
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1248 1 1 4 1 5 22 4 4 3 1 19 1 1 1 1 1 2 2 3 1 1 8 25 4 5 2 3 1 26 1 4 1 ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1249
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1250 FingerprintsVector;TopologicalAtomTorsions:AtomicInvariantsAtomTypes;3
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1251 3;NumericalValues;IDsAndValuesString;C.X1.BO1.H3-C.X3.BO3.H1-C.X3.BO4-
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1252 C.X3.BO4 C.X1.BO1.H3-C.X3.BO3.H1-C.X3.BO4-N.X3.BO3 C.X2.BO2.H2-C.X2.BO
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1253 2.H2-C.X3.BO3.H1-C.X2.BO2.H2 C.X2.BO2.H2-C.X2.BO2.H2-C.X3.BO3.H1-O...;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1254 2 2 1 1 2 2 1 1 3 4 4 8 4 2 2 6 2 2 1 2 1 1 2 1 1 2 6 2 4 2 1 3 1
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1255
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1256 FingerprintsVector;TopologicalAtomTorsions:EStateAtomTypes;36;Numerica
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1257 lValues;IDsAndValuesString;aaCH-aaCH-aaCH-aaCH aaCH-aaCH-aaCH-aasC aaC
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1258 H-aaCH-aasC-aaCH aaCH-aaCH-aasC-aasC aaCH-aaCH-aasC-sF aaCH-aaCH-aasC-
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1259 ssNH aaCH-aasC-aasC-aasC aaCH-aasC-aasC-aasN aaCH-aasC-ssNH-dssC a...;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1260 4 4 8 4 2 2 6 2 2 2 4 3 2 1 3 3 2 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1261
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1262 FingerprintsVector;TopologicalAtomTriplets:AtomicInvariantsAtomTypes:M
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1263 inDistance1:MaxDistance10;3096;NumericalValues;IDsAndValuesString;C.X1
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1264 .BO1.H3-D1-C.X1.BO1.H3-D1-C.X3.BO3.H1-D2 C.X1.BO1.H3-D1-C.X2.BO2.H2-D1
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1265 0-C.X3.BO4-D9 C.X1.BO1.H3-D1-C.X2.BO2.H2-D3-N.X3.BO3-D4 C.X1.BO1.H3-D1
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1266 -C.X2.BO2.H2-D4-C.X2.BO2.H2-D5 C.X1.BO1.H3-D1-C.X2.BO2.H2-D6-C.X3....;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1267 1 2 2 2 2 2 2 2 8 8 4 8 4 4 2 2 2 2 4 2 2 2 4 2 2 2 2 1 2 2 4 4 4 2 2
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1268 2 4 4 4 8 4 4 2 4 4 4 2 4 4 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 8...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1269
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1270 FingerprintsVector;TopologicalAtomTriplets:SYBYLAtomTypes:MinDistance1
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1271 :MaxDistance10;2332;NumericalValues;IDsAndValuesString;C.2-D1-C.2-D9-C
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1272 .3-D10 C.2-D1-C.2-D9-C.ar-D10 C.2-D1-C.3-D1-C.3-D2 C.2-D1-C.3-D10-C.3-
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1273 D9 C.2-D1-C.3-D2-C.3-D3 C.2-D1-C.3-D2-C.ar-D3 C.2-D1-C.3-D3-C.3-D4 C.2
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1274 -D1-C.3-D3-N.ar-D4 C.2-D1-C.3-D3-O.3-D2 C.2-D1-C.3-D4-C.3-D5 C.2-D1-C.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1275 3-D5-C.3-D6 C.2-D1-C.3-D5-O.3-D4 C.2-D1-C.3-D6-C.3-D7 C.2-D1-C.3-D7...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1276
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1277 FingerprintsVector;TopologicalPharmacophoreAtomPairs:ArbitrarySize:Min
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1278 Distance1:MaxDistance10;54;NumericalValues;IDsAndValuesString;H-D1-H H
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1279 -D1-NI HBA-D1-NI HBD-D1-NI H-D2-H H-D2-HBA H-D2-HBD HBA-D2-HBA HBA-D2-
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1280 HBD H-D3-H H-D3-HBA H-D3-HBD H-D3-NI HBA-D3-NI HBD-D3-NI H-D4-H H-D4-H
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1281 BA H-D4-HBD HBA-D4-HBA HBA-D4-HBD HBD-D4-HBD H-D5-H H-D5-HBA H-D5-...;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1282 18 1 2 1 22 12 8 1 2 18 6 3 1 1 1 22 13 6 5 7 2 28 9 5 1 1 1 36 16 10
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1283 3 4 1 37 10 8 1 35 10 9 3 3 1 28 7 7 4 18 16 12 5 1 2 1
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1284
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1285 FingerprintsVector;TopologicalPharmacophoreAtomPairs:FixedSize:MinDist
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1286 ance1:MaxDistance10;150;OrderedNumericalValues;ValuesString;18 0 0 1 0
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1287 0 0 2 0 0 1 0 0 0 0 22 12 8 0 0 1 2 0 0 0 0 0 0 0 0 18 6 3 1 0 0 0 1
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1288 0 0 1 0 0 0 0 22 13 6 0 0 5 7 0 0 2 0 0 0 0 0 28 9 5 1 0 0 0 1 0 0 1 0
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1289 0 0 0 36 16 10 0 0 3 4 0 0 1 0 0 0 0 0 37 10 8 0 0 0 0 1 0 0 0 0 0 0
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1290 0 35 10 9 0 0 3 3 0 0 1 0 0 0 0 0 28 7 7 4 0 0 0 0 0 0 0 0 0 0 0 18...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1291
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1292 FingerprintsVector;TopologicalPharmacophoreAtomTriplets:ArbitrarySize:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1293 MinDistance1:MaxDistance10;696;NumericalValues;IDsAndValuesString;Ar1-
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1294 Ar1-Ar1 Ar1-Ar1-H1 Ar1-Ar1-HBA1 Ar1-Ar1-HBD1 Ar1-H1-H1 Ar1-H1-HBA1 Ar1
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1295 -H1-HBD1 Ar1-HBA1-HBD1 H1-H1-H1 H1-H1-HBA1 H1-H1-HBD1 H1-HBA1-HBA1 H1-
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1296 HBA1-HBD1 H1-HBA1-NI1 H1-HBD1-NI1 HBA1-HBA1-NI1 HBA1-HBD1-NI1 Ar1-...;
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1297 46 106 8 3 83 11 4 1 21 5 3 1 2 2 1 1 1 100 101 18 11 145 132 26 14 23
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1298 28 3 3 5 4 61 45 10 4 16 20 7 5 1 3 4 5 3 1 1 1 1 5 4 2 1 2 2 2 1 1 1
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1299 119 123 24 15 185 202 41 25 22 17 3 5 85 95 18 11 23 17 3 1 1 6 4 ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1300
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1301 FingerprintsVector;TopologicalPharmacophoreAtomTriplets:FixedSize:MinD
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1302 istance1:MaxDistance10;2692;OrderedNumericalValues;ValuesString;46 106
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1303 8 3 0 0 83 11 4 0 0 0 1 0 0 0 0 0 0 0 0 21 5 3 0 0 1 2 2 0 0 1 0 0 0
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1304 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 101 18 11 0 0 145 132 26
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1305 14 0 0 23 28 3 3 0 0 5 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 61 45 10 4 0
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1306 0 16 20 7 5 1 0 3 4 5 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 5 ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1307
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1308 =head1 OPTIONS
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1309
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1310 =over 4
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1311
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1312 =item B<--alpha> I<number>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1313
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1314 Value of alpha parameter for calculating I<Tversky> similarity coefficient specified for
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1315 B<-b, --BitVectorComparisonMode> option. It corresponds to weights assigned for bits set
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1316 to "1" in a pair of fingerprint bit-vectors during the calculation of similarity coefficient. Possible
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1317 values: I<0 to 1>. Default value: <0.5>.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1318
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1319 =item B<--beta> I<number>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1320
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1321 Value of beta parameter for calculating I<WeightedTanimoto> and I<WeightedTversky>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1322 similarity coefficients specified for B<-b, --BitVectorComparisonMode> option. It is used to
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1323 weight the contributions of bits set to "0" during the calculation of similarity coefficients. Possible
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1324 values: I<0 to 1>. Default value of <1> makes I<WeightedTanimoto> and I<WeightedTversky>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1325 equivalent to I<Tanimoto> and I<Tversky>.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1326
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1327 =item B<-b, --BitVectorComparisonMode> I<All | "TanimotoSimilarity,[TverskySimilarity,...]">
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1328
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1329 Specify what similarity coefficients to use for calculating similarity matrices for fingerprints bit-vector
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1330 strings data values in I<TextFile(s)>: calculate similarity matrices for all supported similarity
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1331 coefficients or specify a comma delimited list of similarity coefficients. Possible values:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1332 I<All | "TanimotoSimilarity,[TverskySimilarity,...]>. Default: I<TanimotoSimilarity>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1333
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1334 I<All> uses complete list of supported similarity coefficients: I<BaroniUrbaniSimilarity, BuserSimilarity,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1335 CosineSimilarity, DiceSimilarity, DennisSimilarity, ForbesSimilarity, FossumSimilarity, HamannSimilarity, JacardSimilarity,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1336 Kulczynski1Similarity, Kulczynski2Similarity, MatchingSimilarity, McConnaugheySimilarity, OchiaiSimilarity,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1337 PearsonSimilarity, RogersTanimotoSimilarity, RussellRaoSimilarity, SimpsonSimilarity, SkoalSneath1Similarity,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1338 SkoalSneath2Similarity, SkoalSneath3Similarity, TanimotoSimilarity, TverskySimilarity, YuleSimilarity,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1339 WeightedTanimotoSimilarity, WeightedTverskySimilarity>. These similarity coefficients are described below.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1340
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1341 For two fingerprint bit-vectors A and B of same size, let:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1342
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1343 Na = Number of bits set to "1" in A
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1344 Nb = Number of bits set to "1" in B
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1345 Nc = Number of bits set to "1" in both A and B
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1346 Nd = Number of bits set to "0" in both A and B
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1347
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1348 Nt = Number of bits set to "1" or "0" in A or B (Size of A or B)
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1349 Nt = Na + Nb - Nc + Nd
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1350
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1351 Na - Nc = Number of bits set to "1" in A but not in B
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1352 Nb - Nc = Number of bits set to "1" in B but not in A
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1353
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1354 Then, various similarity coefficients [ Ref. 40 - 42 ] for a pair of bit-vectors A and B are
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1355 defined as follows:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1356
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1357 I<BaroniUrbaniSimilarity>: ( SQRT( Nc * Nd ) + Nc ) / ( SQRT ( Nc * Nd ) + Nc + ( Na - Nc ) + ( Nb - Nc ) ) ( same as Buser )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1358
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1359 I<BuserSimilarity>: ( SQRT ( Nc * Nd ) + Nc ) / ( SQRT ( Nc * Nd ) + Nc + ( Na - Nc ) + ( Nb - Nc ) ) ( same as BaroniUrbani )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1360
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1361 I<CosineSimilarity>: Nc / SQRT ( Na * Nb ) (same as Ochiai)
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1362
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1363 I<DiceSimilarity>: (2 * Nc) / ( Na + Nb )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1364
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1365 I<DennisSimilarity>: ( Nc * Nd - ( ( Na - Nc ) * ( Nb - Nc ) ) ) / SQRT ( Nt * Na * Nb)
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1366
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1367 I<ForbesSimilarity>: ( Nt * Nc ) / ( Na * Nb )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1368
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1369 I<FossumSimilarity>: ( Nt * ( ( Nc - 1/2 ) ** 2 ) / ( Na * Nb )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1370
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1371 I<HamannSimilarity>: ( ( Nc + Nd ) - ( Na - Nc ) - ( Nb - Nc ) ) / Nt
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1372
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1373 I<JaccardSimilarity>: Nc / ( ( Na - Nc) + ( Nb - Nc ) + Nc ) = Nc / ( Na + Nb - Nc ) (same as Tanimoto)
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1374
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1375 I<Kulczynski1Similarity>: Nc / ( ( Na - Nc ) + ( Nb - Nc) ) = Nc / ( Na + Nb - 2Nc )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1376
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1377 I<Kulczynski2Similarity>: ( ( Nc / 2 ) * ( 2 * Nc + ( Na - Nc ) + ( Nb - Nc) ) ) / ( ( Nc + ( Na - Nc ) ) * ( Nc + ( Nb - Nc ) ) ) = 0.5 * ( Nc / Na + Nc / Nb )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1378
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1379 I<MatchingSimilarity>: ( Nc + Nd ) / Nt
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1380
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1381 I<McConnaugheySimilarity>: ( Nc ** 2 - ( Na - Nc ) * ( Nb - Nc) ) / ( Na * Nb )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1382
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1383 I<OchiaiSimilarity>: Nc / SQRT ( Na * Nb ) (same as Cosine)
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1384
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1385 I<PearsonSimilarity>: ( ( Nc * Nd ) - ( ( Na - Nc ) * ( Nb - Nc ) ) / SQRT ( Na * Nb * ( Na - Nc + Nd ) * ( Nb - Nc + Nd ) )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1386
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1387 I<RogersTanimotoSimilarity>: ( Nc + Nd ) / ( ( Na - Nc) + ( Nb - Nc) + Nt) = ( Nc + Nd ) / ( Na + Nb - 2Nc + Nt)
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1388
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1389 I<RussellRaoSimilarity>: Nc / Nt
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1390
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1391 I<SimpsonSimilarity>: Nc / MIN ( Na, Nb)
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1392
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1393 I<SkoalSneath1Similarity>: Nc / ( Nc + 2 * ( Na - Nc) + 2 * ( Nb - Nc) ) = Nc / ( 2 * Na + 2 * Nb - 3 * Nc )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1394
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1395 I<SkoalSneath2Similarity>: ( 2 * Nc + 2 * Nd ) / ( Nc + Nd + Nt )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1396
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1397 I<SkoalSneath3Similarity>: ( Nc + Nd ) / ( ( Na - Nc ) + ( Nb - Nc ) ) = ( Nc + Nd ) / ( Na + Nb - 2 * Nc )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1398
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1399 I<TanimotoSimilarity>: Nc / ( ( Na - Nc) + ( Nb - Nc ) + Nc ) = Nc / ( Na + Nb - Nc ) (same as Jaccard)
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1400
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1401 I<TverskySimilarity>: Nc / ( alpha * ( Na - Nc ) + ( 1 - alpha) * ( Nb - Nc) + Nc ) = Nc / ( alpha * ( Na - Nb ) + Nb)
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1402
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1403 I<YuleSimilarity>: ( ( Nc * Nd ) - ( ( Na - Nc ) * ( Nb - Nc ) ) ) / ( ( Nc * Nd ) + ( ( Na - Nc ) * ( Nb - Nc ) ) )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1404
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1405 Values of Tanimoto/Jaccard and Tversky coefficients are dependent on only those bit which
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1406 are set to "1" in both A and B. In order to take into account all bit positions, modified versions
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1407 of Tanimoto [ Ref. 42 ] and Tversky [ Ref. 43 ] have been developed.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1408
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1409 Let:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1410
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1411 Na' = Number of bits set to "0" in A
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1412 Nb' = Number of bits set to "0" in B
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1413 Nc' = Number of bits set to "0" in both A and B
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1414
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1415 Tanimoto': Nc' / ( ( Na' - Nc') + ( Nb' - Nc' ) + Nc' ) = Nc' / ( Na' + Nb' - Nc' )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1416
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1417 Tversky': Nc' / ( alpha * ( Na' - Nc' ) + ( 1 - alpha) * ( Nb' - Nc' ) + Nc' ) = Nc' / ( alpha * ( Na' - Nb' ) + Nb')
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1418
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1419 Then:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1420
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1421 I<WeightedTanimotoSimilarity> = beta * Tanimoto + (1 - beta) * Tanimoto'
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1422
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1423 I<WeightedTverskySimilarity> = beta * Tversky + (1 - beta) * Tversky'
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1424
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1425 =item B<-c, --ColMode> I<ColNum | ColLabel>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1426
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1427 Specify how columns are identified in I<TextFile(s)>: using column number or column
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1428 label. Possible values: I<ColNum or ColLabel>. Default value: I<ColNum>.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1429
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1430 =item B<--CompoundIDCol> I<col number | col name>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1431
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1432 This value is B<-c, --ColMode> mode specific. It specifies input I<TextFile(s)> column to use for
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1433 generating compound ID for similarity matrices in output I<TextFile(s)>. Possible values: I<col number
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1434 or col label>. Default value: I<first column containing the word compoundID in its column label or sequentially
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1435 generated IDs>.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1436
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1437 =item B<--CompoundIDPrefix> I<text>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1438
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1439 Specify compound ID prefix to use during sequential generation of compound IDs for input I<SDFile(s)>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1440 and I<TextFile(s)>. Default value: I<Cmpd>. The default value generates compound IDs which look
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1441 like Cmpd<Number>.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1442
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1443 For input I<SDFile(s)>, this value is only used during I<LabelPrefix | MolNameOrLabelPrefix> values
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1444 of B<--CompoundIDMode> option; otherwise, it's ignored.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1445
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1446 Examples for I<LabelPrefix> or I<MolNameOrLabelPrefix> value of B<--CompoundIDMode>:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1447
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1448 Compound
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1449
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1450 The values specified above generates compound IDs which correspond to Compound<Number>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1451 instead of default value of Cmpd<Number>.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1452
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1453 =item B<--CompoundIDField> I<DataFieldName>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1454
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1455 Specify input I<SDFile(s)> datafield label for generating compound IDs. This value is only used
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1456 during I<DataField> value of B<--CompoundIDMode> option.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1457
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1458 Examples for I<DataField> value of B<--CompoundIDMode>:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1459
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1460 MolID
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1461 ExtReg
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1462
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1463 =item B<--CompoundIDMode> I<DataField | MolName | LabelPrefix | MolNameOrLabelPrefix>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1464
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1465 Specify how to generate compound IDs from input I<SDFile(s)> for similarity matrix CSV/TSV text
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1466 file(s): use a I<SDFile(s)> datafield value; use molname line from I<SDFile(s)>; generate a sequential ID
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1467 with specific prefix; use combination of both MolName and LabelPrefix with usage of LabelPrefix values
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1468 for empty molname lines.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1469
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1470 Possible values: I<DataField | MolName | LabelPrefix | MolNameOrLabelPrefix>.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1471 Default: I<LabelPrefix>.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1472
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1473 For I<MolNameAndLabelPrefix> value of B<--CompoundIDMode>, molname line in I<SDFile(s)> takes
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1474 precedence over sequential compound IDs generated using I<LabelPrefix> and only empty molname
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1475 values are replaced with sequential compound IDs.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1476
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1477 =item B<-d, --detail> I<InfoLevel>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1478
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1479 Level of information to print about lines being ignored. Default: I<1>. Possible values:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1480 I<1, 2 or 3>.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1481
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1482 =item B<-f, --fast>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1483
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1484 In this mode, fingerprints columns specified using B<--FingerprintsCol> for I<TextFile(s)> and
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1485 B<--FingerprintsField> for I<SDFile(s)> are assumed to contain valid fingerprints data and no
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1486 checking is performed before calculating similarity matrices. By default, fingerprints data is
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1487 validated before computing pairwise similarity and distance coefficients.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1488
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1489 =item B<--FingerprintsCol> I<col number | col name>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1490
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1491 This value is B<-c, --colmode> specific. It specifies fingerprints column to use during
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1492 calculation similarity matrices for I<TextFile(s)>. Possible values: I<col number or col label>.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1493 Default value: I<first column containing the word Fingerprints in its column label>.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1494
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1495 =item B<--FingerprintsField> I<FieldLabel>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1496
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1497 Fingerprints field label to use during calculation similarity matrices for I<SDFile(s)>.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1498 Default value: I<first data field label containing the word Fingerprints in its label>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1499
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1500 =item B<-h, --help>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1501
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1502 Print this help message.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1503
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1504 =item B<--InDelim> I<comma | semicolon>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1505
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1506 Input delimiter for CSV I<TextFile(s)>. Possible values: I<comma or semicolon>.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1507 Default value: I<comma>. For TSV files, this option is ignored and I<tab> is used as a
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1508 delimiter.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1509
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1510 =item B<--InputDataMode> I<LoadInMemory | ScanFile>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1511
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1512 Specify how fingerprints bit-vector or vector strings data from I<SD, FP and CSV/TSV>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1513 fingerprint file(s) is processed: Retrieve, process and load all available fingerprints
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1514 data in memory; Retrieve and process data for fingerprints one at a time. Possible values
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1515 : I<LoadInMemory | ScanFile>. Default: I<LoadInMemory>.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1516
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1517 During I<LoadInMemory> value of B<--InputDataMode>, fingerprints bit-vector or vector
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1518 strings data from input file is retrieved, processed, and loaded into memory all at once
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1519 as fingerprints objects for generation for similarity matrices.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1520
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1521 During I<ScanFile> value of B<--InputDataMode>, multiple passes over the input fingerprints
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1522 file are performed to retrieve and process fingerprints bit-vector or vector strings data one at
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1523 a time to generate fingerprints objects used during generation of similarity matrices. A temporary
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1524 copy of the input fingerprints file is made at the start and deleted after generating the matrices.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1525
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1526 I<ScanFile> value of B<--InputDataMode> allows processing of arbitrary large fingerprints files
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1527 without any additional memory requirement.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1528
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1529 =item B<-m, --mode> I<AutoDetect | FingerprintsBitVectorString | FingerprintsVectorString>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1530
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1531 Format of fingerprint strings data in I<TextFile(s)>: automatically detect format of fingerprints
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1532 string created by MayaChemTools fingerprints generation scripts or explicitly specify its format.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1533 Possible values: I<AutoDetect | FingerprintsBitVectorString | FingerprintsVectorString>. Default
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1534 value: I<AutoDetect>.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1535
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1536 =item B<--OutDelim> I<comma | tab | semicolon>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1537
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1538 Delimiter for output CSV/TSV text file(s). Possible values: I<comma, tab, or semicolon>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1539 Default value: I<comma>.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1540
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1541 =item B<--OutMatrixFormat> I<RowsAndColumns | IDPairsAndValue>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1542
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1543 Specify how similarity or distance values calculated for fingerprints vector and bit-vector strings
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1544 are written to the output CSV/TSV text file(s): Generate text files containing rows and columns
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1545 with their labels corresponding to compound IDs and each matrix element value corresponding to
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1546 similarity or distance between corresponding compounds; Generate text files containing rows containing
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1547 compoundIDs for two compounds followed by similarity or distance value between these compounds.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1548
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1549 Possible values: I<RowsAndColumns, or IDPairsAndValue>. Default value: I<RowsAndColumns>.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1550
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1551 The value of B<--OutMatrixFormat> in conjunction with B<--OutMatrixType> determines type
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1552 of data written to output files and allows generation of up to 6 different output data formats:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1553
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1554 OutMatrixFormat OutMatrixType
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1555
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1556 RowsAndColumns FullMatrix [ DEFAULT ]
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1557 RowsAndColumns UpperTriangularMatrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1558 RowsAndColumns LowerTriangularMatrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1559
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1560 IDPairsAndValue FullMatrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1561 IDPairsAndValue UpperTriangularMatrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1562 IDPairsAndValue LowerTriangularMatrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1563
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1564 Example of data in output file for I<RowsAndColumns> B<--OutMatrixFormat> value for
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1565 I<FullMatrix> valueof B<--OutMatrixType>:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1566
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1567 "","Cmpd1","Cmpd2","Cmpd3","Cmpd4","Cmpd5","Cmpd6",... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1568 "Cmpd1","1","0.04","0.25","0.13","0.11","0.2",... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1569 "Cmpd2","0.04","1","0.06","0.05","0.19","0.07",... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1570 "Cmpd3","0.25","0.06","1","0.12","0.22","0.25",... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1571 "Cmpd4","0.13","0.05","0.12","1","0.11","0.13",... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1572 "Cmpd5","0.11","0.19","0.22","0.11","1","0.17",... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1573 "Cmpd6","0.2","0.07","0.25","0.13","0.17","1",... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1574 ... ... ..
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1575 ... ... ..
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1576 ... ... ..
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1577
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1578 Example of data in output file for I<RowsAndColumns> B<--OutMatrixFormat> value for
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1579 I<UpperTriangularMatrix> value of B<--OutMatrixType>:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1580
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1581 "","Cmpd1","Cmpd2","Cmpd3","Cmpd4","Cmpd5","Cmpd6",... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1582 "Cmpd1","1","0.04","0.25","0.13","0.11","0.2",... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1583 "Cmpd2","1","0.06","0.05","0.19","0.07",... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1584 "Cmpd3","1","0.12","0.22","0.25",... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1585 "Cmpd4","1","0.11","0.13",... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1586 "Cmpd5","1","0.17",... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1587 "Cmpd6","1",... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1588 ... ... ..
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1589 ... ... ..
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1590 ... ... ..
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1591
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1592 Example of data in output file for I<RowsAndColumns> B<--OutMatrixFormat> value for
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1593 I<LowerTriangularMatrix> value of B<--OutMatrixType>:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1594
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1595 "","Cmpd1","Cmpd2","Cmpd3","Cmpd4","Cmpd5","Cmpd6",... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1596 "Cmpd1","1"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1597 "Cmpd2","0.04","1"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1598 "Cmpd3","0.25","0.06","1"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1599 "Cmpd4","0.13","0.05","0.12","1"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1600 "Cmpd5","0.11","0.19","0.22","0.11","1"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1601 "Cmpd6","0.2","0.07","0.25","0.13","0.17","1"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1602 ... ... ..
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1603 ... ... ..
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1604 ... ... ..
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1605
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1606
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1607 Example of data in output file for I<IDPairsAndValue> B<--OutMatrixFormat> value for
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1608 <FullMatrix> value of B<OutMatrixType>:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1609
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1610 "CmpdID1","CmpdID2","Coefficient Value"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1611 "Cmpd1","Cmpd1","1"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1612 "Cmpd1","Cmpd2","0.04"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1613 "Cmpd1","Cmpd3","0.25"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1614 "Cmpd1","Cmpd4","0.13"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1615 ... ... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1616 ... ... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1617 ... ... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1618 "Cmpd2","Cmpd1","0.04"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1619 "Cmpd2","Cmpd2","1"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1620 "Cmpd2","Cmpd3","0.06"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1621 "Cmpd2","Cmpd4","0.05"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1622 ... ... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1623 ... ... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1624 ... ... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1625 "Cmpd3","Cmpd1","0.25"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1626 "Cmpd3","Cmpd2","0.06"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1627 "Cmpd3","Cmpd3","1"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1628 "Cmpd3","Cmpd4","0.12"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1629 ... ... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1630 ... ... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1631 ... ... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1632
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1633 Example of data in output file for I<IDPairsAndValue> B<--OutMatrixFormat> value for
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1634 <UpperTriangularMatrix> value of B<--OutMatrixType>:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1635
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1636 "CmpdID1","CmpdID2","Coefficient Value"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1637 "Cmpd1","Cmpd1","1"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1638 "Cmpd1","Cmpd2","0.04"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1639 "Cmpd1","Cmpd3","0.25"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1640 "Cmpd1","Cmpd4","0.13"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1641 ... ... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1642 ... ... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1643 ... ... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1644 "Cmpd2","Cmpd2","1"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1645 "Cmpd2","Cmpd3","0.06"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1646 "Cmpd2","Cmpd4","0.05"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1647 ... ... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1648 ... ... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1649 ... ... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1650 "Cmpd3","Cmpd3","1"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1651 "Cmpd3","Cmpd4","0.12"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1652 ... ... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1653 ... ... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1654 ... ... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1655
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1656 Example of data in output file for I<IDPairsAndValue> B<--OutMatrixFormat> value for
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1657 <LowerTriangularMatrix> value of B<--OutMatrixType>:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1658
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1659 "CmpdID1","CmpdID2","Coefficient Value"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1660 "Cmpd1","Cmpd1","1"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1661 "Cmpd2","Cmpd1","0.04"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1662 "Cmpd2","Cmpd2","1"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1663 "Cmpd3","Cmpd1","0.25"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1664 "Cmpd3","Cmpd2","0.06"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1665 "Cmpd3","Cmpd3","1"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1666 "Cmpd4","Cmpd1","0.13"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1667 "Cmpd4","Cmpd2","0.05"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1668 "Cmpd4","Cmpd3","0.12"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1669 "Cmpd4","Cmpd4","1"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1670 ... ... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1671 ... ... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1672 ... ... ...
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1673
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1674 =item B<--OutMatrixType> I<FullMatrix | UpperTriangularMatrix | LowerTriangularMatrix>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1675
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1676 Type of similarity or distance matrix to calculate for fingerprints vector and bit-vector strings:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1677 Calculate full matrix; Calculate lower triangular matrix including diagonal; Calculate upper triangular
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1678 matrix including diagonal.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1679
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1680 Possible values: I<FullMatrix, UpperTriangularMatrix, or LowerTriangularMatrix>. Default value:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1681 I<FullMatrix>.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1682
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1683 The value of B<--OutMatrixType> in conjunction with B<--OutMatrixFormat> determines type
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1684 of data written to output files.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1685
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1686 =item B<-o, --overwrite>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1687
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1688 Overwrite existing files
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1689
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1690 =item B<-p, --precision> I<number>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1691
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1692 Precision of calculated values in the output file. Default: up to I<2> decimal places.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1693 Valid values: positive integers.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1694
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1695 =item B<-q, --quote> I<Yes | No>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1696
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1697 Put quote around column values in output CSV/TSV text file(s). Possible values:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1698 I<Yes or No>. Default value: I<Yes>.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1699
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1700 =item B<-r, --root> I<RootName>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1701
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1702 New file name is generated using the root: <Root><BitVectorComparisonMode>.<Ext> or
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1703 <Root><VectorComparisonMode><VectorComparisonFormulism>.<Ext>.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1704 The csv, and tsv <Ext> values are used for comma/semicolon, and tab delimited text files
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1705 respectively. This option is ignored for multiple input files.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1706
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1707 =item B<-v, --VectorComparisonMode> I<All | "TanimotoSimilarity,[ManhattanDistance,...]">
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1708
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1709 Specify what similarity or distance coefficients to use for calculating similarity matrices for
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1710 fingerprint vector strings data values in I<TextFile(s)>: calculate similarity matrices for all
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1711 supported similarity and distance coefficients or specify a comma delimited list of similarity
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1712 and distance coefficients. Possible values: I<All | "TanimotoSimilairy,[ManhattanDistance,..]">.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1713 Default: I<TanimotoSimilarity>.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1714
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1715 The value of B<-v, --VectorComparisonMode>, in conjunction with B<--VectorComparisonFormulism>,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1716 decides which type of similarity and distance coefficient formulism gets used.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1717
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1718 I<All> uses complete list of supported similarity and distance coefficients: I<CosineSimilarity,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1719 CzekanowskiSimilarity, DiceSimilarity, OchiaiSimilarity, JaccardSimilarity, SorensonSimilarity, TanimotoSimilarity,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1720 CityBlockDistance, EuclideanDistance, HammingDistance, ManhattanDistance, SoergelDistance>. These
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1721 similarity and distance coefficients are described below.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1722
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1723 B<FingerprintsVector.pm> module, used to calculate similarity and distance coefficients,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1724 provides support to perform comparison between vectors containing three different types of
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1725 values:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1726
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1727 Type I: OrderedNumericalValues
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1728
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1729 . Size of two vectors are same
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1730 . Vectors contain real values in a specific order. For example: MACCS keys
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1731 count, Topological pharmnacophore atom pairs and so on.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1732
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1733 Type II: UnorderedNumericalValues
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1734
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1735 . Size of two vectors might not be same
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1736 . Vectors contain unordered real value identified by value IDs. For example:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1737 Toplogical atom pairs, Topological atom torsions and so on
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1738
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1739 Type III: AlphaNumericalValues
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1740
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1741 . Size of two vectors might not be same
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1742 . Vectors contain unordered alphanumerical values. For example: Extended
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1743 connectivity fingerprints, atom neighborhood fingerprints.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1744
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1745 Before performing similarity or distance calculations between vectors containing UnorderedNumericalValues
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1746 or AlphaNumericalValues, the vectors are transformed into vectors containing unique OrderedNumericalValues
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1747 using value IDs for UnorderedNumericalValues and values itself for AlphaNumericalValues.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1748
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1749 Three forms of similarity and distance calculation between two vectors, specified using B<--VectorComparisonFormulism>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1750 option, are supported: I<AlgebraicForm, BinaryForm or SetTheoreticForm>.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1751
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1752 For I<BinaryForm>, the ordered list of processed final vector values containing the value or
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1753 count of each unique value type is simply converted into a binary vector containing 1s and 0s
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1754 corresponding to presence or absence of values before calculating similarity or distance between
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1755 two vectors.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1756
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1757 For two fingerprint vectors A and B of same size containing OrderedNumericalValues, let:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1758
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1759 N = Number values in A or B
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1760
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1761 Xa = Values of vector A
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1762 Xb = Values of vector B
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1763
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1764 Xai = Value of ith element in A
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1765 Xbi = Value of ith element in B
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1766
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1767 SUM = Sum of i over N values
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1768
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1769 For SetTheoreticForm of calculation between two vectors, let:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1770
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1771 SetIntersectionXaXb = SUM ( MIN ( Xai, Xbi ) )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1772 SetDifferenceXaXb = SUM ( Xai ) + SUM ( Xbi ) - SUM ( MIN ( Xai, Xbi ) )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1773
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1774 For BinaryForm of calculation between two vectors, let:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1775
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1776 Na = Number of bits set to "1" in A = SUM ( Xai )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1777 Nb = Number of bits set to "1" in B = SUM ( Xbi )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1778 Nc = Number of bits set to "1" in both A and B = SUM ( Xai * Xbi )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1779 Nd = Number of bits set to "0" in both A and B
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1780 = SUM ( 1 - Xai - Xbi + Xai * Xbi)
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1781
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1782 N = Number of bits set to "1" or "0" in A or B = Size of A or B = Na + Nb - Nc + Nd
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1783
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1784 Additionally, for BinaryForm various values also correspond to:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1785
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1786 Na = | Xa |
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1787 Nb = | Xb |
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1788 Nc = | SetIntersectionXaXb |
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1789 Nd = N - | SetDifferenceXaXb |
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1790
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1791 | SetDifferenceXaXb | = N - Nd = Na + Nb - Nc + Nd - Nd = Na + Nb - Nc
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1792 = | Xa | + | Xb | - | SetIntersectionXaXb |
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1793
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1794 Various similarity and distance coefficients [ Ref 40, Ref 62, Ref 64 ] for a pair of vectors A and B
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1795 in I<AlgebraicForm, BinaryForm and SetTheoreticForm> are defined as follows:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1796
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1797 B<CityBlockDistance>: ( same as HammingDistance and ManhattanDistance)
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1798
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1799 I<AlgebraicForm>: SUM ( ABS ( Xai - Xbi ) )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1800
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1801 I<BinaryForm>: ( Na - Nc ) + ( Nb - Nc ) = Na + Nb - 2 * Nc
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1802
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1803 I<SetTheoreticForm>: | SetDifferenceXaXb | - | SetIntersectionXaXb | = SUM ( Xai ) + SUM ( Xbi ) - 2 * ( SUM ( MIN ( Xai, Xbi ) ) )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1804
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1805 B<CosineSimilarity>: ( same as OchiaiSimilarityCoefficient)
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1806
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1807 I<AlgebraicForm>: SUM ( Xai * Xbi ) / SQRT ( SUM ( Xai ** 2) * SUM ( Xbi ** 2) )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1808
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1809 I<BinaryForm>: Nc / SQRT ( Na * Nb)
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1810
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1811 I<SetTheoreticForm>: | SetIntersectionXaXb | / SQRT ( |Xa| * |Xb| ) = SUM ( MIN ( Xai, Xbi ) ) / SQRT ( SUM ( Xai ) * SUM ( Xbi ) )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1812
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1813 B<CzekanowskiSimilarity>: ( same as DiceSimilarity and SorensonSimilarity)
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1814
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1815 I<AlgebraicForm>: ( 2 * ( SUM ( Xai * Xbi ) ) ) / ( SUM ( Xai ** 2) + SUM ( Xbi **2 ) )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1816
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1817 I<BinaryForm>: 2 * Nc / ( Na + Nb )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1818
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1819 I<SetTheoreticForm>: 2 * | SetIntersectionXaXb | / ( |Xa| + |Xb| ) = 2 * ( SUM ( MIN ( Xai, Xbi ) ) ) / ( SUM ( Xai ) + SUM ( Xbi ) )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1820
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1821 B<DiceSimilarity>: ( same as CzekanowskiSimilarity and SorensonSimilarity)
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1822
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1823 I<AlgebraicForm>: ( 2 * ( SUM ( Xai * Xbi ) ) ) / ( SUM ( Xai ** 2) + SUM ( Xbi **2 ) )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1824
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1825 I<BinaryForm>: 2 * Nc / ( Na + Nb )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1826
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1827 I<SetTheoreticForm>: 2 * | SetIntersectionXaXb | / ( |Xa| + |Xb| ) = 2 * ( SUM ( MIN ( Xai, Xbi ) ) ) / ( SUM ( Xai ) + SUM ( Xbi ) )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1828
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1829 B<EuclideanDistance>:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1830
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1831 I<AlgebraicForm>: SQRT ( SUM ( ( ( Xai - Xbi ) ** 2 ) ) )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1832
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1833 I<BinaryForm>: SQRT ( ( Na - Nc ) + ( Nb - Nc ) ) = SQRT ( Na + Nb - 2 * Nc )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1834
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1835 I<SetTheoreticForm>: SQRT ( | SetDifferenceXaXb | - | SetIntersectionXaXb | ) = SQRT ( SUM ( Xai ) + SUM ( Xbi ) - 2 * ( SUM ( MIN ( Xai, Xbi ) ) ) )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1836
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1837 B<HammingDistance>: ( same as CityBlockDistance and ManhattanDistance)
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1838
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1839 I<AlgebraicForm>: SUM ( ABS ( Xai - Xbi ) )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1840
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1841 I<BinaryForm>: ( Na - Nc ) + ( Nb - Nc ) = Na + Nb - 2 * Nc
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1842
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1843 I<SetTheoreticForm>: | SetDifferenceXaXb | - | SetIntersectionXaXb | = SUM ( Xai ) + SUM ( Xbi ) - 2 * ( SUM ( MIN ( Xai, Xbi ) ) )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1844
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1845 B<JaccardSimilarity>: ( same as TanimotoSimilarity)
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1846
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1847 I<AlgebraicForm>: SUM ( Xai * Xbi ) / ( SUM ( Xai ** 2 ) + SUM ( Xbi ** 2 ) - SUM ( Xai * Xbi ) )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1848
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1849 I<BinaryForm>: Nc / ( ( Na - Nc ) + ( Nb - Nc ) + Nc ) = Nc / ( Na + Nb - Nc )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1850
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1851 I<SetTheoreticForm>: | SetIntersectionXaXb | / | SetDifferenceXaXb | = SUM ( MIN ( Xai, Xbi ) ) / ( SUM ( Xai ) + SUM ( Xbi ) - SUM ( MIN ( Xai, Xbi ) ) )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1852
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1853 B<ManhattanDistance>: ( same as CityBlockDistance and HammingDistance)
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1854
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1855 I<AlgebraicForm>: SUM ( ABS ( Xai - Xbi ) )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1856
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1857 I<BinaryForm>: ( Na - Nc ) + ( Nb - Nc ) = Na + Nb - 2 * Nc
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1858
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1859 I<SetTheoreticForm>: | SetDifferenceXaXb | - | SetIntersectionXaXb | = SUM ( Xai ) + SUM ( Xbi ) - 2 * ( SUM ( MIN ( Xai, Xbi ) ) )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1860
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1861 B<OchiaiSimilarity>: ( same as CosineSimilarity)
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1862
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1863 I<AlgebraicForm>: SUM ( Xai * Xbi ) / SQRT ( SUM ( Xai ** 2) * SUM ( Xbi ** 2) )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1864
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1865 I<BinaryForm>: Nc / SQRT ( Na * Nb)
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1866
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1867 I<SetTheoreticForm>: | SetIntersectionXaXb | / SQRT ( |Xa| * |Xb| ) = SUM ( MIN ( Xai, Xbi ) ) / SQRT ( SUM ( Xai ) * SUM ( Xbi ) )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1868
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1869 B<SorensonSimilarity>: ( same as CzekanowskiSimilarity and DiceSimilarity)
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1870
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1871 I<AlgebraicForm>: ( 2 * ( SUM ( Xai * Xbi ) ) ) / ( SUM ( Xai ** 2) + SUM ( Xbi **2 ) )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1872
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1873 I<BinaryForm>: 2 * Nc / ( Na + Nb )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1874
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1875 I<SetTheoreticForm>: 2 * | SetIntersectionXaXb | / ( |Xa| + |Xb| ) = 2 * ( SUM ( MIN ( Xai, Xbi ) ) ) / ( SUM ( Xai ) + SUM ( Xbi ) )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1876
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1877 B<SoergelDistance>:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1878
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1879 I<AlgebraicForm>: SUM ( ABS ( Xai - Xbi ) ) / SUM ( MAX ( Xai, Xbi ) )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1880
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1881 I<BinaryForm>: 1 - Nc / ( Na + Nb - Nc ) = ( Na + Nb - 2 * Nc ) / ( Na + Nb - Nc )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1882
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1883 I<SetTheoreticForm>: ( | SetDifferenceXaXb | - | SetIntersectionXaXb | ) / | SetDifferenceXaXb | = ( SUM ( Xai ) + SUM ( Xbi ) - 2 * ( SUM ( MIN ( Xai, Xbi ) ) ) ) / ( SUM ( Xai ) + SUM ( Xbi ) - SUM ( MIN ( Xai, Xbi ) ) )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1884
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1885 B<TanimotoSimilarity>: ( same as JaccardSimilarity)
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1886
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1887 I<AlgebraicForm>: SUM ( Xai * Xbi ) / ( SUM ( Xai ** 2 ) + SUM ( Xbi ** 2 ) - SUM ( Xai * Xbi ) )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1888
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1889 I<BinaryForm>: Nc / ( ( Na - Nc ) + ( Nb - Nc ) + Nc ) = Nc / ( Na + Nb - Nc )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1890
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1891 I<SetTheoreticForm>: | SetIntersectionXaXb | / | SetDifferenceXaXb | = SUM ( MIN ( Xai, Xbi ) ) / ( SUM ( Xai ) + SUM ( Xbi ) - SUM ( MIN ( Xai, Xbi ) ) )
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1892
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1893 =item B<--VectorComparisonFormulism> I<All | "AlgebraicForm,[BinaryForm,SetTheoreticForm]">
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1894
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1895 Specify fingerprints vector comparison formulism to use for calculation similarity and distance
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1896 coefficients during B<-v, --VectorComparisonMode>: use all supported comparison formulisms
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1897 or specify a comma delimited. Possible values: I<All | "AlgebraicForm,[BinaryForm,SetTheoreticForm]">.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1898 Default value: I<AlgebraicForm>.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1899
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1900 I<All> uses all three forms of supported vector comparison formulism for values of B<-v, --VectorComparisonMode>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1901 option.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1902
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1903 For fingerprint vector strings containing B<AlphaNumericalValues> data values - B<ExtendedConnectivityFingerprints>,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1904 B<AtomNeighborhoodsFingerprints> and so on - all three formulism result in same value during similarity and distance
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1905 calculations.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1906
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1907 =item B<-w, --WorkingDir> I<DirName>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1908
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1909 Location of working directory. Default: current directory.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1910
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1911 =back
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1912
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1913 =head1 EXAMPLES
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1914
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1915 To generate a similarity matrix corresponding to Tanimoto similarity coefficient for fingerprints
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1916 bit-vector strings data corresponding to supported fingerprints in text file present in a column
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1917 name containing Fingerprint substring by loading all fingerprints data into memory and create a
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1918 SampleFPHexTanimotoSimilarity.csv file containing compound IDs retrieved from column name
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1919 containing CompoundID substring, type:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1920
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1921 % SimilarityMatricesFingerprints.pl -o SampleFPHex.csv
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1922
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1923 To generate a similarity matrix corresponding to Tanimoto similarity coefficient for fingerprints
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1924 bit-vector strings data corresponding to supported fingerprints in SD File present in a data field
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1925 with Fingerprint substring in its label by loading all fingerprints data into memory and create a
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1926 SampleFPHexTanimotoSimilarity.csv file containing sequentially generated compound IDs with
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1927 Cmpd prefix, type:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1928
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1929 % SimilarityMatricesFingerprints.pl -o SampleFPHex.sdf
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1930
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1931 To generate a similarity matrix corresponding to Tanimoto similarity coefficient for fingerprints
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1932 bit-vector strings data corresponding to supported fingerprints in FP file by loading all fingerprints
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1933 data into memory and create a SampleFPHexTanimotoSimilarity.csv file along with compound IDs
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1934 retrieved from FP file, type:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1935
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1936 % SimilarityMatricesFingerprints.pl -o SampleFPHex.fpf
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1937
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1938 To generate a lower triangular similarity matrix corresponding to Tanimoto similarity coefficient for
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1939 fingerprints bit-vector strings data corresponding to supported fingerprints in text file present in a
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1940 column name containing Fingerprint substring by loading all fingerprints data into memory and create
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1941 a SampleFPHexTanimotoSimilarity.csv file containing compound IDs retrieved from column name
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1942 containing CompoundID substring, type:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1943
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1944 % SimilarityMatricesFingerprints.pl -o --InputDataMode LoadInMemory
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1945 --OutMatrixFormat RowsAndColumns --OutMatrixType LowerTriangularMatrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1946 SampleFPHex.csv
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1947
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1948 To generate a upper triangular similarity matrix corresponding to Tanimoto similarity coefficient for
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1949 fingerprints bit-vector strings data corresponding to supported fingerprints in text file present in a
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1950 column name containing Fingerprint substring by loading all fingerprints data into memory and create
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1951 a SampleFPHexTanimotoSimilarity.csv file in IDPairsAndValue format containing compound IDs retrieved
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1952 from column name containing CompoundID substring, type:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1953
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1954 % SimilarityMatricesFingerprints.pl -o --InputDataMode LoadInMemory
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1955 --OutMatrixFormat IDPairsAndValue --OutMatrixType UpperTriangularMatrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1956 SampleFPHex.csv
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1957
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1958 To generate a full similarity matrix corresponding to Tanimoto similarity coefficient for fingerprints
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1959 bit-vector strings data corresponding to supported fingerprints in text file present in a column
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1960 name containing Fingerprint substring by scanning file without loading all fingerprints data into memory
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1961 and create a SampleFPHexTanimotoSimilarity.csv file containing compound IDs retrieved from
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1962 column name containing CompoundID substring, type:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1963
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1964 % SimilarityMatricesFingerprints.pl -o --InputDataMode ScanFile
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1965 --OutMatrixFormat RowsAndColumns --OutMatrixType FullMatrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1966 SampleFPHex.csv
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1967
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1968 To generate a lower triangular similarity matrix corresponding to Tanimoto similarity coefficient for
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1969 fingerprints bit-vector strings data corresponding to supported fingerprints in text file present in a
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1970 column name containing Fingerprint substring by scanning file without loading all fingerprints data into
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1971 memory and create a SampleFPHexTanimotoSimilarity.csv file in IDPairsAndValue format containing
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1972 compound IDs retrieved from column name containing CompoundID substring, type:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1973
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1974 % SimilarityMatricesFingerprints.pl -o --InputDataMode ScanFile
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1975 --OutMatrixFormat IDPairsAndValue --OutMatrixType LowerTriangularMatrix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1976 SampleFPHex.csv
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1977
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1978 To generate a similarity matrix corresponding to Tanimoto similarity coefficient using algebraic formulism
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1979 for fingerprints vector strings data corresponding to supported fingerprints in text file present in a column name
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1980 containing Fingerprint substring and create a SampleFPCountTanimotoSimilarityAlgebraicForm.csv file
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1981 containing compound IDs retrieved from column name containing CompoundID substring, type:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1982
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1983 % SimilarityMatricesFingerprints.pl -o SampleFPCount.csv
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1984
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1985 To generate a similarity matrix corresponding to Tanimoto similarity coefficient using algebraic formulism
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1986 for fingerprints vector strings data corresponding to supported fingerprints in SD file present in a data field with
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1987 Fingerprint substring in its label and create a SampleFPCountTanimotoSimilarityAlgebraicForm.csv file
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1988 containing sequentially generated compound IDs with Cmpd prefix, type:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1989
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1990 % SimilarityMatricesFingerprints.pl -o SampleFPCount.sdf
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1991
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1992 To generate a similarity matrix corresponding to Tanimoto similarity coefficient using algebraic formulism
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1993 vector strings data corresponding to supported fingerprints in FP file and create a
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1994 SampleFPCountTanimotoSimilarityAlgebraicForm.csv file along with compound IDs retrieved from FP file, type:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1995
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1996 % SimilarityMatricesFingerprints.pl -o SampleFPCount.fpf
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1997
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1998 To generate a similarity matrix corresponding to Tanimoto similarity coefficient for fingerprints
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
1999 bit-vector strings data corresponding to supported fingerprints in text file present in a column name
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2000 containing Fingerprint substring and create a SampleFPHexTanimotoSimilarity.csv file in
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2001 IDPairsAndValue format containing compound IDs retrieved from column name containing
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2002 CompoundID substring, type:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2003
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2004 % SimilarityMatricesFingerprints.pl --OutMatrixFormat IDPairsAndValue -o
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2005 SampleFPHex.csv
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2006
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2007 To generate a similarity matrix corresponding to Tanimoto similarity coefficient for fingerprints
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2008 bit-vector strings data corresponding to supported fingerprints in SD file present in a data field with
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2009 Fingerprint substring in its label and create a SampleFPHexTanimotoSimilarity.csv file in
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2010 IDPairsAndValue format containing sequentially generated compound IDs with Cmpd prefix,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2011 type:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2012
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2013 % SimilarityMatricesFingerprints.pl --OutMatrixFormat IDPairsAndValue -o
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2014 SampleFPHex.sdf
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2015
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2016 To generate a similarity matrix corresponding to Tanimoto similarity coefficient for fingerprints
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2017 bit-vector strings data corresponding to supported fingerprints in FP file and create a
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2018 SampleFPHexTanimotoSimilarity.csv file in IDPairsAndValue format along with compound IDs retrieved
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2019 from FP file, type:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2020
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2021 % SimilarityMatricesFingerprints.pl --OutMatrixFormat IDPairsAndValue -o
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2022 SampleFPHex.fpf
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2023
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2024 To generate a similarity matrix corresponding to Tanimoto similarity coefficient for fingerprints
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2025 bit-vector strings data corresponding to supported fingerprints in SD file present in a data field with
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2026 Fingerprint substring in its label and create a SampleFPHexTanimotoSimilarity.csv file
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2027 containing compound IDs from mol name line, type:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2028
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2029 % SimilarityMatricesFingerprints.pl --CompoundIDMode MolName -o
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2030 SampleFPHex.sdf
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2031
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2032 To generate a similarity matrix corresponding to Tanimoto similarity coefficient for fingerprints
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2033 bit-vector strings data corresponding to supported fingerprints present in a data field with
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2034 Fingerprint substring in its label and create a SampleFPHexTanimotoSimilarity.csv file
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2035 containing compound IDs from data field name Mol_ID, type:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2036
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2037 % SimilarityMatricesFingerprints.pl --CompoundIDMode DataField
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2038 --CompoundIDField Mol_ID -o SampleFPBin.sdf
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2039
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2040 To generate similarity matrices corresponding to Buser, Dice and Tanimoto similarity coefficient
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2041 for fingerprints bit-vector strings data corresponding to supported fingerprints present in a column
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2042 name containing Fingerprint substring and create SampleFPBin[CoefficientName]Similarity.csv files
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2043 containing compound IDs retrieved from column name containing CompoundID substring, type:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2044
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2045 % SimilarityMatricesFingerprints.pl -b "BuserSimilarity,DiceSimilarity,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2046 TanimotoSimilarity" -o SampleFPBin.csv
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2047
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2048 To generate similarity matrices corresponding to Buser, Dice and Tanimoto similarity coefficient
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2049 for fingerprints bit-vector strings data corresponding to supported fingerprints present in a data field with
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2050 Fingerprint substring in its label and create SampleFPBin[CoefficientName]Similarity.csv files
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2051 containing sequentially generated compound IDs with Cmpd prefix, type:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2052
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2053 % SimilarityMatricesFingerprints.pl -b "BuserSimilarity,DiceSimilarity,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2054 TanimotoSimilarity" -o SampleFPBin.sdf
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2055
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2056 To generate similarity matrices corresponding to CityBlock distance and Tanimoto similarity coefficients using
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2057 algebraic formulism for fingerprints vector strings data corresponding to supported fingerprints present in
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2058 a column name containing Fingerprint substring and create SampleFPCount[CoefficientName]AlgebraicForm.csv
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2059 files containing compound IDs retrieved from column name containing CompoundID substring, type:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2060
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2061 % SimilarityMatricesFingerprints.pl -v "CityBlockDistance,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2062 TanimotoSimilarity" -o SampleFPCount.csv
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2063
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2064 To generate similarity matrices corresponding to CityBlock distance and Tanimoto similarity coefficients using
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2065 algebraic formulism for fingerprints vector strings data corresponding to supported fingerprints present in
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2066 a data field with Fingerprint substring in its label and create SampleFPCount[CoefficientName]AlgebraicForm.csv
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2067 files containing sequentially generated compound IDs with Cmpd prefix, type:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2068
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2069 % SimilarityMatricesFingerprints.pl -v "CityBlockDistance,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2070 TanimotoSimilarity" -o SampleFPCount.sdf
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2071
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2072 To generate similarity matrices corresponding to CityBlock distance Tanimoto similarity coefficients using
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2073 binary formulism for fingerprints vector strings data corresponding to supported fingerprints present in
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2074 a column name containing Fingerprint substring and create SampleFPCount[CoefficientName]Binary.csv
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2075 files containing compound IDs retrieved from column name containing CompoundID substring, type:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2076
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2077 % SimilarityMatricesFingerprints.pl -v "CityBlockDistance,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2078 TanimotoSimilarity" --VectorComparisonFormulism BinaryForm -o
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2079 SampleFPCount.csv
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2080
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2081 To generate similarity matrices corresponding to CityBlock distance Tanimoto similarity coefficients using
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2082 binary formulism for fingerprints vector strings data corresponding to supported fingerprints present in
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2083 a data field with Fingerprint substring in its label and create SampleFPCount[CoefficientName]Binary.csv
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2084 files containing sequentially generated compound IDs with Cmpd prefix, type:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2085
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2086 % SimilarityMatricesFingerprints.pl -v "CityBlockDistance,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2087 TanimotoSimilarity" --VectorComparisonFormulism BinaryForm -o
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2088 SampleFPCount.sdf
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2089
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2090 To generate similarity matrices corresponding to CityBlock distance Tanimoto similarity coefficients using
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2091 all supported comparison formulisms for fingerprints vector strings data corresponding to supported
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2092 fingerprints present in a column name containing Fingerprint substring and create
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2093 SampleFPCount[CoefficientName][FormulismName].csv files containing compound IDs retrieved from column
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2094 name containing CompoundID substring, type:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2095
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2096 % SimilarityMatricesFingerprints.pl -v "CityBlockDistance,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2097 TanimotoSimilarity" --VectorComparisonFormulism All -o SampleFPCount.csv
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2098
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2099 To generate similarity matrices corresponding to CityBlock distance Tanimoto similarity coefficients using
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2100 all supported comparison formulisms for fingerprints vector strings data corresponding to supported
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2101 fingerprints present in a data field with Fingerprint substring in its label and create
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2102 SampleFPCount[CoefficientName][FormulismName].csv files containing sequentially generated
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2103 compound IDs with Cmpd prefix, type:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2104
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2105 % SimilarityMatricesFingerprints.pl -v "CityBlockDistance,TanimotoSimilarity"
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2106 --VectorComparisonFormulism All -o SampleFPCount.sdf
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2107
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2108 To generate similarity matrices corresponding to all available similarity coefficient for fingerprints
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2109 bit-vector strings data corresponding to supported fingerprints present in a column name
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2110 containing Fingerprint substring and create SampleFPHex[CoefficientName].csv files
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2111 containing compound IDs retrieved from column name containing CompoundID substring, type:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2112
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2113 % SimilarityMatricesFingerprints.pl -m AutoDetect --BitVectorComparisonMode
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2114 All --alpha 0.5 -beta 0.5 -o SampleFPHex.csv
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2115
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2116 To generate similarity matrices corresponding to all available similarity coefficient for fingerprints
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2117 bit-vector strings data corresponding to supported fingerprints present in a data field with Fingerprint
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2118 substring in its label and create SampleFPHex[CoefficientName].csv files containing sequentially
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2119 generated compound IDs with Cmpd prefix, type
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2120
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2121 % SimilarityMatricesFingerprints.pl -m AutoDetect --BitVectorComparisonMode
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2122 All --alpha 0.5 -beta 0.5 -o SampleFPHex.sdf
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2123
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2124 To generate similarity matrices corresponding to all available similarity and distance coefficients using
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2125 all comparison formulism for fingerprints vector strings data corresponding to supported fingerprints
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2126 present in a column name containing Fingerprint substring and create
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2127 SampleFPCount[CoefficientName][FormulismName].csv files containing compound IDs
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2128 retrieved from column name containing CompoundID substring, type:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2129
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2130 % SimilarityMatricesFingerprints.pl -m AutoDetect --VectorComparisonMode
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2131 All --VectorComparisonFormulism All -o SampleFPCount.csv
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2132
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2133 To generate similarity matrices corresponding to all available similarity and distance coefficients using
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2134 all comparison formulism for fingerprints vector strings data corresponding to supported fingerprints
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2135 present in a data field with Fingerprint substring in its label and create
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2136 SampleFPCount[CoefficientName][FormulismName].csv files containing sequentially generated
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2137 compound IDs with Cmpd prefix, type:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2138
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2139 % SimilarityMatricesFingerprints.pl -m AutoDetect --VectorComparisonMode
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2140 All --VectorComparisonFormulism All -o SampleFPCount.sdf
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2141
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2142 To generate a similarity matrix corresponding to Tanimoto similarity coefficient for fingerprints
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2143 bit-vector strings data corresponding to supported fingerprints present in a column number 2
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2144 and create a SampleFPHexTanimotoSimilarity.csv file containing compound IDs retrieved column
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2145 number 1, type:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2146
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2147 % SimilarityMatricesFingerprints.pl --ColMode ColNum --CompoundIDCol 1
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2148 --FingerprintsCol 2 -o SampleFPHex.csv
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2149
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2150 To generate a similarity matrix corresponding to Tanimoto similarity coefficient for fingerprints
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2151 bit-vector strings data corresponding to supported fingerprints present in a data field name
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2152 Fingerprints and create a SampleFPHexTanimotoSimilarity.csv file containing compound IDs
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2153 present in data field name Mol_ID, type:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2154
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2155 % SimilarityMatricesFingerprints.pl --FingerprintsField Fingerprints
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2156 --CompoundIDMode DataField --CompoundIDField Mol_ID -o SampleFPHex.sdf
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2157
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2158 To generate a similarity matrix corresponding to Tversky similarity coefficient for fingerprints
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2159 bit-vector strings data corresponding to supported fingerprints present in a column named Fingerprints
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2160 and create a SampleFPHexTverskySimilarity.tsv file containing compound IDs retrieved column named
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2161 CompoundID, type:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2162
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2163 % SimilarityMatricesFingerprints.pl --BitVectorComparisonMode
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2164 TverskySimilarity --alpha 0.5 --ColMode ColLabel --CompoundIDCol
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2165 CompoundID --FingerprintsCol Fingerprints --OutDelim Tab --quote No
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2166 -o SampleFPHex.csv
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2167
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2168 To generate a similarity matrix corresponding to Tanimoto similarity coefficient for fingerprints
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2169 bit-vector strings data corresponding to supported fingerprints present in a data field
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2170 with Fingerprint substring in its label and create a SampleFPHexTanimotoSimilarity.csv file
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2171 containing compound IDs from molname line or sequentially generated compound IDs
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2172 with Mol prefix, type:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2173
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2174 % SimilarityMatricesFingerprints.pl --CompoundIDMode MolnameOrLabelPrefix
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2175 --CompoundIDPrefix Mol -o SampleFPHex.sdf
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2176
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2177 To generate a similarity matrix corresponding to Tanimoto similarity coefficient for fingerprints
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2178 bit-vector strings data corresponding to supported fingerprints present in a data field with
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2179 Fingerprint substring in its label and create a SampleFPHexTanimotoSimilarity.tsv file
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2180 containing sequentially generated compound IDs with Cmpd prefix, type:
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2181
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2182 % SimilarityMatricesFingerprints.pl -OutDelim Tab --quote No -o SampleFPHex.sdf
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2183
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2184 =head1 AUTHOR
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2185
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2186 Manish Sud <msud@san.rr.com>
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2187
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2188 =head1 SEE ALSO
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2189
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2190 InfoFingerprintsFiles.pl, SimilaritySearchingFingerprints.pl, AtomNeighborhoodsFingerprints.pl,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2191 ExtendedConnectivityFingerprints.pl, MACCSKeysFingerprints.pl, PathLengthFingerprints.pl,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2192 TopologicalAtomPairsFingerprints.pl, TopologicalAtomTorsionsFingerprints.pl,
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2193 TopologicalPharmacophoreAtomPairsFingerprints.pl, TopologicalPharmacophoreAtomTripletsFingerprints.pl
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2194
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2195 =head1 COPYRIGHT
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2196
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2197 Copyright (C) 2015 Manish Sud. All rights reserved.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2198
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2199 This file is part of MayaChemTools.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2200
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2201 MayaChemTools is free software; you can redistribute it and/or modify it under
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2202 the terms of the GNU Lesser General Public License as published by the Free
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2203 Software Foundation; either version 3 of the License, or (at your option)
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2204 any later version.
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2205
73ae111cf86f Uploaded
deepakjadmin
parents:
diff changeset
2206 =cut