0
|
1 <html>
|
|
2 <head>
|
|
3 <title>MayaChemTools:Documentation:MoleculeFileIO.pm</title>
|
|
4 <meta http-equiv="content-type" content="text/html;charset=utf-8">
|
|
5 <link rel="stylesheet" type="text/css" href="../../css/MayaChemTools.css">
|
|
6 </head>
|
|
7 <body leftmargin="20" rightmargin="20" topmargin="10" bottommargin="10">
|
|
8 <br/>
|
|
9 <center>
|
|
10 <a href="http://www.mayachemtools.org" title="MayaChemTools Home"><img src="../../images/MayaChemToolsLogo.gif" border="0" alt="MayaChemTools"></a>
|
|
11 </center>
|
|
12 <br/>
|
|
13 <div class="DocNav">
|
|
14 <table width="100%" border=0 cellpadding=0 cellspacing=2>
|
|
15 <tr align="left" valign="top"><td width="33%" align="left"><a href="./Molecule.html" title="Molecule.html">Previous</a> <a href="./index.html" title="Table of Contents">TOC</a> <a href="./NucleicAcids.html" title="NucleicAcids.html">Next</a></td><td width="34%" align="middle"><strong>MoleculeFileIO.pm</strong></td><td width="33%" align="right"><a href="././code/MoleculeFileIO.html" title="View source code">Code</a> | <a href="./../pdf/MoleculeFileIO.pdf" title="PDF US Letter Size">PDF</a> | <a href="./../pdfgreen/MoleculeFileIO.pdf" title="PDF US Letter Size with narrow margins: www.changethemargins.com">PDFGreen</a> | <a href="./../pdfa4/MoleculeFileIO.pdf" title="PDF A4 Size">PDFA4</a> | <a href="./../pdfa4green/MoleculeFileIO.pdf" title="PDF A4 Size with narrow margins: www.changethemargins.com">PDFA4Green</a></td></tr>
|
|
16 </table>
|
|
17 </div>
|
|
18 <p>
|
|
19 </p>
|
|
20 <h2>NAME</h2>
|
|
21 <p>MoleculeFileIO</p>
|
|
22 <p>
|
|
23 </p>
|
|
24 <h2>SYNOPSIS</h2>
|
|
25 <p>use MoleculeFileIO;</p>
|
|
26 <p>use MoleculeFileIO qw(:all);</p>
|
|
27 <p>
|
|
28 </p>
|
|
29 <h2>DESCRIPTION</h2>
|
|
30 <p><strong>MoleculeFileIO</strong> class provides the following methods:</p>
|
|
31 <p> <a href="#new">new</a>, <a href="#close">Close</a>, <a href="#issupportedmoleculefileformat">IsSupportedMoleculeFileFormat</a>, <a href="#open">Open</a>, <a href="#readmolecule">ReadMolecule</a>
|
|
32 , <a href="#readmoleculestring">ReadMoleculeString</a>, <a href="#writemolecule">WriteMolecule</a>
|
|
33 </p><p>The following methods can also be used as functions:</p>
|
|
34 <p>IsSupportedMoleculeFileFormat</p>
|
|
35 <p>
|
|
36 </p>
|
|
37 <h2>METHODS</h2>
|
|
38 <dl>
|
|
39 <dt><strong><a name="new" class="item"><strong>new</strong></a></strong></dt>
|
|
40 <dd>
|
|
41 <div class="OptionsBox">
|
|
42 $NewMoleculeFileIO = new MoleculeFileIO([%PropertyNameAndValues]);</div>
|
|
43 <p>Using specified <em>MoleculeFileIO</em> property names and values hash, <strong>new</strong> method
|
|
44 creates a new object and returns a reference to newly created <strong>MoleculeFileIO</strong> object.
|
|
45 By default, following properties are initialized:</p>
|
|
46 <div class="OptionsBox">
|
|
47 Name = ""
|
|
48 <br/> Mode = ""
|
|
49 <br/> FileIORef = ""</div>
|
|
50 <p>Based on extension of specified file <em>Name</em>, an input class is automatically associated to
|
|
51 provide molecule read and write methods.</p>
|
|
52 <p>Examples:</p>
|
|
53 <div class="OptionsBox">
|
|
54 $Name = "Water.mol";
|
|
55 <br/> $Mode = "Read";
|
|
56 <br/> $MoleculeFileIO = new MoleculeFileIO('Name' => $Name,
|
|
57 'Mode' => $Mode);
|
|
58 <br/> $MoleculeFileIO->Open();
|
|
59 <br/> $Molecule = $MoleculeFileIO->ReadMolecule();
|
|
60 <br/> $Molecule->DetectRings();
|
|
61 <br/> print "$Molecule\n";
|
|
62 <br/> $MoleculeFileIO->Close();</div>
|
|
63 <div class="OptionsBox">
|
|
64 $MoleculeFileIO = new MoleculeFileIO('Name' => 'Sample1.sdf',
|
|
65 'Mode' => 'Read');
|
|
66 <br/> $MoleculeFileIO->Open();
|
|
67 <br/> while ($Molecule = $MoleculeFileIO1->ReadMolecule()) {
|
|
68 <br/> $Molecule->DetectRings();
|
|
69 <br/> print "$Molecule\n";</div>
|
|
70 <div class="OptionsBox">
|
|
71 $DataLabelsAndValuesRef =
|
|
72 $Molecule->GetDataFieldLabelAndValues();
|
|
73 <br/> for $DataLabel (sort keys %{$DataLabelsAndValuesRef} ) {
|
|
74 <br/> $DataValue = $DataLabelsAndValuesRef->{$DataLabel};
|
|
75 <br/> print "<DataLabel: $DataLabel; DataValue: $DataValue>; ";
|
|
76 <br/> }
|
|
77 <br/> print "\n";
|
|
78 <br/> }
|
|
79 <br/> $MoleculeFileIO->Close();</div>
|
|
80 </dd>
|
|
81 <dt><strong><a name="close" class="item"><strong>Close</strong></a></strong></dt>
|
|
82 <dd>
|
|
83 <div class="OptionsBox">
|
|
84 $MoleculeFileIO->Close();</div>
|
|
85 <p>Closes an open file</p>
|
|
86 </dd>
|
|
87 <dt><strong><a name="issupportedmoleculefileformat" class="item"><strong>IsSupportedMoleculeFileFormat</strong></a></strong></dt>
|
|
88 <dd>
|
|
89 <div class="OptionsBox">
|
|
90 $Status = $MoleculeFileIO->IsSupportedMoleculeFileFormat($Name);
|
|
91 <br/> $Status = MoleculeFileIO::IsSupportedMoleculeFileFormat($Name);
|
|
92 <br/> ($Status, $FormatType, $IOClassName) =
|
|
93 $MoleculeFileIO::IsSupportedMoleculeFileFormat($Name);</div>
|
|
94 <p>Returns 1 or 0 based on whether input file <em>Name</em> format is supported. In list context,
|
|
95 value of supported format type and name of associated IO class is also returned.</p>
|
|
96 <p>File extension is used to determine file format. Currently, following file extensions are
|
|
97 supported:</p>
|
|
98 <div class="OptionsBox">
|
|
99 FileExts - FormatType - AssociatedIOClassName</div>
|
|
100 <div class="OptionsBox">
|
|
101 .mol - MDLMOL - MDLMolFileIO
|
|
102 <br/> .sdf, .sd - SDF - SDFileIO</div>
|
|
103 </dd>
|
|
104 <dt><strong><a name="open" class="item"><strong>Open</strong></a></strong></dt>
|
|
105 <dd>
|
|
106 <div class="OptionsBox">
|
|
107 $MoleculeFileIO->Open([$Mode]);</div>
|
|
108 <p>Opens a file in a specified <em>Mode</em>. Default mode value: <em>Read</em>. Supported mode
|
|
109 values:</p>
|
|
110 <div class="OptionsBox">
|
|
111 Read, Write, Append, <, >, >>, r, w, or a</div>
|
|
112 </dd>
|
|
113 <dt><strong><a name="readmolecule" class="item"><strong>ReadMolecule</strong></a></strong></dt>
|
|
114 <dd>
|
|
115 <div class="OptionsBox">
|
|
116 $Molecule = $MoleculeFileIO->ReadMolecule();</div>
|
|
117 <p>Reads molecule data from the file and returns a <em>Molecule</em> object.</p>
|
|
118 </dd>
|
|
119 <dt><strong><a name="readmoleculestring" class="item"><strong>ReadMoleculeString</strong></a></strong></dt>
|
|
120 <dd>
|
|
121 <div class="OptionsBox">
|
|
122 $MoleculeString = $MoleculeFileIO->ReadMoleculeString();</div>
|
|
123 <p>Reads molecule data from a file and returns a <em>Molecule</em> string.</p>
|
|
124 </dd>
|
|
125 <dt><strong><a name="writemolecule" class="item"><strong>WriteMolecule</strong></a></strong></dt>
|
|
126 <dd>
|
|
127 <div class="OptionsBox">
|
|
128 $MoleculeFileIO->WriteMolecule();</div>
|
|
129 <p>Write molecule data to a file for a <em>Molecule</em>.</p>
|
|
130 </dd>
|
|
131 </dl>
|
|
132 <p>
|
|
133 </p>
|
|
134 <h2>AUTHOR</h2>
|
|
135 <p><a href="mailto:msud@san.rr.com">Manish Sud</a></p>
|
|
136 <p>
|
|
137 </p>
|
|
138 <h2>SEE ALSO</h2>
|
|
139 <p><a href="./FileIO.html">FileIO.pm</a>, <a href="./MDLMolFileIO.html">MDLMolFileIO.pm</a>, <a href="./SDFileIO.html">SDFileIO.pm</a>
|
|
140 </p>
|
|
141 <p>
|
|
142 </p>
|
|
143 <h2>COPYRIGHT</h2>
|
|
144 <p>Copyright (C) 2015 Manish Sud. All rights reserved.</p>
|
|
145 <p>This file is part of MayaChemTools.</p>
|
|
146 <p>MayaChemTools is free software; you can redistribute it and/or modify it under
|
|
147 the terms of the GNU Lesser General Public License as published by the Free
|
|
148 Software Foundation; either version 3 of the License, or (at your option)
|
|
149 any later version.</p>
|
|
150 <p> </p><p> </p><div class="DocNav">
|
|
151 <table width="100%" border=0 cellpadding=0 cellspacing=2>
|
|
152 <tr align="left" valign="top"><td width="33%" align="left"><a href="./Molecule.html" title="Molecule.html">Previous</a> <a href="./index.html" title="Table of Contents">TOC</a> <a href="./NucleicAcids.html" title="NucleicAcids.html">Next</a></td><td width="34%" align="middle"><strong>March 29, 2015</strong></td><td width="33%" align="right"><strong>MoleculeFileIO.pm</strong></td></tr>
|
|
153 </table>
|
|
154 </div>
|
|
155 <br />
|
|
156 <center>
|
|
157 <img src="../../images/h2o2.png">
|
|
158 </center>
|
|
159 </body>
|
|
160 </html>
|