annotate bin/TopologicalPharmacophoreAtomPairsFingerprints.pl @ 0:4816e4a8ae95 draft default tip

Uploaded
author deepakjadmin
date Wed, 20 Jan 2016 09:23:18 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1 #!/usr/bin/perl -w
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
3 # $RCSfile: TopologicalPharmacophoreAtomPairsFingerprints.pl,v $
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
4 # $Date: 2015/02/28 20:46:23 $
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
5 # $Revision: 1.36 $
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
6 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
7 # Author: Manish Sud <msud@san.rr.com>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
8 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
9 # Copyright (C) 2015 Manish Sud. All rights reserved.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
10 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
11 # This file is part of MayaChemTools.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
12 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
13 # MayaChemTools is free software; you can redistribute it and/or modify it under
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
14 # the terms of the GNU Lesser General Public License as published by the Free
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
15 # Software Foundation; either version 3 of the License, or (at your option) any
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
16 # later version.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
17 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
18 # MayaChemTools is distributed in the hope that it will be useful, but without
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
19 # any warranty; without even the implied warranty of merchantability of fitness
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
20 # for a particular purpose. See the GNU Lesser General Public License for more
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
21 # details.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
22 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
23 # You should have received a copy of the GNU Lesser General Public License
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
24 # along with MayaChemTools; if not, see <http://www.gnu.org/licenses/> or
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
25 # write to the Free Software Foundation Inc., 59 Temple Place, Suite 330,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
26 # Boston, MA, 02111-1307, USA.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
27 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
28
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
29 use strict;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
30 use FindBin; use lib "$FindBin::Bin/../lib";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
31 use Getopt::Long;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
32 use File::Basename;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
33 use Text::ParseWords;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
34 use Benchmark;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
35 use FileUtil;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
36 use TextUtil;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
37 use SDFileUtil;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
38 use MoleculeFileIO;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
39 use FileIO::FingerprintsSDFileIO;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
40 use FileIO::FingerprintsTextFileIO;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
41 use FileIO::FingerprintsFPFileIO;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
42 use AtomTypes::FunctionalClassAtomTypes;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
43 use Fingerprints::TopologicalPharmacophoreAtomPairsFingerprints;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
44
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
45 my($ScriptName, %Options, $StartTime, $EndTime, $TotalTime);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
46
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
47 # Autoflush STDOUT
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
48 $| = 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
49
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
50 # Starting message...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
51 $ScriptName = basename($0);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
52 print "\n$ScriptName: Starting...\n\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
53 $StartTime = new Benchmark;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
54
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
55 # Get the options and setup script...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
56 SetupScriptUsage();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
57 if ($Options{help} || @ARGV < 1) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
58 die GetUsageFromPod("$FindBin::Bin/$ScriptName");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
59 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
60
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
61 my(@SDFilesList);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
62 @SDFilesList = ExpandFileNames(\@ARGV, "sdf sd");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
63
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
64 # Process options...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
65 print "Processing options...\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
66 my(%OptionsInfo);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
67 ProcessOptions();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
68
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
69 # Setup information about input files...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
70 print "Checking input SD file(s)...\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
71 my(%SDFilesInfo);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
72 RetrieveSDFilesInfo();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
73
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
74 # Process input files..
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
75 my($FileIndex);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
76 if (@SDFilesList > 1) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
77 print "\nProcessing SD files...\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
78 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
79 for $FileIndex (0 .. $#SDFilesList) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
80 if ($SDFilesInfo{FileOkay}[$FileIndex]) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
81 print "\nProcessing file $SDFilesList[$FileIndex]...\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
82 GenerateTopologicalPharmacophoreAtomPairsFingerprints($FileIndex);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
83 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
84 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
85 print "\n$ScriptName:Done...\n\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
86
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
87 $EndTime = new Benchmark;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
88 $TotalTime = timediff ($EndTime, $StartTime);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
89 print "Total time: ", timestr($TotalTime), "\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
90
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
91 ###############################################################################
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
92
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
93 # Generate fingerprints for a SD file...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
94 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
95 sub GenerateTopologicalPharmacophoreAtomPairsFingerprints {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
96 my($FileIndex) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
97 my($CmpdCount, $IgnoredCmpdCount, $SDFile, $MoleculeFileIO, $Molecule, $TopologicalPharmacophoreAtomPairsFingerprints, $NewFPSDFileIO, $NewFPTextFileIO, $NewFPFileIO, $SetupOutputFiles);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
98
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
99 $SDFile = $SDFilesList[$FileIndex];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
100
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
101 ($NewFPSDFileIO, $NewFPTextFileIO, $NewFPFileIO) = (undef) x 3;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
102 $SetupOutputFiles = 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
103
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
104 $MoleculeFileIO = new MoleculeFileIO('Name' => $SDFile);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
105 $MoleculeFileIO->Open();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
106
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
107 $CmpdCount = 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
108 $IgnoredCmpdCount = 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
109
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
110 COMPOUND: while ($Molecule = $MoleculeFileIO->ReadMolecule()) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
111 $CmpdCount++;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
112
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
113 # Filter compound data before calculating fingerprints...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
114 if ($OptionsInfo{Filter}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
115 if (CheckAndFilterCompound($CmpdCount, $Molecule)) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
116 $IgnoredCmpdCount++;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
117 next COMPOUND;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
118 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
119 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
120
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
121 $TopologicalPharmacophoreAtomPairsFingerprints = GenerateMoleculeFingerprints($Molecule);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
122 if (!$TopologicalPharmacophoreAtomPairsFingerprints) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
123 $IgnoredCmpdCount++;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
124 ProcessIgnoredCompound('FingerprintsGenerationFailed', $CmpdCount, $Molecule);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
125 next COMPOUND;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
126 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
127
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
128 if ($SetupOutputFiles) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
129 $SetupOutputFiles = 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
130 SetupFingerprintsLabelValueIDs($TopologicalPharmacophoreAtomPairsFingerprints);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
131 ($NewFPSDFileIO, $NewFPTextFileIO, $NewFPFileIO) = SetupAndOpenOutputFiles($FileIndex);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
132 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
133
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
134 WriteDataToOutputFiles($FileIndex, $CmpdCount, $Molecule, $TopologicalPharmacophoreAtomPairsFingerprints, $NewFPSDFileIO, $NewFPTextFileIO, $NewFPFileIO);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
135 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
136 $MoleculeFileIO->Close();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
137
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
138 if ($NewFPSDFileIO) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
139 $NewFPSDFileIO->Close();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
140 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
141 if ($NewFPTextFileIO) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
142 $NewFPTextFileIO->Close();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
143 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
144 if ($NewFPFileIO) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
145 $NewFPFileIO->Close();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
146 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
147
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
148 WriteFingerprintsGenerationSummaryStatistics($CmpdCount, $IgnoredCmpdCount);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
149 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
150
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
151 # Process compound being ignored due to problems in fingerprints geneation...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
152 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
153 sub ProcessIgnoredCompound {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
154 my($Mode, $CmpdCount, $Molecule) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
155 my($CmpdID, $DataFieldLabelAndValuesRef);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
156
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
157 $DataFieldLabelAndValuesRef = $Molecule->GetDataFieldLabelAndValues();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
158 $CmpdID = SetupCmpdIDForOutputFiles($CmpdCount, $Molecule, $DataFieldLabelAndValuesRef);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
159
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
160 MODE: {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
161 if ($Mode =~ /^ContainsNonElementalData$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
162 warn "\nWarning: Ignoring compound record number $CmpdCount with ID $CmpdID: Compound contains atom data corresponding to non-elemental atom symbol(s)...\n\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
163 next MODE;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
164 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
165
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
166 if ($Mode =~ /^ContainsNoElementalData$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
167 warn "\nWarning: Ignoring compound record number $CmpdCount with ID $CmpdID: Compound contains no atom data...\n\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
168 next MODE;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
169 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
170
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
171 if ($Mode =~ /^FingerprintsGenerationFailed$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
172 warn "\nWarning: Ignoring compound record number $CmpdCount with ID $CmpdID: Fingerprints generation didn't succeed...\n\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
173 next MODE;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
174 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
175 warn "\nWarning: Ignoring compound record number $CmpdCount with ID $CmpdID: Fingerprints generation didn't succeed...\n\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
176 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
177 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
178
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
179 # Check and filter compounds....
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
180 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
181 sub CheckAndFilterCompound {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
182 my($CmpdCount, $Molecule) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
183 my($ElementCount, $NonElementCount);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
184
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
185 ($ElementCount, $NonElementCount) = $Molecule->GetNumOfElementsAndNonElements();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
186
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
187 if ($NonElementCount) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
188 ProcessIgnoredCompound('ContainsNonElementalData', $CmpdCount, $Molecule);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
189 return 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
190 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
191
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
192 if (!$ElementCount) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
193 ProcessIgnoredCompound('ContainsNoElementalData', $CmpdCount, $Molecule);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
194 return 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
195 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
196
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
197 return 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
198 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
199
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
200 # Write out compounds fingerprints generation summary statistics...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
201 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
202 sub WriteFingerprintsGenerationSummaryStatistics {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
203 my($CmpdCount, $IgnoredCmpdCount) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
204 my($ProcessedCmpdCount);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
205
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
206 $ProcessedCmpdCount = $CmpdCount - $IgnoredCmpdCount;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
207
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
208 print "\nNumber of compounds: $CmpdCount\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
209 print "Number of compounds processed successfully during fingerprints generation: $ProcessedCmpdCount\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
210 print "Number of compounds ignored during fingerprints generation: $IgnoredCmpdCount\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
211 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
212
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
213 # Append atom pair value IDs to fingerprint label...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
214 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
215 sub SetupFingerprintsLabelValueIDs {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
216 my($TopologicalPharmacophoreAtomPairsFingerprints) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
217
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
218 if ($OptionsInfo{AtomPairsSetSizeToUse} =~ /^ArbitrarySize$/i ||
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
219 $OptionsInfo{FingerprintsLabelMode} !~ /^FingerprintsLabelWithIDs$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
220 return;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
221 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
222
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
223 $OptionsInfo{FingerprintsLabel} .= "; Value IDs: " . $TopologicalPharmacophoreAtomPairsFingerprints->GetFingerprintsVector->GetValueIDsString();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
224 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
225
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
226 # Open output files...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
227 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
228 sub SetupAndOpenOutputFiles {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
229 my($FileIndex) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
230 my($NewFPSDFile, $NewFPFile, $NewFPTextFile, $NewFPSDFileIO, $NewFPTextFileIO, $NewFPFileIO, %FingerprintsFileIOParams);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
231
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
232 ($NewFPSDFileIO, $NewFPTextFileIO, $NewFPFileIO) = (undef) x 3;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
233
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
234 # Setup common parameters for fingerprints file IO objects...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
235 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
236 %FingerprintsFileIOParams = ('Mode' => 'Write', 'Overwrite' => $OptionsInfo{OverwriteFiles}, 'FingerprintsStringMode' => 'FingerprintsVectorString', 'VectorStringFormat' => $OptionsInfo{VectorStringFormat});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
237
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
238 if ($OptionsInfo{SDOutput}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
239 $NewFPSDFile = $SDFilesInfo{SDOutFileNames}[$FileIndex];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
240 print "Generating SD file $NewFPSDFile...\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
241 $NewFPSDFileIO = new FileIO::FingerprintsSDFileIO('Name' => $NewFPSDFile, %FingerprintsFileIOParams, 'FingerprintsFieldLabel' => $OptionsInfo{FingerprintsLabel});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
242 $NewFPSDFileIO->Open();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
243 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
244
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
245 if ($OptionsInfo{FPOutput}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
246 $NewFPFile = $SDFilesInfo{FPOutFileNames}[$FileIndex];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
247 print "Generating FP file $NewFPFile...\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
248 $NewFPFileIO = new FileIO::FingerprintsFPFileIO('Name' => $NewFPFile, %FingerprintsFileIOParams);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
249 $NewFPFileIO->Open();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
250 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
251
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
252 if ($OptionsInfo{TextOutput}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
253 my($ColLabelsRef);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
254
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
255 $NewFPTextFile = $SDFilesInfo{TextOutFileNames}[$FileIndex];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
256 $ColLabelsRef = SetupFPTextFileCoulmnLabels($FileIndex);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
257
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
258 print "Generating text file $NewFPTextFile...\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
259 $NewFPTextFileIO = new FileIO::FingerprintsTextFileIO('Name' => $NewFPTextFile, %FingerprintsFileIOParams, 'DataColLabels' => $ColLabelsRef, 'OutDelim' => $OptionsInfo{OutDelim}, 'OutQuote' => $OptionsInfo{OutQuote});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
260 $NewFPTextFileIO->Open();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
261 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
262
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
263 return ($NewFPSDFileIO, $NewFPTextFileIO, $NewFPFileIO);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
264 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
265
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
266 # Write fingerpritns and other data to appropriate output files...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
267 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
268 sub WriteDataToOutputFiles {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
269 my($FileIndex, $CmpdCount, $Molecule, $TopologicalPharmacophoreAtomPairsFingerprints, $NewFPSDFileIO, $NewFPTextFileIO, $NewFPFileIO) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
270 my($DataFieldLabelAndValuesRef);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
271
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
272 $DataFieldLabelAndValuesRef = undef;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
273 if ($NewFPTextFileIO || $NewFPFileIO) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
274 $DataFieldLabelAndValuesRef = $Molecule->GetDataFieldLabelAndValues();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
275 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
276
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
277 if ($NewFPSDFileIO) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
278 my($CmpdString);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
279
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
280 $CmpdString = $Molecule->GetInputMoleculeString();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
281 $NewFPSDFileIO->WriteFingerprints($TopologicalPharmacophoreAtomPairsFingerprints, $CmpdString);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
282 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
283
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
284 if ($NewFPTextFileIO) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
285 my($ColValuesRef);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
286
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
287 $ColValuesRef = SetupFPTextFileCoulmnValues($FileIndex, $CmpdCount, $Molecule, $DataFieldLabelAndValuesRef);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
288 $NewFPTextFileIO->WriteFingerprints($TopologicalPharmacophoreAtomPairsFingerprints, $ColValuesRef);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
289 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
290
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
291 if ($NewFPFileIO) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
292 my($CompoundID);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
293
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
294 $CompoundID = SetupCmpdIDForOutputFiles($CmpdCount, $Molecule, $DataFieldLabelAndValuesRef);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
295 $NewFPFileIO->WriteFingerprints($TopologicalPharmacophoreAtomPairsFingerprints, $CompoundID);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
296 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
297 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
298
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
299 # Generate approriate column labels for FPText output file...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
300 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
301 sub SetupFPTextFileCoulmnLabels {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
302 my($FileIndex) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
303 my($Line, @ColLabels);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
304
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
305 @ColLabels = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
306 if ($OptionsInfo{DataFieldsMode} =~ /^All$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
307 push @ColLabels, @{$SDFilesInfo{AllDataFieldsRef}[$FileIndex]};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
308 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
309 elsif ($OptionsInfo{DataFieldsMode} =~ /^Common$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
310 push @ColLabels, @{$SDFilesInfo{CommonDataFieldsRef}[$FileIndex]};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
311 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
312 elsif ($OptionsInfo{DataFieldsMode} =~ /^Specify$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
313 push @ColLabels, @{$OptionsInfo{SpecifiedDataFields}};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
314 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
315 elsif ($OptionsInfo{DataFieldsMode} =~ /^CompoundID$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
316 push @ColLabels, $OptionsInfo{CompoundIDLabel};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
317 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
318 # Add fingerprints label...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
319 push @ColLabels, $OptionsInfo{FingerprintsLabel};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
320
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
321 return \@ColLabels;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
322 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
323
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
324 # Generate column values FPText output file..
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
325 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
326 sub SetupFPTextFileCoulmnValues {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
327 my($FileIndex, $CmpdCount, $Molecule, $DataFieldLabelAndValuesRef) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
328 my(@ColValues);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
329
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
330 @ColValues = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
331 if ($OptionsInfo{DataFieldsMode} =~ /^CompoundID$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
332 push @ColValues, SetupCmpdIDForOutputFiles($CmpdCount, $Molecule, $DataFieldLabelAndValuesRef);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
333 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
334 elsif ($OptionsInfo{DataFieldsMode} =~ /^All$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
335 @ColValues = map { exists $DataFieldLabelAndValuesRef->{$_} ? $DataFieldLabelAndValuesRef->{$_} : ''} @{$SDFilesInfo{AllDataFieldsRef}[$FileIndex]};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
336 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
337 elsif ($OptionsInfo{DataFieldsMode} =~ /^Common$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
338 @ColValues = map { exists $DataFieldLabelAndValuesRef->{$_} ? $DataFieldLabelAndValuesRef->{$_} : ''} @{$SDFilesInfo{CommonDataFieldsRef}[$FileIndex]};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
339 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
340 elsif ($OptionsInfo{DataFieldsMode} =~ /^Specify$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
341 @ColValues = map { exists $DataFieldLabelAndValuesRef->{$_} ? $DataFieldLabelAndValuesRef->{$_} : ''} @{$OptionsInfo{SpecifiedDataFields}};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
342 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
343
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
344 return \@ColValues;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
345 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
346
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
347 # Generate compound ID for FP and FPText output files..
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
348 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
349 sub SetupCmpdIDForOutputFiles {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
350 my($CmpdCount, $Molecule, $DataFieldLabelAndValuesRef) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
351 my($CmpdID);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
352
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
353 $CmpdID = '';
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
354 if ($OptionsInfo{CompoundIDMode} =~ /^MolNameOrLabelPrefix$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
355 my($MolName);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
356 $MolName = $Molecule->GetName();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
357 $CmpdID = $MolName ? $MolName : "$OptionsInfo{CompoundID}${CmpdCount}";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
358 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
359 elsif ($OptionsInfo{CompoundIDMode} =~ /^LabelPrefix$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
360 $CmpdID = "$OptionsInfo{CompoundID}${CmpdCount}";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
361 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
362 elsif ($OptionsInfo{CompoundIDMode} =~ /^DataField$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
363 my($SpecifiedDataField);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
364 $SpecifiedDataField = $OptionsInfo{CompoundID};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
365 $CmpdID = exists $DataFieldLabelAndValuesRef->{$SpecifiedDataField} ? $DataFieldLabelAndValuesRef->{$SpecifiedDataField} : '';
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
366 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
367 elsif ($OptionsInfo{CompoundIDMode} =~ /^MolName$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
368 $CmpdID = $Molecule->GetName();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
369 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
370 return $CmpdID;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
371 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
372
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
373 # Generate fingerprints for molecule...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
374 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
375 sub GenerateMoleculeFingerprints {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
376 my($Molecule) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
377 my($TopologicalPharmacophoreAtomPairsFingerprints);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
378
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
379 if ($OptionsInfo{KeepLargestComponent}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
380 $Molecule->KeepLargestComponent();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
381 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
382 if (!$Molecule->DetectRings()) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
383 return undef;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
384 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
385 $Molecule->SetAromaticityModel($OptionsInfo{AromaticityModel});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
386 $Molecule->DetectAromaticity();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
387
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
388 if ($OptionsInfo{FuzzifyAtomPairsCount}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
389 $TopologicalPharmacophoreAtomPairsFingerprints = new Fingerprints::TopologicalPharmacophoreAtomPairsFingerprints('Molecule' => $Molecule, 'AtomPairsSetSizeToUse' => $OptionsInfo{AtomPairsSetSizeToUse}, 'MinDistance' => $OptionsInfo{MinDistance}, 'MaxDistance' => $OptionsInfo{MaxDistance}, 'AtomTypesToUse' => \@{$OptionsInfo{AtomTypesToUse}}, , 'NormalizationMethodology' => $OptionsInfo{NormalizationMethodology}, , 'ValuesPrecision' => $OptionsInfo{ValuesPrecision}, 'FuzzifyAtomPairsCount' => $OptionsInfo{FuzzifyAtomPairsCount}, 'FuzzificationMode' => $OptionsInfo{FuzzificationMode}, 'FuzzificationMethodology' => $OptionsInfo{FuzzificationMethodology}, 'FuzzFactor' => $OptionsInfo{FuzzFactor});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
390 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
391 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
392 $TopologicalPharmacophoreAtomPairsFingerprints = new Fingerprints::TopologicalPharmacophoreAtomPairsFingerprints('Molecule' => $Molecule, 'AtomPairsSetSizeToUse' => $OptionsInfo{AtomPairsSetSizeToUse}, 'MinDistance' => $OptionsInfo{MinDistance}, 'MaxDistance' => $OptionsInfo{MaxDistance}, 'AtomTypesToUse' => \@{$OptionsInfo{AtomTypesToUse}}, 'NormalizationMethodology' => $OptionsInfo{NormalizationMethodology}, 'ValuesPrecision' => $OptionsInfo{ValuesPrecision});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
393 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
394
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
395 # Set atom types weights...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
396 if ($OptionsInfo{UseAtomTypesWeight}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
397 $TopologicalPharmacophoreAtomPairsFingerprints->SetAtomTypesWeight(%{$OptionsInfo{AtomTypesWeight}});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
398 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
399
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
400 # Generate fingerprints...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
401 $TopologicalPharmacophoreAtomPairsFingerprints->GenerateFingerprints();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
402
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
403 # Make sure fingerprints generation is successful...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
404 if (!$TopologicalPharmacophoreAtomPairsFingerprints->IsFingerprintsGenerationSuccessful()) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
405 return undef;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
406 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
407
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
408 return $TopologicalPharmacophoreAtomPairsFingerprints;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
409 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
410
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
411 # Retrieve information about SD files...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
412 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
413 sub RetrieveSDFilesInfo {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
414 my($SDFile, $Index, $FileDir, $FileExt, $FileName, $OutFileRoot, $TextOutFileExt, $SDOutFileExt, $FPOutFileExt, $NewSDFileName, $NewFPFileName, $NewTextFileName, $CheckDataField, $CollectDataFields, $AllDataFieldsRef, $CommonDataFieldsRef);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
415
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
416 %SDFilesInfo = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
417 @{$SDFilesInfo{FileOkay}} = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
418 @{$SDFilesInfo{OutFileRoot}} = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
419 @{$SDFilesInfo{SDOutFileNames}} = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
420 @{$SDFilesInfo{FPOutFileNames}} = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
421 @{$SDFilesInfo{TextOutFileNames}} = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
422 @{$SDFilesInfo{AllDataFieldsRef}} = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
423 @{$SDFilesInfo{CommonDataFieldsRef}} = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
424
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
425 $CheckDataField = ($OptionsInfo{TextOutput} && ($OptionsInfo{DataFieldsMode} =~ /^CompoundID$/i) && ($OptionsInfo{CompoundIDMode} =~ /^DataField$/i)) ? 1 : 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
426 $CollectDataFields = ($OptionsInfo{TextOutput} && ($OptionsInfo{DataFieldsMode} =~ /^(All|Common)$/i)) ? 1 : 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
427
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
428 FILELIST: for $Index (0 .. $#SDFilesList) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
429 $SDFile = $SDFilesList[$Index];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
430
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
431 $SDFilesInfo{FileOkay}[$Index] = 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
432 $SDFilesInfo{OutFileRoot}[$Index] = '';
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
433 $SDFilesInfo{SDOutFileNames}[$Index] = '';
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
434 $SDFilesInfo{FPOutFileNames}[$Index] = '';
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
435 $SDFilesInfo{TextOutFileNames}[$Index] = '';
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
436
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
437 $SDFile = $SDFilesList[$Index];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
438 if (!(-e $SDFile)) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
439 warn "Warning: Ignoring file $SDFile: It doesn't exist\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
440 next FILELIST;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
441 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
442 if (!CheckFileType($SDFile, "sd sdf")) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
443 warn "Warning: Ignoring file $SDFile: It's not a SD file\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
444 next FILELIST;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
445 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
446
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
447 if ($CheckDataField) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
448 # Make sure data field exists in SD file..
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
449 my($CmpdString, $SpecifiedDataField, @CmpdLines, %DataFieldValues);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
450
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
451 @CmpdLines = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
452 open SDFILE, "$SDFile" or die "Error: Couldn't open $SDFile: $! \n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
453 $CmpdString = ReadCmpdString(\*SDFILE);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
454 close SDFILE;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
455 @CmpdLines = split "\n", $CmpdString;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
456 %DataFieldValues = GetCmpdDataHeaderLabelsAndValues(\@CmpdLines);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
457 $SpecifiedDataField = $OptionsInfo{CompoundID};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
458 if (!exists $DataFieldValues{$SpecifiedDataField}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
459 warn "Warning: Ignoring file $SDFile: Data field value, $SpecifiedDataField, using \"--CompoundID\" option in \"DataField\" \"--CompoundIDMode\" doesn't exist\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
460 next FILELIST;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
461 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
462 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
463
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
464 $AllDataFieldsRef = '';
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
465 $CommonDataFieldsRef = '';
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
466 if ($CollectDataFields) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
467 my($CmpdCount);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
468 open SDFILE, "$SDFile" or die "Error: Couldn't open $SDFile: $! \n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
469 ($CmpdCount, $AllDataFieldsRef, $CommonDataFieldsRef) = GetAllAndCommonCmpdDataHeaderLabels(\*SDFILE);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
470 close SDFILE;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
471 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
472
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
473 # Setup output file names...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
474 $FileDir = ""; $FileName = ""; $FileExt = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
475 ($FileDir, $FileName, $FileExt) = ParseFileName($SDFile);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
476
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
477 $TextOutFileExt = "csv";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
478 if ($Options{outdelim} =~ /^tab$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
479 $TextOutFileExt = "tsv";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
480 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
481 $SDOutFileExt = $FileExt;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
482 $FPOutFileExt = "fpf";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
483
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
484 if ($OptionsInfo{OutFileRoot} && (@SDFilesList == 1)) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
485 my ($RootFileDir, $RootFileName, $RootFileExt) = ParseFileName($OptionsInfo{OutFileRoot});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
486 if ($RootFileName && $RootFileExt) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
487 $FileName = $RootFileName;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
488 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
489 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
490 $FileName = $OptionsInfo{OutFileRoot};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
491 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
492 $OutFileRoot = $FileName;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
493 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
494 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
495 $OutFileRoot = "${FileName}TopologicalPharmacophoreAtomPairsFP";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
496 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
497
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
498 $NewSDFileName = "${OutFileRoot}.${SDOutFileExt}";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
499 $NewFPFileName = "${OutFileRoot}.${FPOutFileExt}";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
500 $NewTextFileName = "${OutFileRoot}.${TextOutFileExt}";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
501
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
502 if ($OptionsInfo{SDOutput}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
503 if ($SDFile =~ /$NewSDFileName/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
504 warn "Warning: Ignoring input file $SDFile: Same output, $NewSDFileName, and input file names.\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
505 print "Specify a different name using \"-r --root\" option or use default name.\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
506 next FILELIST;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
507 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
508 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
509
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
510 if (!$OptionsInfo{OverwriteFiles}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
511 # Check SD and text outout files...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
512 if ($OptionsInfo{SDOutput}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
513 if (-e $NewSDFileName) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
514 warn "Warning: Ignoring file $SDFile: The file $NewSDFileName already exists\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
515 next FILELIST;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
516 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
517 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
518 if ($OptionsInfo{FPOutput}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
519 if (-e $NewFPFileName) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
520 warn "Warning: Ignoring file $SDFile: The file $NewFPFileName already exists\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
521 next FILELIST;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
522 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
523 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
524 if ($OptionsInfo{TextOutput}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
525 if (-e $NewTextFileName) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
526 warn "Warning: Ignoring file $SDFile: The file $NewTextFileName already exists\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
527 next FILELIST;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
528 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
529 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
530 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
531
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
532 $SDFilesInfo{FileOkay}[$Index] = 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
533
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
534 $SDFilesInfo{OutFileRoot}[$Index] = $OutFileRoot;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
535 $SDFilesInfo{SDOutFileNames}[$Index] = $NewSDFileName;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
536 $SDFilesInfo{FPOutFileNames}[$Index] = $NewFPFileName;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
537 $SDFilesInfo{TextOutFileNames}[$Index] = $NewTextFileName;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
538
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
539 $SDFilesInfo{AllDataFieldsRef}[$Index] = $AllDataFieldsRef;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
540 $SDFilesInfo{CommonDataFieldsRef}[$Index] = $CommonDataFieldsRef;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
541 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
542 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
543
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
544 # Process option values...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
545 sub ProcessOptions {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
546 %OptionsInfo = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
547
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
548 ProcessAtomTypesToUseOption();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
549 ProcessAtomTypesWeightOption();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
550
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
551 $OptionsInfo{AromaticityModel} = $Options{aromaticitymodel};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
552
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
553 $OptionsInfo{AtomPairsSetSizeToUse} = $Options{atompairssetsizetouse};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
554
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
555 $OptionsInfo{CompoundIDMode} = $Options{compoundidmode};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
556 $OptionsInfo{CompoundIDLabel} = $Options{compoundidlabel};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
557 $OptionsInfo{DataFieldsMode} = $Options{datafieldsmode};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
558
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
559 my(@SpecifiedDataFields);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
560 @SpecifiedDataFields = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
561
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
562 @{$OptionsInfo{SpecifiedDataFields}} = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
563 $OptionsInfo{CompoundID} = '';
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
564
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
565 if ($Options{datafieldsmode} =~ /^CompoundID$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
566 if ($Options{compoundidmode} =~ /^DataField$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
567 if (!$Options{compoundid}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
568 die "Error: You must specify a value for \"--CompoundID\" option in \"DataField\" \"--CompoundIDMode\". \n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
569 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
570 $OptionsInfo{CompoundID} = $Options{compoundid};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
571 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
572 elsif ($Options{compoundidmode} =~ /^(LabelPrefix|MolNameOrLabelPrefix)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
573 $OptionsInfo{CompoundID} = $Options{compoundid} ? $Options{compoundid} : 'Cmpd';
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
574 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
575 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
576 elsif ($Options{datafieldsmode} =~ /^Specify$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
577 if (!$Options{datafields}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
578 die "Error: You must specify a value for \"--DataFields\" option in \"Specify\" \"-d, --DataFieldsMode\". \n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
579 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
580 @SpecifiedDataFields = split /\,/, $Options{datafields};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
581 push @{$OptionsInfo{SpecifiedDataFields}}, @SpecifiedDataFields;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
582 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
583
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
584 $OptionsInfo{Filter} = ($Options{filter} =~ /^Yes$/i) ? 1 : 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
585
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
586 $OptionsInfo{FingerprintsLabelMode} = $Options{fingerprintslabelmode};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
587 $OptionsInfo{FingerprintsLabel} = $Options{fingerprintslabel} ? $Options{fingerprintslabel} : 'TopologicalPharmacophoreAtomPairsFingerprints';
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
588
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
589 $OptionsInfo{FuzzifyAtomPairsCount} = ($Options{fuzzifyatompairscount} =~ /^Yes$/i) ? 1 : 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
590 $OptionsInfo{FuzzificationMode} = $Options{fuzzificationmode};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
591 $OptionsInfo{FuzzificationMethodology} = $Options{fuzzificationmethodology};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
592 $OptionsInfo{FuzzFactor} = $Options{fuzzfactor};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
593
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
594 $OptionsInfo{KeepLargestComponent} = ($Options{keeplargestcomponent} =~ /^Yes$/i) ? 1 : 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
595
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
596 $OptionsInfo{MinDistance} = $Options{mindistance};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
597 $OptionsInfo{MaxDistance} = $Options{maxdistance};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
598
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
599 $OptionsInfo{NormalizationMethodology} = $Options{normalizationmethodology};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
600
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
601 $OptionsInfo{Output} = $Options{output};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
602 $OptionsInfo{SDOutput} = ($Options{output} =~ /^(SD|All)$/i) ? 1 : 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
603 $OptionsInfo{FPOutput} = ($Options{output} =~ /^(FP|All)$/i) ? 1 : 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
604 $OptionsInfo{TextOutput} = ($Options{output} =~ /^(Text|All)$/i) ? 1 : 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
605
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
606 $OptionsInfo{OutDelim} = $Options{outdelim};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
607 $OptionsInfo{OutQuote} = ($Options{quote} =~ /^Yes$/i) ? 1 : 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
608
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
609 $OptionsInfo{OverwriteFiles} = $Options{overwrite} ? 1 : 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
610 $OptionsInfo{OutFileRoot} = $Options{root} ? $Options{root} : 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
611
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
612 $OptionsInfo{ValuesPrecision} = $Options{valuesprecision};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
613
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
614 # Setup default vector string format...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
615 my($VectorStringFormat);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
616 $VectorStringFormat = '';
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
617
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
618 if ($Options{vectorstringformat}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
619 $VectorStringFormat = $Options{vectorstringformat};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
620
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
621 if ($Options{atompairssetsizetouse} =~ /^ArbitrarySize$/i && $VectorStringFormat =~ /^ValuesString$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
622 die "Error: The value specified, $Options{vectorstringformat}, for option \"-v, --VectorStringFormat\" is not valid for $Options{atompairssetsizetouse} value of \"--AtomPairsSetSizeToUse\" option. Allowed values: IDsAndValuesString, IDsAndValuesPairsString, ValuesAndIDsString or ValuesAndIDsPairsString\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
623 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
624 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
625 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
626 $VectorStringFormat = ($Options{atompairssetsizetouse} =~ /^FixedSize$/) ? "ValuesString" : "IDsAndValuesString";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
627 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
628 $OptionsInfo{VectorStringFormat} = $VectorStringFormat;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
629 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
630
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
631 # Process atom type to use option...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
632 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
633 sub ProcessAtomTypesToUseOption {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
634 my($AtomType, $SpecifiedAtomTypesToUse, @AtomTypesWords);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
635
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
636 @{$OptionsInfo{AtomTypesToUse}} = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
637 if (IsEmpty($Options{atomtypestouse})) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
638 die "Error: Atom types value specified using \"-a, --AtomTypesToUse\" option is empty\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
639 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
640
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
641 $SpecifiedAtomTypesToUse = $Options{atomtypestouse};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
642 $SpecifiedAtomTypesToUse =~ s/ //g;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
643 @AtomTypesWords = split /\,/, $SpecifiedAtomTypesToUse;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
644
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
645 for $AtomType (@AtomTypesWords) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
646 if (!AtomTypes::FunctionalClassAtomTypes::IsFunctionalClassAvailable($AtomType)) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
647 die "Error: Atomic type specified, $AtomType, using \"-a, --AtomTypesToUse\" option is not valid...\n ";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
648 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
649 push @{$OptionsInfo{AtomTypesToUse}}, $AtomType;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
650 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
651 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
652
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
653 # Process atom types weight option...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
654 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
655 sub ProcessAtomTypesWeightOption {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
656 my($Index, $AtomType, $AtomTypeWeight, $SpecifiedAtomTypesWeight, @AtomTypesWeightsPairs);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
657
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
658 %{$OptionsInfo{AtomTypesWeight}} = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
659
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
660 if (IsEmpty($Options{atomtypesweight})) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
661 die "Error: Atom types weight value specified using \"--AtomTypesWeight\" option is empty\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
662 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
663 $OptionsInfo{UseAtomTypesWeight} = ($Options{atomtypesweight} =~ /^None$/i) ? 0 : 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
664 if (!$OptionsInfo{UseAtomTypesWeight}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
665 return;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
666 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
667
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
668 # Process specified atom type/weight pairs...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
669 $SpecifiedAtomTypesWeight = $Options{atomtypesweight};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
670 $SpecifiedAtomTypesWeight =~ s/ //g;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
671 @AtomTypesWeightsPairs = split /\,/, $SpecifiedAtomTypesWeight;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
672
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
673 if (@AtomTypesWeightsPairs % 2) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
674 die "Error: Invalid number of values specified using \"--AtomTypesWeight\" option: It must contain even number of values.\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
675 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
676
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
677 for ($Index = 0; $Index < @AtomTypesWeightsPairs; $Index += 2) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
678 $AtomType = $AtomTypesWeightsPairs[$Index]; $AtomTypeWeight = $AtomTypesWeightsPairs[$Index + 1];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
679 if (!AtomTypes::FunctionalClassAtomTypes::IsFunctionalClassAvailable($AtomType)) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
680 die "Error: Atom type specified, $AtomType, using \"--AtomTypesWeight\" option is not valid\n ";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
681 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
682 if (!(IsFloat($AtomTypeWeight) && $AtomTypeWeight >= 0)) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
683 die "Error: Atom type weight specified, $AtomTypeWeight, using option \"--AtomTypesWeight\" is not valid. Allowed values: real numbers >= 0 \n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
684 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
685 $OptionsInfo{AtomTypesWeight}{$AtomType} = $AtomTypeWeight;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
686 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
687 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
688
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
689 # Setup script usage and retrieve command line arguments specified using various options...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
690 sub SetupScriptUsage {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
691
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
692 # Retrieve all the options...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
693 %Options = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
694
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
695 $Options{aromaticitymodel} = 'MayaChemToolsAromaticityModel';
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
696
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
697 $Options{atompairssetsizetouse} = 'ArbitrarySize';
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
698
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
699 $Options{atomtypestouse} = 'HBD,HBA,PI,NI,H';
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
700 $Options{atomtypesweight} = 'None';
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
701
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
702 $Options{compoundidmode} = 'LabelPrefix';
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
703 $Options{compoundidlabel} = 'CompoundID';
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
704 $Options{datafieldsmode} = 'CompoundID';
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
705
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
706 $Options{filter} = 'Yes';
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
707
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
708 $Options{fingerprintslabelmode} = 'FingerprintsLabelOnly';
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
709
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
710 $Options{fuzzifyatompairscount} = 'No';
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
711 $Options{fuzzificationmode} = 'AfterNormalization';
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
712 $Options{fuzzificationmethodology} = 'FuzzyBinning';
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
713 $Options{fuzzfactor} = 0.15;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
714
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
715 $Options{keeplargestcomponent} = 'Yes';
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
716
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
717 $Options{mindistance} = 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
718 $Options{maxdistance} = 10;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
719
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
720 $Options{normalizationmethodology} = 'None';
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
721
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
722 $Options{output} = 'text';
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
723 $Options{outdelim} = 'comma';
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
724 $Options{quote} = 'yes';
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
725
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
726 $Options{valuesprecision} = 2;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
727
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
728 $Options{vectorstringformat} = '';
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
729
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
730 if (!GetOptions(\%Options, "aromaticitymodel=s", "atompairssetsizetouse=s", "atomtypestouse|a=s", "atomtypesweight=s", "compoundid=s", "compoundidlabel=s", "compoundidmode=s", "datafields=s", "datafieldsmode|d=s", "filter|f=s", "fingerprintslabelmode=s", "fingerprintslabel=s", "fuzzifyatompairscount=s", "fuzzificationmode=s", "fuzzificationmethodology=s", "fuzzfactor=s", "help|h", "keeplargestcomponent|k=s", "mindistance=s", "maxdistance=s", "normalizationmethodology|n=s", "outdelim=s", "output=s", "overwrite|o", "quote|q=s", "root|r=s", "valuesprecision=s", "vectorstringformat|v=s", "workingdir|w=s")) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
731 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";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
732 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
733 if ($Options{workingdir}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
734 if (! -d $Options{workingdir}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
735 die "Error: The value specified, $Options{workingdir}, for option \"-w --workingdir\" is not a directory name.\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
736 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
737 chdir $Options{workingdir} or die "Error: Couldn't chdir $Options{workingdir}: $! \n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
738 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
739 if (!Molecule::IsSupportedAromaticityModel($Options{aromaticitymodel})) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
740 my(@SupportedModels) = Molecule::GetSupportedAromaticityModels();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
741 die "Error: The value specified, $Options{aromaticitymodel}, for option \"--AromaticityModel\" is not valid. Supported aromaticity models in current release of MayaChemTools: @SupportedModels\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
742 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
743 if ($Options{atompairssetsizetouse} !~ /^(ArbitrarySize|FixedSize)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
744 die "Error: The value specified, $Options{atompairssetsizetouse}, for option \"--AtomPairsSetSizeToUse\" is not valid. Allowed values: ArbitrarySize or FixedSize\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
745 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
746 if ($Options{compoundidmode} !~ /^(DataField|MolName|LabelPrefix|MolNameOrLabelPrefix)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
747 die "Error: The value specified, $Options{compoundidmode}, for option \"--CompoundIDMode\" is not valid. Allowed values: DataField, MolName, LabelPrefix or MolNameOrLabelPrefix\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
748 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
749 if ($Options{datafieldsmode} !~ /^(All|Common|Specify|CompoundID)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
750 die "Error: The value specified, $Options{datafieldsmode}, for option \"-d, --DataFieldsMode\" is not valid. Allowed values: All, Common, Specify or CompoundID\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
751 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
752 if ($Options{filter} !~ /^(Yes|No)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
753 die "Error: The value specified, $Options{filter}, for option \"-f, --Filter\" is not valid. Allowed values: Yes or No\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
754 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
755 if ($Options{fingerprintslabelmode} !~ /^(FingerprintsLabelOnly|FingerprintsLabelWithIDs)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
756 die "Error: The value specified, $Options{fingerprintslabelmode}, for option \"--FingerprintsLabelMode\" is not valid. Allowed values: FingerprintsLabelOnly or FingerprintsLabelWithIDs\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
757 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
758 if ($Options{fuzzifyatompairscount} !~ /^(Yes|No)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
759 die "Error: The value specified, $Options{fuzzifyatompairscount}, for option \"--FuzzifyAtomPairsCount\" is not valid. Allowed values: Yes or No\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
760 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
761 if ($Options{fuzzificationmode} !~ /^(BeforeNormalization|AfterNormalization)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
762 die "Error: The value specified, $Options{fuzzificationmode}, for option \"--FuzzificationMode\" is not valid. Allowed values: BeforeNormalization or AfterNormalization\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
763 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
764 if ($Options{fuzzificationmethodology} !~ /^(FuzzyBinning|FuzzyBinSmoothing)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
765 die "Error: The value specified, $Options{fuzzificationmethodology}, for option \"--FuzzificationMethodology\" is not valid. Allowed values: FuzzyBinning or FuzzyBinSmoothing\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
766 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
767 if (!IsFloat($Options{fuzzfactor})) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
768 die "Error: The value specified, $Options{fuzzfactor}, for option \"--FuzzFactor\" is not valid. Allowed values: real numbers >= 0 \n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
769 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
770 if ($Options{fuzzificationmethodology} !~ /^FuzzyBinning$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
771 if (!($Options{fuzzfactor} >=0 && $Options{fuzzfactor} <= 1.0)) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
772 die "Error: The value specified, $Options{fuzzfactor}, for option \"--FuzzFactor\" during FuzzyBinning \"--FuzzificationMethodology\" is not valid. Allowed values: >= 0 and <= 1 \n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
773 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
774 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
775 elsif ($Options{fuzzificationmethodology} !~ /^FuzzyBinSmoothing$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
776 if (!($Options{fuzzfactor} >=0 && $Options{fuzzfactor} <= 0.5)) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
777 die "Error: The value specified, $Options{fuzzfactor}, for option \"--FuzzFactor\" during FuzzyBinSmoothing \"--FuzzificationMethodology\" is not valid. Allowed values: >= 0 and <= 0.5 \n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
778 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
779 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
780 if ($Options{keeplargestcomponent} !~ /^(Yes|No)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
781 die "Error: The value specified, $Options{keeplargestcomponent}, for option \"-k, --KeepLargestComponent\" is not valid. Allowed values: Yes or No\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
782 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
783 if (!IsInteger($Options{mindistance})) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
784 die "Error: The value specified, $Options{mindistance}, for option \"--MinDistance\" is not valid. Allowed values: >= 0 \n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
785 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
786 if (!IsPositiveInteger($Options{maxdistance})) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
787 die "Error: The value specified, $Options{maxdistance}, for option \"--MaxDistance\" is not valid. Allowed values: > 0 \n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
788 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
789 if ($Options{mindistance} > $Options{maxdistance}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
790 die "Error: The value specified, specified, $Options{mindistance}, for option \"--MinDistance\" must be less than the value specified, $Options{maxdistance}, for option \"--MaxDistance\" \n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
791 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
792 if ($Options{normalizationmethodology} !~ /^(None|ByHeavyAtomsCount|ByAtomTypesCount)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
793 die "Error: The value specified, $Options{normalizationmethodology}, for option \"--NormalizationMethodology\" is not valid. Allowed values: None, ByHeavyAtomsCount, or ByAtomTypesCount\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
794 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
795 if ($Options{output} !~ /^(SD|FP|text|all)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
796 die "Error: The value specified, $Options{output}, for option \"--output\" is not valid. Allowed values: SD, FP, text, or all\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
797 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
798 if ($Options{outdelim} !~ /^(comma|semicolon|tab)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
799 die "Error: The value specified, $Options{outdelim}, for option \"--outdelim\" is not valid. Allowed values: comma, tab, or semicolon\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
800 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
801 if ($Options{quote} !~ /^(Yes|No)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
802 die "Error: The value specified, $Options{quote}, for option \"-q --quote\" is not valid. Allowed values: Yes or No\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
803 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
804 if ($Options{outdelim} =~ /semicolon/i && $Options{quote} =~ /^No$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
805 die "Error: The value specified, $Options{quote}, for option \"-q --quote\" is not allowed with, semicolon value of \"--outdelim\" option: Fingerprints string use semicolon as delimiter for various data fields and must be quoted.\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
806 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
807 if (!IsPositiveInteger($Options{valuesprecision})) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
808 die "Error: The value specified, $Options{valuesprecision}, for option \"--ValuesPrecision\" is not valid. Allowed values: > 0 \n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
809 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
810 if ($Options{vectorstringformat} && $Options{vectorstringformat} !~ /^(ValuesString|IDsAndValuesString|IDsAndValuesPairsString|ValuesAndIDsString|ValuesAndIDsPairsString)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
811 die "Error: The value specified, $Options{vectorstringformat}, for option \"-v, --VectorStringFormat\" is not valid. Allowed values: ValuesString, IDsAndValuesString, IDsAndValuesPairsString, ValuesAndIDsString or ValuesAndIDsPairsString\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
812 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
813 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
814
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
815 __END__
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
816
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
817 =head1 NAME
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
818
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
819 TopologicalPharmacophoreAtomPairsFingerprints.pl - Generate topological pharmacophore atom pairs fingerprints for SD files
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
820
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
821 =head1 SYNOPSIS
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
822
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
823 TopologicalPharmacophoreAtomPairsFingerprints.pl SDFile(s)...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
824
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
825 TopologicalPharmacophoreAtomPairsFingerprints.pl [B<--AromaticityModel> I<AromaticityModelType>]
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
826 [B<--AtomPairsSetSizeToUse> I<ArbitrarySize | FixedSize>]
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
827 [B<-a, --AtomTypesToUse> I<"AtomType1, AtomType2...">]
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
828 [B<--AtomTypesWeight> I<"AtomType1, Weight1, AtomType2, Weight2...">]
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
829 [B<--CompoundID> I<DataFieldName or LabelPrefixString>] [B<--CompoundIDLabel> I<text>]
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
830 [B<--CompoundIDMode>] [B<--DataFields> I<"FieldLabel1, FieldLabel2,...">]
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
831 [B<-d, --DataFieldsMode> I<All | Common | Specify | CompoundID>] [B<-f, --Filter> I<Yes | No>]
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
832 [B<--FingerprintsLabelMode> I<FingerprintsLabelOnly | FingerprintsLabelWithIDs>] [B<--FingerprintsLabel> I<text>]
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
833 [B<--FuzzifyAtomPairsCount> I<Yes | No>] [B<--FuzzificationMode> I<FuzzyBinning | FuzzyBinSmoothing>]
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
834 [B<--FuzzificationMethodology> I<FuzzyBinning | FuzzyBinSmoothing>] [B<--FuzzFactor> I<number>]
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
835 [B<-h, --help>] [B<-k, --KeepLargestComponent> I<Yes | No>] [B<--MinDistance> I<number>]
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
836 [B<--MaxDistance> I<number>] [B<-n, --NormalizationMethodology> I<None | ByHeavyAtomsCount | ByAtomTypesCount>]
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
837 [B<--OutDelim> I<comma | tab | semicolon>] [B<--output> I<SD | FP | text | all>] [B<-o, --overwrite>]
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
838 [B<-q, --quote> I<Yes | No>] [B<-r, --root> I<RootName>] [B<--ValuesPrecision> I<number>]
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
839 [B<-v, --VectorStringFormat> I<ValuesString, IDsAndValuesString | IDsAndValuesPairsString | ValuesAndIDsString | ValuesAndIDsPairsString>]
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
840 [B<-w, --WorkingDir> dirname] SDFile(s)...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
841
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
842 =head1 DESCRIPTION
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
843
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
844 Generate topological pharmacophore atom pairs fingerprints [ Ref 60-62, Ref 65, Ref 68 ] for
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
845 I<SDFile(s)> and create appropriate SD, FP or CSV/TSV text file(s) containing fingerprints vector
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
846 strings corresponding to molecular fingerprints.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
847
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
848 Multiple SDFile names are separated by spaces. The valid file extensions are I<.sdf>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
849 and I<.sd>. All other file names are ignored. All the SD files in a current directory
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
850 can be specified either by I<*.sdf> or the current directory name.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
851
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
852 Based on the values specified for B<--AtomTypesToUse>, pharmacophore atom types are
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
853 assigned to all non-hydrogen atoms in a molecule and a distance matrix is generated.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
854 A pharmacophore atom pairs basis set is initialized for all unique possible pairs within
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
855 B<--MinDistance> and B<--MaxDistance> range.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
856
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
857 Let:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
858
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
859 P = Valid pharmacophore atom type
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
860
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
861 Px = Pharmacophore atom type x
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
862 Py = Pharmacophore atom type y
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
863
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
864 Dmin = Minimum distance corresponding to number of bonds between
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
865 two atoms
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
866 Dmax = Maximum distance corresponding to number of bonds between
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
867 two atoms
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
868 D = Distance corresponding to number of bonds between two atoms
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
869
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
870 Px-Dn-Py = Pharmacophore atom pair ID for atom types Px and Py at
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
871 distance Dn
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
872
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
873 P = Number of pharmacophore atom types to consider
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
874 PPDn = Number of possible unique pharmacophore atom pairs at a distance Dn
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
875
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
876 PPT = Total number of possible pharmacophore atom pairs at all distances
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
877 between Dmin and Dmax
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
878
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
879 Then:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
880
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
881 PPD = (P * (P - 1))/2 + P
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
882
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
883 PPT = ((Dmax - Dmin) + 1) * ((P * (P - 1))/2 + P)
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
884 = ((Dmax - Dmin) + 1) * PPD
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
885
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
886 So for default values of Dmin = 1, Dmax = 10 and P = 5,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
887
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
888 PPD = (5 * (5 - 1))/2 + 5 = 15
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
889 PPT = ((10 - 1) + 1) * 15 = 150
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
890
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
891 The pharmacophore atom pairs bais set includes 150 values.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
892
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
893 The atom pair IDs correspond to:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
894
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
895 Px-Dn-Py = Pharmacophore atom pair ID for atom types Px and Py at
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
896 distance Dn
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
897
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
898 For example: H-D1-H, H-D2-HBA, PI-D5-PI and so on
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
899
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
900 Using distance matrix and pharmacohore atom types, occurrence of unique pharmacohore atom
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
901 pairs is counted. The contribution of each atom type to atom pair interaction is optionally
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
902 weighted by specified B<--AtomTypesWeight> before assigning its count to appropriate distance
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
903 bin. Based on B<--NormalizationMethodology> option, pharmacophore atom pairs count is optionally
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
904 normalized. Additionally, pharmacohore atom pairs count is optionally fuzzified before or after
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
905 the normalization controlled by values of B<--FuzzifyAtomPairsCount>, B<--FuzzificationMode>,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
906 B<--FuzzificationMethodology> and B<--FuzzFactor> options.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
907
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
908 The final pharmacophore atom pairs count along with atom pair identifiers involving all non-hydrogen
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
909 atoms, with optional normalization and fuzzification, constitute pharmacophore topological atom pairs
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
910 fingerprints of the molecule.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
911
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
912 For I<ArbitrarySize> value of B<--AtomPairsSetSizeToUse> option, the fingerprint vector correspond to
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
913 only those topological pharmacophore atom pairs which are present and have non-zero count. However,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
914 for I<FixedSize> value of B<--AtomPairsSetSizeToUse> option, the fingerprint vector contains all possible
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
915 valid topological pharmacophore atom pairs with both zero and non-zero count values.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
916
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
917 Example of I<SD> file containing topological pharmacophore atom pairs fingerprints string data:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
918
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
919 ... ...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
920 ... ...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
921 $$$$
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
922 ... ...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
923 ... ...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
924 ... ...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
925 41 44 0 0 0 0 0 0 0 0999 V2000
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
926 -3.3652 1.4499 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
927 ... ...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
928 2 3 1 0 0 0 0
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
929 ... ...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
930 M END
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
931 > <CmpdID>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
932 Cmpd1
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
933
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
934 > <TopologicalPharmacophoreAtomPairsFingerprints>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
935 FingerprintsVector;TopologicalPharmacophoreAtomPairs:ArbitrarySize:Min
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
936 Distance1:MaxDistance10;54;NumericalValues;IDsAndValuesString;H-D1-H H
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
937 -D1-NI HBA-D1-NI HBD-D1-NI H-D2-H H-D2-HBA H-D2-HBD HBA-D2-HBA HBA-D2-
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
938 HBD H-D3-H H-D3-HBA H-D3-HBD H-D3-NI HBA-D3-NI HBD-D3-NI H-D4-H H-D...;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
939 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 3
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
940 4 1 37 10 8 1 35 10 9 3 3 1 28 7 7 4 18 16 12 5 1 2 1
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
941
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
942 $$$$
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
943 ... ...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
944 ... ...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
945
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
946 Example of I<FP> file containing topological pharmacophore atom pairs fingerprints string data:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
947
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
948 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
949 # Package = MayaChemTools 7.4
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
950 # Release Date = Oct 21, 2010
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
951 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
952 # TimeStamp = Fri Mar 11 15:32:48 2011
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
953 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
954 # FingerprintsStringType = FingerprintsVector
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
955 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
956 # Description = TopologicalPharmacophoreAtomPairs:ArbitrarySize:MinDistance1:MaxDistance10
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
957 # VectorStringFormat = IDsAndValuesString
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
958 # VectorValuesType = NumericalValues
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
959 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
960 Cmpd1 54;H-D1-H H-D1-NI HBA-D1-NI HBD-D1-NI H-D2-H H-D2-HBA...;18 1 2...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
961 Cmpd2 61;H-D1-H H-D1-NI HBA-D1-NI HBD-D1-NI H-D2-H H-D2-HBA...;5 1 2 ...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
962 ... ...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
963 ... ..
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
964
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
965 Example of CSV I<Text> file containing topological pharmacophore atom pairs fingerprints string data:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
966
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
967 "CompoundID","TopologicalPharmacophoreAtomPairsFingerprints"
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
968 "Cmpd1","FingerprintsVector;TopologicalPharmacophoreAtomPairs:Arbitrary
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
969 Size:MinDistance1:MaxDistance10;54;NumericalValues;IDsAndValuesString;H
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
970 -D1-H H-D1-NI HBA-D1-NI HBD-D1-NI H-D2-H H-D2-HBA H-D2-HBD HBA-D2-HBA H
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
971 BA-D2-HBD H-D3-H H-D3-HBA H-D3-HBD H-D3-NI HBA-D3-NI HBD-D3-NI H-D4...;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
972 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 3
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
973 4 1 37 10 8 1 35 10 9 3 3 1 28 7 7 4 18 16 12 5 1 2 1"
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
974 ... ...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
975 ... ...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
976
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
977 The current release of MayaChemTools generates the following types of topological pharmacophore
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
978 atom pairs fingerprints vector strings:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
979
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
980 FingerprintsVector;TopologicalPharmacophoreAtomPairs:ArbitrarySize:Min
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
981 Distance1:MaxDistance10;54;NumericalValues;IDsAndValuesString;H-D1-H H
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
982 -D1-NI HBA-D1-NI HBD-D1-NI H-D2-H H-D2-HBA H-D2-HBD HBA-D2-HBA HBA-D2-
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
983 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
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
984 BA H-D4-HBD HBA-D4-HBA HBA-D4-HBD HBD-D4-HBD H-D5-H H-D5-HBA H-D5-...;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
985 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
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
986 3 4 1 37 10 8 1 35 10 9 3 3 1 28 7 7 4 18 16 12 5 1 2 1
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
987
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
988 FingerprintsVector;TopologicalPharmacophoreAtomPairs:FixedSize:MinDist
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
989 ance1:MaxDistance10;150;OrderedNumericalValues;ValuesString;18 0 0 1 0
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
990 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
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
991 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
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
992 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
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
993 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...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
994
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
995 FingerprintsVector;TopologicalPharmacophoreAtomPairs:FixedSize:MinDist
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
996 ance1:MaxDistance10;150;OrderedNumericalValues;IDsAndValuesString;H-D1
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
997 -H H-D1-HBA H-D1-HBD H-D1-NI H-D1-PI HBA-D1-HBA HBA-D1-HBD HBA-D1-NI H
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
998 BA-D1-PI HBD-D1-HBD HBD-D1-NI HBD-D1-PI NI-D1-NI NI-D1-PI PI-D1-PI H-D
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
999 2-H H-D2-HBA H-D2-HBD H-D2-NI H-D2-PI HBA-D2-HBA HBA-D2-HBD HBA-D2...;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1000 18 0 0 1 0 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
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1001 1 0 0 0 1 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
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1002 1 0 0 1 0 0 0 0 36 16 10 0 0 3 4 0 0 1 0 0 0 0
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1003
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1004
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1005 =head1 OPTIONS
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1006
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1007 =over 4
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1008
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1009 =item B<--AromaticityModel> I<MDLAromaticityModel | TriposAromaticityModel | MMFFAromaticityModel | ChemAxonBasicAromaticityModel | ChemAxonGeneralAromaticityModel | DaylightAromaticityModel | MayaChemToolsAromaticityModel>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1010
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1011 Specify aromaticity model to use during detection of aromaticity. Possible values in the current
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1012 release are: I<MDLAromaticityModel, TriposAromaticityModel, MMFFAromaticityModel,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1013 ChemAxonBasicAromaticityModel, ChemAxonGeneralAromaticityModel, DaylightAromaticityModel
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1014 or MayaChemToolsAromaticityModel>. Default value: I<MayaChemToolsAromaticityModel>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1015
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1016 The supported aromaticity model names along with model specific control parameters
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1017 are defined in B<AromaticityModelsData.csv>, which is distributed with the current release
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1018 and is available under B<lib/data> directory. B<Molecule.pm> module retrieves data from
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1019 this file during class instantiation and makes it available to method B<DetectAromaticity>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1020 for detecting aromaticity corresponding to a specific model.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1021
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1022 =item B<--AtomPairsSetSizeToUse> I<ArbitrarySize | FixedSize>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1023
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1024 Atom pairs set size to use during generation of topological pharmacophore atom pairs
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1025 fingerprints.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1026
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1027 Possible values: I<ArbitrarySize | FixedSize>; Default value: I<ArbitrarySize>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1028
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1029 For I<ArbitrarySize> value of B<--AtomPairsSetSizeToUse> option, the fingerprint vector
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1030 correspond to only those topological pharmacophore atom pairs which are present and
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1031 have non-zero count. However, for I<FixedSize> value of B<--AtomPairsSetSizeToUse>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1032 option, the fingerprint vector contains all possible valid topological pharmacophore atom
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1033 pairs with both zero and non-zero count values.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1034
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1035 =item B<-a, --AtomTypesToUse> I<"AtomType1,AtomType2,...">
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1036
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1037 Pharmacophore atom types to use during generation of topological phramacophore
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1038 atom pairs. It's a list of comma separated valid pharmacophore atom types.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1039
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1040 Possible values for pharmacophore atom types are: I<Ar, CA, H, HBA, HBD, Hal, NI, PI, RA>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1041 Default value [ Ref 60-62 ] : I<HBD,HBA,PI,NI,H>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1042
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1043 The pharmacophore atom types abbreviations correspond to:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1044
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1045 HBD: HydrogenBondDonor
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1046 HBA: HydrogenBondAcceptor
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1047 PI : PositivelyIonizable
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1048 NI : NegativelyIonizable
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1049 Ar : Aromatic
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1050 Hal : Halogen
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1051 H : Hydrophobic
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1052 RA : RingAtom
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1053 CA : ChainAtom
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1054
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1055 I<AtomTypes::FunctionalClassAtomTypes> module is used to assign pharmacophore atom
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1056 types. It uses following definitions [ Ref 60-61, Ref 65-66 ]:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1057
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1058 HydrogenBondDonor: NH, NH2, OH
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1059 HydrogenBondAcceptor: N[!H], O
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1060 PositivelyIonizable: +, NH2
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1061 NegativelyIonizable: -, C(=O)OH, S(=O)OH, P(=O)OH
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1062
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1063 =item B<--AtomTypesWeight> I<"AtomType1,Weight1,AtomType2,Weight2...">
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1064
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1065 Weights of specified pharmacophore atom types to use during calculation of their contribution
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1066 to atom pair count. Default value: I<None>. Valid values: real numbers greater than 0. In general
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1067 it's comma delimited list of valid atom type and its weight.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1068
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1069 The weight values allow to increase the importance of specific pharmacophore atom type
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1070 in the generated fingerprints. A weight value of 0 for an atom type eliminates its contribution to
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1071 atom pair count where as weight value of 2 doubles its contribution.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1072
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1073 =item B<--CompoundID> I<DataFieldName or LabelPrefixString>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1074
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1075 This value is B<--CompoundIDMode> specific and indicates how compound ID is generated.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1076
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1077 For I<DataField> value of B<--CompoundIDMode> option, it corresponds to datafield label name
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1078 whose value is used as compound ID; otherwise, it's a prefix string used for generating compound
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1079 IDs like LabelPrefixString<Number>. Default value, I<Cmpd>, generates compound IDs which
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1080 look like Cmpd<Number>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1081
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1082 Examples for I<DataField> value of B<--CompoundIDMode>:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1083
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1084 MolID
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1085 ExtReg
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1086
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1087 Examples for I<LabelPrefix> or I<MolNameOrLabelPrefix> value of B<--CompoundIDMode>:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1088
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1089 Compound
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1090
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1091 The value specified above generates compound IDs which correspond to Compound<Number>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1092 instead of default value of Cmpd<Number>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1093
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1094 =item B<--CompoundIDLabel> I<text>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1095
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1096 Specify compound ID column label for CSV/TSV text file(s) used during I<CompoundID> value
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1097 of B<--DataFieldsMode> option. Default value: I<CompoundID>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1098
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1099 =item B<--CompoundIDMode> I<DataField | MolName | LabelPrefix | MolNameOrLabelPrefix>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1100
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1101 Specify how to generate compound IDs and write to FP or CSV/TSV text file(s) along with generated
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1102 fingerprints for I<FP | text | all> values of B<--output> option: use a I<SDFile(s)> datafield value;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1103 use molname line from I<SDFile(s)>; generate a sequential ID with specific prefix; use combination
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1104 of both MolName and LabelPrefix with usage of LabelPrefix values for empty molname lines.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1105
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1106 Possible values: I<DataField | MolName | LabelPrefix | MolNameOrLabelPrefix>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1107 Default value: I<LabelPrefix>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1108
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1109 For I<MolNameAndLabelPrefix> value of B<--CompoundIDMode>, molname line in I<SDFile(s)> takes
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1110 precedence over sequential compound IDs generated using I<LabelPrefix> and only empty molname
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1111 values are replaced with sequential compound IDs.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1112
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1113 This is only used for I<CompoundID> value of B<--DataFieldsMode> option.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1114
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1115 =item B<--DataFields> I<"FieldLabel1,FieldLabel2,...">
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1116
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1117 Comma delimited list of I<SDFiles(s)> data fields to extract and write to CSV/TSV text file(s) along
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1118 with generated fingerprints for I<text | all> values of B<--output> option.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1119
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1120 This is only used for I<Specify> value of B<--DataFieldsMode> option.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1121
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1122 Examples:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1123
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1124 Extreg
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1125 MolID,CompoundName
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1126
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1127 =item B<-d, --DataFieldsMode> I<All | Common | Specify | CompoundID>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1128
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1129 Specify how data fields in I<SDFile(s)> are transferred to output CSV/TSV text file(s) along
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1130 with generated fingerprints for I<text | all> values of B<--output> option: transfer all SD
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1131 data field; transfer SD data files common to all compounds; extract specified data fields;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1132 generate a compound ID using molname line, a compound prefix, or a combination of both.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1133 Possible values: I<All | Common | specify | CompoundID>. Default value: I<CompoundID>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1134
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1135 =item B<-f, --Filter> I<Yes | No>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1136
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1137 Specify whether to check and filter compound data in SDFile(s). Possible values: I<Yes or No>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1138 Default value: I<Yes>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1139
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1140 By default, compound data is checked before calculating fingerprints and compounds containing
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1141 atom data corresponding to non-element symbols or no atom data are ignored.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1142
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1143 =item B<--FingerprintsLabelMode> I<FingerprintsLabelOnly | FingerprintsLabelWithIDs>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1144
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1145 Specify how fingerprints label is generated in conjunction with B<--FingerprintsLabel> option value:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1146 use fingerprints label generated only by B<--FingerprintsLabel> option value or append topological
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1147 atom pair count value IDs to B<--FingerprintsLabel> option value.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1148
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1149 Possible values: I<FingerprintsLabelOnly | FingerprintsLabelWithIDs>. Default value:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1150 I<FingerprintsLabelOnly>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1151
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1152 Topological atom pairs IDs appended to B<--FingerprintsLabel> value during I<FingerprintsLabelWithIDs>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1153 values of B<--FingerprintsLabelMode> correspond to atom pair count values in fingerprint vector string.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1154
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1155 I<FingerprintsLabelWithIDs> value of B<--FingerprintsLabelMode> is ignored during I<ArbitrarySize> value
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1156 of B<--AtomPairsSetSizeToUse> option and topological atom pairs IDs not appended to the label.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1157
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1158 =item B<--FingerprintsLabel> I<text>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1159
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1160 SD data label or text file column label to use for fingerprints string in output SD or
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1161 CSV/TSV text file(s) specified by B<--output>. Default value: I<TopologicalPharmacophoreAtomPairsFingerprints>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1162
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1163 =item B<--FuzzifyAtomPairsCount> I<Yes | No>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1164
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1165 To fuzzify or not to fuzzify atom pairs count. Possible values: I<Yes or No>. Default value:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1166 I<No>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1167
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1168 =item B<--FuzzificationMode> I<BeforeNormalization | AfterNormalization>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1169
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1170 When to fuzzify atom pairs count. Possible values: I<BeforeNormalization | AfterNormalizationYes>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1171 Default value: I<AfterNormalization>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1172
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1173 =item B<--FuzzificationMethodology> I<FuzzyBinning | FuzzyBinSmoothing>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1174
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1175 How to fuzzify atom pairs count. Possible values: I<FuzzyBinning | FuzzyBinSmoothing>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1176 Default value: I<FuzzyBinning>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1177
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1178 In conjunction with values for options B<--FuzzifyAtomPairsCount>, B<--FuzzificationMode> and
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1179 B<--FuzzFactor>, B<--FuzzificationMethodology> option is used to fuzzify pharmacophore atom
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1180 pairs count.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1181
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1182 Let:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1183
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1184 Px = Pharmacophore atom type x
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1185 Py = Pharmacophore atom type y
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1186 PPxy = Pharmacophore atom pair between atom type Px and Py
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1187
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1188 PPxyDn = Pharmacophore atom pairs count between atom type Px and Py
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1189 at distance Dn
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1190 PPxyDn-1 = Pharmacophore atom pairs count between atom type Px and Py
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1191 at distance Dn - 1
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1192 PPxyDn+1 = Pharmacophore atom pairs count between atom type Px and Py
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1193 at distance Dn + 1
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1194
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1195 FF = FuzzFactor for FuzzyBinning and FuzzyBinSmoothing
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1196
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1197 Then:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1198
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1199 For I<FuzzyBinning>:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1200
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1201 PPxyDn = PPxyDn (Unchanged)
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1202
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1203 PPxyDn-1 = PPxyDn-1 + PPxyDn * FF
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1204 PPxyDn+1 = PPxyDn+1 + PPxyDn * FF
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1205
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1206 For I<FuzzyBinSmoothing>:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1207
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1208 PPxyDn = PPxyDn - PPxyDn * 2FF for Dmin < Dn < Dmax
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1209 PPxyDn = PPxyDn - PPxyDn * FF for Dn = Dmin or Dmax
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1210
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1211 PPxyDn-1 = PPxyDn-1 + PPxyDn * FF
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1212 PPxyDn+1 = PPxyDn+1 + PPxyDn * FF
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1213
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1214 In both fuzzification schemes, a value of 0 for FF implies no fuzzification of occurrence counts.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1215 A value of 1 during I<FuzzyBinning> corresponds to maximum fuzzification of occurrence counts;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1216 however, a value of 1 during I<FuzzyBinSmoothing> ends up completely distributing the value over
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1217 the previous and next distance bins.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1218
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1219 So for default value of B<--FuzzFactor> (FF) 0.15, the occurrence count of pharmacohore atom pairs
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1220 at distance Dn during FuzzyBinning is left unchanged and the counts at distances Dn -1 and Dn + 1
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1221 are incremented by PPxyDn * 0.15.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1222
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1223 And during I<FuzzyBinSmoothing> the occurrence counts at Distance Dn is scaled back using multiplicative
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1224 factor of (1 - 2*0.15) and the occurrence counts at distances Dn -1 and Dn + 1 are incremented by
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1225 PPxyDn * 0.15. In otherwords, occurrence bin count is smoothed out by distributing it over the
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1226 previous and next distance value.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1227
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1228 =item B<--FuzzFactor> I<number>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1229
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1230 Specify by how much to fuzzify atom pairs count. Default value: I<0.15>. Valid values: For
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1231 I<FuzzyBinning> value of B<--FuzzificationMethodology> option: I<between 0 and 1.0>; For
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1232 I<FuzzyBinSmoothing> value of B<--FuzzificationMethodology> option: I<between 0 and 0.5>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1233
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1234 =item B<-h, --help>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1235
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1236 Print this help message.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1237
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1238 =item B<-k, --KeepLargestComponent> I<Yes | No>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1239
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1240 Generate fingerprints for only the largest component in molecule. Possible values:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1241 I<Yes or No>. Default value: I<Yes>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1242
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1243 For molecules containing multiple connected components, fingerprints can be generated
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1244 in two different ways: use all connected components or just the largest connected
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1245 component. By default, all atoms except for the largest connected component are
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1246 deleted before generation of fingerprints.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1247
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1248 =item B<--MinDistance> I<number>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1249
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1250 Minimum bond distance between atom pairs for generating topological pharmacophore atom
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1251 pairs. Default value: I<1>. Valid values: positive integers including 0 and less than B<--MaxDistance>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1252
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1253 =item B<--MaxDistance> I<number>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1254
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1255 Maximum bond distance between atom pairs for generating topological pharmacophore atom
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1256 pairs. Default value: I<10>. Valid values: positive integers and greater than B<--MinDistance>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1257
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1258 =item B<-n, --NormalizationMethodology> I<None | ByHeavyAtomsCount | ByAtomTypesCount>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1259
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1260 Normalization methodology to use for scaling the occurrence count of pharmacophore atom
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1261 pairs within specified distance range. Possible values: I<None, ByHeavyAtomsCount or
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1262 ByAtomTypesCount>. Default value: I<None>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1263
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1264 =item B<--OutDelim> I<comma | tab | semicolon>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1265
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1266 Delimiter for output CSV/TSV text file(s). Possible values: I<comma, tab, or semicolon>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1267 Default value: I<comma>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1268
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1269 =item B<--output> I<SD | FP | text | all>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1270
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1271 Type of output files to generate. Possible values: I<SD, FP, text, or all>. Default value: I<text>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1272
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1273 =item B<-o, --overwrite>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1274
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1275 Overwrite existing files.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1276
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1277 =item B<-q, --quote> I<Yes | No>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1278
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1279 Put quote around column values in output CSV/TSV text file(s). Possible values:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1280 I<Yes or No>. Default value: I<Yes>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1281
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1282 =item B<-r, --root> I<RootName>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1283
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1284 New file name is generated using the root: <Root>.<Ext>. Default for new file names:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1285 <SDFileName><TopologicalPharmacophoreAtomPairsFP>.<Ext>. The file type determines <Ext> value.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1286 The sdf, fpf, csv, and tsv <Ext> values are used for SD, FP, comma/semicolon, and tab
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1287 delimited text files, respectively.This option is ignored for multiple input files.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1288
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1289 =item B<--ValuesPrecision> I<number>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1290
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1291 Precision of atom pairs count real values which might be generated after normalization
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1292 or fuzzification. Default value: up to I<2> decimal places. Valid values: positive integers.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1293
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1294 =item B<-v, --VectorStringFormat> I<ValuesString, IDsAndValuesString | IDsAndValuesPairsString | ValuesAndIDsString | ValuesAndIDsPairsString>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1295
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1296 Format of fingerprints vector string data in output SD, FP or CSV/TSV text file(s) specified by
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1297 B<--output> option. Possible values: I<ValuesString, IDsAndValuesString | IDsAndValuesPairsString
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1298 | ValuesAndIDsString | ValuesAndIDsPairsString>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1299
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1300 Default value during I<FixedSize> value of B<--AtomPairsSetSizeToUse> option: I<ValuesString>. Default
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1301 value during I<ArbitrarySize> value of B<--AtomPairsSetSizeToUse> option: I<IDsAndValuesString>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1302
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1303 I<ValuesString> option value is not allowed for I<ArbitrarySize> value of B<--AtomPairsSetSizeToUse>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1304 option.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1305
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1306 Examples:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1307
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1308 FingerprintsVector;TopologicalPharmacophoreAtomPairs:ArbitrarySize:Min
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1309 Distance1:MaxDistance10;54;NumericalValues;IDsAndValuesString;H-D1-H H
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1310 -D1-NI HBA-D1-NI HBD-D1-NI H-D2-H H-D2-HBA H-D2-HBD HBA-D2-HBA HBA-D2-
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1311 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
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1312 BA H-D4-HBD HBA-D4-HBA HBA-D4-HBD HBD-D4-HBD H-D5-H H-D5-HBA H-D5-...;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1313 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
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1314 3 4 1 37 10 8 1 35 10 9 3 3 1 28 7 7 4 18 16 12 5 1 2 1
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1315
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1316 FingerprintsVector;TopologicalPharmacophoreAtomPairs:FixedSize:MinDist
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1317 ance1:MaxDistance10;150;OrderedNumericalValues;ValuesString;18 0 0 1 0
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1318 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
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1319 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
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1320 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
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1321 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...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1322
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1323 FingerprintsVector;TopologicalPharmacophoreAtomPairs:FixedSize:MinDist
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1324 ance1:MaxDistance10;150;OrderedNumericalValues;IDsAndValuesString;H-D1
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1325 -H H-D1-HBA H-D1-HBD H-D1-NI H-D1-PI HBA-D1-HBA HBA-D1-HBD HBA-D1-NI H
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1326 BA-D1-PI HBD-D1-HBD HBD-D1-NI HBD-D1-PI NI-D1-NI NI-D1-PI PI-D1-PI H-D
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1327 2-H H-D2-HBA H-D2-HBD H-D2-NI H-D2-PI HBA-D2-HBA HBA-D2-HBD HBA-D2...;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1328 18 0 0 1 0 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
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1329 1 0 0 0 1 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
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1330 1 0 0 1 0 0 0 0 36 16 10 0 0 3 4 0 0 1 0 0 0 0
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1331
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1332 =item B<-w, --WorkingDir> I<DirName>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1333
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1334 Location of working directory. Default value: current directory.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1335
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1336 =back
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1337
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1338 =head1 EXAMPLES
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1339
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1340 To generate topological pharmacophore atom pairs fingerprints of arbitrary size corresponding to distances
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1341 from 1 through 10 using default atom types with no weighting, normalization, and fuzzification
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1342 of atom pairs count and create a SampleTPAPFP.csv file containing sequential compound IDs along
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1343 with fingerprints vector strings data in ValuesString format, type:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1344
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1345 % TopologicalPharmacophoreAtomPairsFingerprints.pl -r SampleTPAPFP
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1346 -o Sample.sdf
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1347
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1348 To generate topological pharmacophore atom pairs fingerprints of fixed size corresponding to distances
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1349 from 1 through 10 using default atom types with no weighting, normalization, and fuzzification
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1350 of atom pairs count and create a SampleTPAPFP.csv file containing sequential compound IDs along
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1351 with fingerprints vector strings data in ValuesString format, type:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1352
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1353 % TopologicalPharmacophoreAtomPairsFingerprints.pl
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1354 --AtomPairsSetSizeToUse FixedSize -r SampleTPAPFP-o Sample.sdf
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1355
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1356 To generate topological pharmacophore atom pairs fingerprints of arbitrary size corresponding to distances
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1357 from 1 through 10 using default atom types with no weighting, normalization, and fuzzification
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1358 of atom pairs count and create SampleTPAPFP.sdf, SampleTPAPFP.fpf and SampleTPAPFP.csv files containing
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1359 sequential compound IDs in CSV file along with fingerprints vector strings data in ValuesString
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1360 format, type:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1361
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1362 % TopologicalPharmacophoreAtomPairsFingerprints.pl --output all
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1363 -r SampleTPAPFP -o Sample.sdf
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1364
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1365 To generate topological pharmacophore atom pairs fingerprints of arbitrary size corresponding to distances
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1366 from 1 through 10 using default atom types with no weighting, normalization, and fuzzification
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1367 of atom pairs count and create a SampleTPAPFP.csv file containing sequential compound IDs along
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1368 with fingerprints vector strings data in IDsAndValuesPairsString format, type:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1369
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1370 % TopologicalPharmacophoreAtomPairsFingerprints.pl --VectorStringFormat
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1371 IDsAndValuesPairsString -r SampleTPAPFP -o Sample.sdf
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1372
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1373 To generate topological pharmacophore atom pairs fingerprints of arbitrary size corresponding to distances
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1374 from 1 through 6 using default atom types with no weighting, normalization, and fuzzification
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1375 of atom pairs count and create a SampleTPAPFP.csv file containing sequential compound IDs along
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1376 with fingerprints vector strings data in ValuesString format, type:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1377
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1378 % TopologicalPharmacophoreAtomPairsFingerprints.pl --MinDistance 1
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1379 -MaxDistance 6 -r SampleTPAPFP -o Sample.sdf
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1380
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1381 To generate topological pharmacophore atom pairs fingerprints of arbitrary size corresponding to distances
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1382 from 1 through 10 using "HBD,HBA,PI,NI" atom types with double the weighting for "HBD,HBA" and
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1383 normalization by HeavyAtomCount but no fuzzification of atom pairs count and create a
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1384 SampleTPAPFP.csv file containing sequential compound IDs along with fingerprints vector strings
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1385 data in ValuesString format, type:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1386
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1387 % TopologicalPharmacophoreAtomPairsFingerprints.pl --MinDistance 1
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1388 -MaxDistance 10 --AtomTypesToUse "HBD,HBA,PI, NI" --AtomTypesWeight
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1389 "HBD,2,HBA,2,PI,1,NI,1" --NormalizationMethodology ByHeavyAtomsCount
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1390 --FuzzifyAtomPairsCount No -r SampleTPAPFP -o Sample.sdf
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1391
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1392 To generate topological pharmacophore atom pairs fingerprints of arbitrary size corresponding to
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1393 distances from 1 through 10 using "HBD,HBA,PI,NI,H" atom types with no weighting of atom types and
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1394 normalization but with fuzzification of atom pairs count using FuzzyBinning methodology
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1395 with FuzzFactor value 0.15 and create a SampleTPAPFP.csv file containing sequential compound
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1396 IDs along with fingerprints vector strings data in ValuesString format, type:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1397
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1398 % TopologicalPharmacophoreAtomPairsFingerprints.pl --MinDistance 1
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1399 --MaxDistance 10 --AtomTypesToUse "HBD,HBA,PI, NI,H" --AtomTypesWeight
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1400 "HBD,1,HBA,1,PI,1,NI,1,H,1" --NormalizationMethodology None
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1401 --FuzzifyAtomPairsCount Yes --FuzzificationMethodology FuzzyBinning
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1402 --FuzzFactor 0.5 -r SampleTPAPFP -o Sample.sdf
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1403
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1404 To generate topological pharmacophore atom pairs fingerprints of arbitrary size corresponding to distances
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1405 distances from 1 through 10 using default atom types with no weighting,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1406 normalization, and fuzzification of atom pairs count and create a SampleTPAPFP.csv
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1407 file containing compound ID from molecule name line along with fingerprints vector strings
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1408 data, type:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1409
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1410 % TopologicalPharmacophoreAtomPairsFingerprints.pl --DataFieldsMode
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1411 CompoundID -CompoundIDMode MolName -r SampleTPAPFP -o Sample.sdf
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1412
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1413 To generate topological pharmacophore atom pairs fingerprints of arbitrary size corresponding
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1414 to distances from 1 through 10 using default atom types with no weighting,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1415 normalization, and fuzzification of atom pairs count and create a SampleTPAPFP.csv
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1416 file containing compound IDs using specified data field along with fingerprints vector strings
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1417 data, type:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1418
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1419 % TopologicalPharmacophoreAtomPairsFingerprints.pl --DataFieldsMode
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1420 CompoundID -CompoundIDMode DataField --CompoundID Mol_ID
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1421 -r SampleTPAPFP -o Sample.sdf
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1422
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1423 To generate topological pharmacophore atom pairs fingerprints of arbitrary size corresponding
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1424 to distances from 1 through 10 using default atom types with no weighting,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1425 normalization, and fuzzification of atom pairs count and create a SampleTPAPFP.csv
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1426 file containing compound ID using combination of molecule name line and an explicit compound
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1427 prefix along with fingerprints vector strings data, type:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1428
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1429 % TopologicalPharmacophoreAtomPairsFingerprints.pl --DataFieldsMode
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1430 CompoundID -CompoundIDMode MolnameOrLabelPrefix
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1431 --CompoundID Cmpd --CompoundIDLabel MolID -r SampleTPAPFP -o Sample.sdf
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1432
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1433 To generate topological pharmacophore atom pairs fingerprints of arbitrary size corresponding
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1434 to distances from 1 through 10 using default atom types with no weighting,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1435 normalization, and fuzzification of atom pairs count and create a SampleTPAPFP.csv
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1436 file containing specific data fields columns along with fingerprints vector strings
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1437 data, type:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1438
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1439 % TopologicalPharmacophoreAtomPairsFingerprints.pl --DataFieldsMode
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1440 Specify --DataFields Mol_ID -r SampleTPAPFP -o Sample.sdf
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1441
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1442 To generate topological pharmacophore atom pairs fingerprints of arbitrary size corresponding
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1443 to distances from 1 through 10 using default atom types with no weighting,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1444 normalization, and fuzzification of atom pairs count and create a SampleTPAPFP.csv
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1445 file containing common data fields columns along with fingerprints vector strings
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1446 data, type:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1447
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1448 % TopologicalPharmacophoreAtomPairsFingerprints.pl --DataFieldsMode
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1449 Common -r SampleTPAPFP -o Sample.sdf
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1450
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1451 To generate topological pharmacophore atom pairs fingerprints of arbitrary size corresponding
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1452 to distances from 1 through 10 using default atom types with no weighting,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1453 normalization, and fuzzification of atom pairs count and create SampleTPAPFP.sdf, SampleTPAPFP.fpf,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1454 and SampleTPAPFP.csv files containing all data fields columns in CSV file along with fingerprints
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1455 data, type:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1456
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1457 % TopologicalPharmacophoreAtomPairsFingerprints.pl --DataFieldsMode
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1458 All --output all -r SampleTPAPFP -o Sample.sdf
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1459
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1460
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1461 =head1 AUTHOR
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1462
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1463 Manish Sud <msud@san.rr.com>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1464
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1465 =head1 SEE ALSO
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1466
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1467 InfoFingerprintsFiles.pl, SimilarityMatricesFingerprints.pl, AtomNeighborhoodsFingerprints.pl,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1468 ExtendedConnectivityFingerprints.pl, MACCSKeysFingerprints.pl, PathLengthFingerprints.pl,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1469 TopologicalAtomPairsFingerprints.pl, TopologicalAtomTorsionsFingerprints.pl,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1470 TopologicalPharmacophoreAtomTripletsFingerprints.pl
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1471
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1472 =head1 COPYRIGHT
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1473
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1474 Copyright (C) 2015 Manish Sud. All rights reserved.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1475
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1476 This file is part of MayaChemTools.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1477
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1478 MayaChemTools is free software; you can redistribute it and/or modify it under
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1479 the terms of the GNU Lesser General Public License as published by the Free
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1480 Software Foundation; either version 3 of the License, or (at your option)
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1481 any later version.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1482
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1483 =cut