35 Commits

Author SHA1 Message Date
33ddc0079d add new type to xvg converter 2016-01-19 18:18:10 +03:00
2c44b229ee rewrite trajectory format to store coordinates 2015-11-01 00:10:42 +03:00
ae9957b621 remove O3 flag 2014-12-29 03:48:06 +03:00
703ab513c0 add dynamic-hb.py 2014-12-10 06:13:42 +03:00
96b642c12a update pkgbild 2014-12-09 01:29:16 +03:00
7f328e7746 fix #1
some edit of python files
2014-12-06 01:07:15 +03:00
f7e9ea8049 fix path 2014-06-13 16:40:47 +04:00
7ffb0de47d change default averaging time to 1 2014-06-13 16:28:43 +04:00
e1badd963f add combine-qti 2014-06-13 16:26:24 +04:00
f27efd5325 fix error 2014-06-12 16:59:42 +04:00
3081f79a32 add xvg2csv 2014-06-12 16:03:50 +04:00
c35b81ded0 added hb-select script 2014-04-10 11:13:39 +04:00
2a02a497e3 added get-dipole 2014-03-28 21:37:53 +04:00
071affe7ad fixed building library 2014-01-29 04:46:39 +04:00
e146f059b2 release 1.2.0 2014-01-29 04:21:45 +04:00
34a2c5c090 edited documentation 2014-01-29 02:42:45 +04:00
b8e195de85 fixed bug in envir 2014-01-29 01:28:36 +04:00
c738f58985 added license to version.h 2014-01-28 06:59:14 +04:00
3a8bc96f82 added license to all files 2014-01-28 06:58:27 +04:00
3f5d240dcc changes license to beerware 2014-01-28 06:28:03 +04:00
fee68a79a3 edited docs building 2014-01-28 06:03:29 +04:00
f124bfbcdd fixed trj2pdb and trj 2014-01-28 05:48:38 +04:00
26fc6b9e7e fixed statgen 2014-01-28 05:34:53 +04:00
30630ca541 fixed envir and radf 2014-01-28 04:44:30 +04:00
0714cb6541 fixed agl 2014-01-28 03:45:36 +04:00
d88f3b317f added structure to all functions of library 2014-01-28 03:11:30 +04:00
38eb392e32 + added dependecies
+ added oxygen docs building
+ added versioning
* some optimization
2014-01-26 06:17:14 +04:00
b7b627fba5 updated translations 2014-01-26 04:58:47 +04:00
8962a4b7ad Removed binary archives 2014-01-26 04:40:09 +04:00
e64c310693 fix building 2014-01-26 04:39:33 +04:00
7c874ca96d start moving to another architecture 2014-01-26 03:49:43 +04:00
473d195ea9 Release 1.1.1
* optimization
2013-09-03 18:09:26 +04:00
6b0a2a47db Release 1.1.0
+ added help window
+ added help docs
+ small bug fixes
2013-09-03 06:01:23 +04:00
d7f7a9c2b5 Added documentatiion in russian 2013-09-02 21:35:07 +04:00
cd3857adc1 Added helpwindow
fixed wersions
edited PKGBUILD
edited scripts
2013-09-01 14:16:23 +04:00
274 changed files with 10829 additions and 21475 deletions

104
combine-qti/combine-qti.py Executable file
View File

@ -0,0 +1,104 @@
#!/usr/bin/python2
# combine-qti
# Copyright (C) 2014 Evgeniy Alekseev <esalexeev@gmail.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import argparse, os
def readData(file):
"""function to read data"""
windows = 0
data = []
# preread
with open (file, "r") as input:
for line in input:
if (line.split('\t')[0] == "<windows>"):
windows = int(line.split('\t')[1].strip())
with open (file, "r") as input:
for window in range(windows):
for line in input:
if (line.strip() == "<table>"):
data.append("<table>\n")
break
elif (line.strip() == "<multiLayer>"):
data.append("<multiLayer>\n")
break
for line in input:
if (line.strip() == '</table>'):
data.append("</table>\n")
break
elif (line.strip() == '</multiLayer>'):
data.append("</multiLayer>\n")
break
data.append(line)
return windows, data
def printHeader(file, windowsNum=1):
"""function to print header"""
iter = 0
suffix = ""
while (os.path.exists(file + suffix)):
suffix = ".%i" % (iter)
iter = iter + 1
if (suffix != ""):
os.rename(file, file + suffix)
with open(file, "w") as output:
output.write("QtiPlot 0.9.8 project file\n")
output.write("<scripting-lang>\tPython\n")
output.write("<windows>\t%i\n" % (windowsNum))
def printData(file, data):
"""function to print data"""
with open(file, "a") as output:
for line in data:
output.write(line)
if __name__ == "__main__":
parser = argparse.ArgumentParser(description = 'Combine several *.qti files into one')
parser.add_argument('-d', '--directory', dest = 'dir',
help = 'Directory with input files or use --input', action = 'store', default = False)
parser.add_argument('-i', '--input', dest = 'input',
help = 'Input files, comma separated', action = 'store', default = False)
parser.add_argument('-o', '--output', dest = 'output',
help = 'Output file', action = 'store', default = False)
args = parser.parse_args()
input = []
if (args.dir):
if (os.path.isdir(args.dir)):
input = [os.path.join(args.dir, file) for file in os.listdir(args.dir) if (os.path.splitext(file)[1] == ".qti")]
else:
if (args.input):
for file in args.input.split(','):
if (os.path.isfile(file)): input.append(file)
output = args.output
if (not input) or (not output):
print ("Files are not set")
exit()
totalWindows = 0
totalData = []
for file in input:
windows, data = readData(file)
totalWindows = totalWindows + windows
totalData.append(data)
printHeader(output, totalWindows)
for data in totalData:
printData(output, data)

109
dynamic-hb/dynamic-hb.py Normal file
View File

@ -0,0 +1,109 @@
#!/usr/bin/python
import argparse
import os
def calculate(splited, system):
"""function to calculate results"""
matrix = []
for i in range(system['mols']):
matrix.append(0)
for file in splited:
for aggl in file:
matrix[len(aggl)-1] += 1
results = {}
while matrix[-1] == 0:
matrix.pop(-1)
for i, item in enumerate(matrix, start = 1):
results[i] = item
summ = 0
for i in results:
if i == 1: continue
results[i] = i * results[i] / (system['steps'] * system['mols'])
summ += results[i]
results[1] = 1.0 - summ
return results
def parse_file(splited):
"""function to parse input file"""
for file in splited:
for agl in file:
for i, molecule in enumerate(agl):
agl[i] = [int(molecule.split('=')[0]), [int(conn) for conn in molecule.split('=')[1].split(',') if conn]]
return splited
def print_result(output, matrix):
"""function to print result to file"""
with open(output, 'w') as out:
out.write("| n | p |\n-----------------\n")
for i in matrix:
out.write(" %7i %7.5f \n" % (i, matrix[i]))
out.write("-----------------\n")
def read_file(input_file):
"""function to read file from statgen"""
file = open(input_file).read()
if not file.startswith("statgen"):
print("It is not a statgen file")
exit(2)
prepare = file.split("\n")
system = {'steps': 0, 'mols': 0}
while not prepare[-1].startswith("SUMMARY STATISTIC"):
statistic = prepare.pop(-1)
if not statistic.startswith(" 1"): continue
values = [float(item) for item in statistic.split()]
system['steps'] = int(round(values[1] / values[2], 0))
system['mols'] = int(round(values[2] / values[3], 0))
prepare.pop(-1)
splited = '\n'.join(prepare).split("FILE")[1:]
for i, item in enumerate(splited):
text = item.split("AGL")[1:]
for j, agl in enumerate(text):
text[j] = [single for single in agl.split("\n")[1:] if single]
text[-1].pop(-1)
splited[i] = text
return splited, system
def select_aggl(splited, step):
"""function to select agglomerates"""
for i, file in enumerate(splited):
first = (i - step) if (i - step) > 0 else 0
last = (i + step) if (i + step) < (len(splited) - 1) else (len(splited) - 1)
for j, aggl in enumerate(file):
for k, mol in enumerate(aggl):
table = []
for other_file in splited[first:last]:
for aggl_other in other_file:
if not mol[0] in [other_single[0] for other_single in aggl_other]: continue
table.extend(mols for other_single in aggl_other for mols in other_single[1] if other_single[0] == mol[0])
for l, conn in enumerate(mol[1]):
if table.count(conn) == last - first: continue
splited[i][j][k][1].pop(l)
if len(mol[1]) == 0:
splited[i][j].pop(k)
if len(aggl) == 0:
splited[i].pop(j)
return splited
if __name__ == "__main__":
parser = argparse.ArgumentParser(description = "Sort agglomerates using dynamic criteria")
parser.add_argument('input', help = "file from statgen")
parser.add_argument('-s', '--step', type = int, help = "step to check agglomerates",
default = 1)
parser.add_argument('-o', '--output', help = "output file", default = "dhb-output.dat")
args = parser.parse_args()
if not os.path.isfile(args.input):
print("Could not find file %s" % args.input)
exit(1)
splited, system = read_file(args.input)
splited = parse_file(splited)
matrix = calculate(select_aggl(splited, args.step), system)
print_result(args.output, matrix)

70
get_dipole/get-dipole.py Executable file
View File

@ -0,0 +1,70 @@
#!/usr/bin/python2
import argparse, math
def get_aver_dipole(dipole):
"""function to get average dipole moment"""
aver_dipole = math.sqrt((dipole[0] * dipole[0] +
dipole[1] * dipole[1] +
dipole[2] * dipole[2]))
aver_dipole = round(aver_dipole, 4)
return aver_dipole
def get_charges(file_name):
"""function to get charges from GROMACS files"""
charges = {}
with open(file_name, 'r') as input_file:
for line in input_file:
try:
charges[line.split()[0]] = float(line.split()[2])
except:
pass
return charges
def get_coordinates(file_name):
"""function to get coordinates from PDB"""
coords = []
with open(file_name, 'r') as input_file:
for line in input_file:
if ((line[0:4] == "ATOM") or (line[0:6] == "HETATM")):
coords.append({"type":line.split()[2], "coords":[float(line[30:38]), float(line[38:46]), float(line[46:54])]})
return coords
def get_dipole(charges, coords):
"""function to get dipole moment"""
dipole = [0.0, 0.0, 0.0]
for atom in coords:
dipole[0] = dipole[0] + charges[atom["type"]] * atom["coords"][0]
dipole[1] = dipole[1] + charges[atom["type"]] * atom["coords"][1]
dipole[2] = dipole[2] + charges[atom["type"]] * atom["coords"][2]
dipole[0] = math.fabs(round(16.0218 * dipole[0] / 3.3356, 4))
dipole[1] = math.fabs(round(16.0218 * dipole[1] / 3.3356, 4))
dipole[2] = math.fabs(round(16.0218 * dipole[2] / 3.3356, 4))
return dipole
if __name__ == "__main__":
parser = argparse.ArgumentParser(description = 'Calculate dipole moment from PDB')
parser.add_argument('-i', '--input', dest = 'input',
help = 'File with charges', action = 'store')
parser.add_argument('-c', '--coord', dest = 'coord',
help = 'File with coordinates', action = 'store')
parser.add_argument('-v', '--vector', dest = 'vector',
help = 'Return vector', action = 'store_true', default = False)
args = parser.parse_args()
if ((not args.input) or (not args.coord)):
print "Input files are not set"
exit()
charges = get_charges(args.input)
coords = get_coordinates(args.coord)
if (args.vector):
print get_dipole(charges, coords)
else:
print get_aver_dipole(get_dipole(charges, coords))

70
hb-select/hb-select.py Executable file
View File

@ -0,0 +1,70 @@
#!/usr/bin/python2
import argparse
def readAtoms(file):
"""function to read *gro file"""
atoms = {}
with open(file, 'r') as coordFile:
coordFile.readline()
num = int(coordFile.readline())
for i in range(num):
line = coordFile.readline()
resNum = int(line[0:5])
atomNum = int(line[15:20])
atoms[atomNum] = resNum
return atoms
def readHb(files):
"""function to read *.ndx file"""
hbs = []
start = False
for file in files:
with open(file, 'r') as ndxFile:
for line in ndxFile:
if (line[0:9] == "[ hbonds_"):
start = True
continue
elif (line.count('[') > 0):
start = False
continue
elif (start):
donor = int(line[0:7])
hydrogen = int(line[7:14])
acceptor = int(line[14:21])
if (hbs.count([donor, hydrogen, acceptor]) == 0):
hbs.append([donor, hydrogen, acceptor])
return hbs
def selectHb(atoms, hbs):
"""funtion to select hydrogen bond"""
selectedHbs = []
for hb in hbs:
if ((atoms[hb[0]] - atoms[hb[2]]) > 5):
selectedHbs.append(hb)
return selectedHbs
def printToFile(selectedHbs, file):
"""function to print results"""
with open(file, 'w') as ndxFile:
ndxFile.write("[ sel_hbs ]\n")
for hb in selectedHbs:
ndxFile.write("%7i%7i%7i\n" % (hb[0], hb[1], hb[2]))
if __name__ == "__main__":
parser = argparse.ArgumentParser(description = 'Select hidrogen bond from GROMACS index file')
parser.add_argument('-i', '--input', dest = 'input',
help = '*.gro file', action = 'store')
parser.add_argument('-n', '--ndx', dest = 'ndx',
help = '*.ndx files, comma separated', action = 'store')
parser.add_argument('-o', '--output', dest = 'output',
help = 'output *.ndx file', action = 'store')
args = parser.parse_args()
atoms = readAtoms(args.input)
hbs = readHb(args.ndx.split(','))
selectedHbs = selectHb(atoms, hbs)
printToFile(selectedHbs, args.output)

18
mathmech/CHANGELOG Normal file
View File

@ -0,0 +1,18 @@
V.1.2.0 ()
* change license from GPL to Beerware
* changes in the architecture
+ added library
V.1.1.1 (2013-09-03)
* optimization
V.1.1.0 (2013-09-02)
+ added help window
+ added help docs
- small bug fixes
V.1.0.3 (2013-08-30)
* bug fixes
V.1.0.1 (2013-07-27)
+ initial release

View File

@ -1,31 +1,70 @@
set ("PROJECT_VERSION_MAJOR" 1)
set ("PROJECT_VERSION_MINOR" 0)
set ("PROJECT_VERSION_PATCH" 3)
set ("PROJECT_VERSION" ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH})
cmake_minimum_required (VERSION 2.8)
cmake_policy (SET CMP0003 OLD)
cmake_policy (SET CMP0002 OLD)
cmake_policy (SET CMP0011 NEW)
cmake_policy (SET CMP0015 NEW)
project (mathmech)
set (PROJECT_VERSION_MAJOR 1)
set (PROJECT_VERSION_MINOR 2)
set (PROJECT_VERSION_PATCH 0)
set (PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH})
configure_file (${CMAKE_SOURCE_DIR}/version.h.in ${CMAKE_CURRENT_BINARY_DIR}/version.h)
message (STATUS "Version ${PROJECT_VERSION}")
set (COMPS mathmech
mm_agl
mm_envir
mm_radf
mm_statgen
mm_trj
mm_trj2pdb)
agl
envir
radf
statgen
trj
trj2pdb)
# install options
set (MM_PREFIX "mm_" CACHE STRING "Prefix for mathmech tools")
OPTION (WITH_DEBUG_MODE "Build with debug mode" OFF)
OPTION (ADD_INCLUDE "Add include files" OFF)
OPTION (ADD_DOCS "Add documentation" OFF)
option (WITH_DEBUG_MODE "Build with debug mode" OFF)
option (ADD_DOCS "Add documentation" OFF)
option (ADD_INCLUDE "Add include files" OFF)
if (CMAKE_SYSTEM_NAME MATCHES Linux)
set (QWT_INCLUDE_PATH "/usr/include" CACHE STRING "Path to qwt include")
set (QWT_LIBRARY_PATH "/usr/lib" CACHE STRING "Path to qwt library")
elseif (CMAKE_SYSTEM_NAME MATCHES Windows)
set (QWT_INCLUDE_PATH "C:/Qwt-6.1.0/include" CACHE STRING "Path to qwt include")
set (QWT_LIBRARY_PATH "C:/Qwt-6.1.0/lib" CACHE STRING "Path to qwt library")
endif()
endif ()
# verbose
set (CMAKE_VERBOSE_MAKEFILE ON)
# flags
if ( WITH_DEBUG_MODE )
add_definitions ( -DDEBUG_MODE=1 )
endif ()
if ( CMAKE_COMPILER_IS_GNUCXX )
set (ADD_CXX_FLAGS "-Wall")
set (CMAKE_CXX_FLAGS "-O0 ${ADD_CXX_FLAGS}")
set (CMAKE_CXX_FLAGS_DEBUG "-g -O0")
set (CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG")
elseif ( MSVC )
set (ADD_CXX_FLAGS "/W4")
set (CMAKE_CXX_FLAGS "${ADD_CXX_FLAGS}")
else ()
message ("Unknown compiler")
endif ()
# set libraries
set (LIBRARIES mm)
foreach (LIBRARY ${LIBRARIES})
add_subdirectory (${LIBRARY})
endforeach ()
foreach (COMP ${COMPS})
add_subdirectory (${COMP})
endforeach()
endforeach ()
# set docs file
if (ADD_DOCS)
include (docs.cmake)
endif ()

View File

@ -1,341 +1,4 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.
"THE BEER-WARE LICENSE" (Revision 42):
Evgeniy Alekseev wrote this file. As long as you retain this notice you
can do whatever you want with this stuff. If we meet some day, and you think
this stuff is worth it, you can buy me a beer in return.

View File

@ -1,36 +1,39 @@
# Author: Evgeniy "arcanis" Alexeev <esalexeev@gmail.com>
# Maintainer: Evgeniy "arcanis" Alexeev <esalexeev@gmail.com>
# Author: Evgeniy "arcanis" Alexeev <arcanis.arch at gmail dot com>
# Maintainer: Evgeniy "arcanis" Alexeev <arcanis.arch at gmail dot com>
pkgname=mathmech
pkgver=1.0.3
pkgrel=1
pkgver=1.2.0
pkgrel=2
pkgdesc="Software package for analysis of molecular dynamics trajectories"
arch=(any)
url="https://github.com/arcan1s/moldyn/mathmech"
license=('GPL')
depends=('qt4' 'qwt')
makedepends=('unzip' 'cmake' 'automoc4')
arch=('i686' 'x86_64')
url="http://arcan1s.github.io/projects/moldyn"
license=('Beerware')
depends=('qwt')
makedepends=('cmake' 'automoc4')
source=(https://github.com/arcan1s/moldyn/releases/download/mm-${pkgver}/${pkgname}-${pkgver}-src.zip)
md5sums=('4eccb72efd4a8a531d7fda1aabc04f62')
md5sums=('de893eee2230269b10099c5fd925502b')
_cmakekeys="-DCMAKE_INSTALL_PREFIX=/usr
-DQWT_INCLUDE_PATH=/usr/include/qwt
-DQWT_LIBRARY_PATH=/usr/lib
-DMM_PREFIX=mm_
-DADD_DOCS:BOOL=0
-DADD_INCLUDE:BOOL=0
-DCMAKE_BUILD_TYPE=Release"
build ()
{
unzip -o -q ${srcdir}/${pkgname}-${pkgver}-src.zip -d ${srcdir}/${pkgname}
if [ -d ${srcdir}/${pkgname}/build ]; then
rm -rf ${srcdir}/${pkgname}/build
fi
mkdir ${srcdir}/${pkgname}/build && cd ${srcdir}/${pkgname}/build
prepare() {
[[ -d ${srcdir}/build ]] && rm -rf "${srcdir}/build"
mkdir "${srcdir}/build"
}
build() {
cd "${srcdir}/build"
cmake ${_cmakekeys} ../
make
}
package()
{
cd ${srcdir}/${pkgname}/build
make DESTDIR=${pkgdir} install
package() {
cd "${srcdir}/build"
make DESTDIR="${pkgdir}" install
install -Dm644 "${srcdir}/COPYING" "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
}

40
mathmech/PKGBUILD-mingw Normal file
View File

@ -0,0 +1,40 @@
# Author: Evgeniy "arcanis" Alexeev <arcanis.arch at gmail dot com>
# Maintainer: Evgeniy "arcanis" Alexeev <arcanis.arch at gmail dot com>
pkgname=mathmech
pkgver=1.2.0
pkgrel=2
pkgdesc="Software package for analysis of molecular dynamics trajectories"
arch=('any')
url="http://arcan1s.github.io/projects/moldyn"
license=('Beerware')
depends=('mingw-w64-qwt')
makedepends=('mingw-w64-cmake' 'automoc4')
source=(https://github.com/arcan1s/moldyn/releases/download/mm-${pkgver}/${pkgname}-${pkgver}-src.zip)
md5sums=('46d8e1a3d6bc30d5b0b57ccf485986b1')
_cmakekeys="-DCMAKE_INSTALL_PREFIX=/usr
-DQWT_INCLUDE_PATH=/usr/x86_64-w64-mingw32/qwt
-DQWT_LIBRARY_PATH=/usr/x86_64-w64-mingw32/lib
-DMM_PREFIX=mm_
-DADD_DOCS:BOOL=1
-DADD_INCLUDE:BOOL=1
-DCMAKE_BUILD_TYPE=Release"
prepare() {
[[ -d ${srcdir}/build ]] && rm -rf "${srcdir}/build"
mkdir "${srcdir}/build"
}
build() {
unset LDFLAGS
cd "${srcdir}/build"
x86_64-w64-mingw32-cmake ${_cmakekeys} ../
make
}
package() {
cd "${srcdir}/build"
make DESTDIR="${pkgdir}" install
install -Dm644 "${srcdir}/COPYING" "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
}

View File

@ -0,0 +1,21 @@
# set project name
set (SUBPROJECT agl)
# set additional cmake file
include (${SUBPROJECT}.cmake)
# set libraries
set (LIBRARIES mm)
foreach (LIBRARY ${LIBRARIES})
include_directories (${CMAKE_CURRENT_SOURCE_DIR}/../${LIBRARY}/include/)
if (CMAKE_COMPILER_IS_GNUCXX)
link_directories (${LIBRARY}/src/lib)
elseif (CMAKE_COMPILER_IS_MSVC)
link_directories (${LIBRARY}/src/Release)
endif ()
endforeach ()
# additional targets
set (TARGETS "")
set (HEADERS "")
add_subdirectory (${SUBPROJECT_SOURCE_DIR})

View File

@ -1,9 +1,7 @@
mm_agl - program that creates PDB file with chosen agglomerate
Version: 1.0.3
License: GPL
agl - program that creates PDB file with chosen agglomerate
Usage:
mm_agl -a FILENAME -i FILENAME -c X,Y,Z -o FILEMANE [ -l LOGFILE ] [ -q ] [ -h ]
agl -a FILENAME -i FILENAME -c X,Y,Z -o FILEMANE [ -l LOGFILE ] [ -q ] [ -h ]
Parametrs:
-a - input file with agglomerates (in format statgen)

10
mathmech/agl/agl.cmake Normal file
View File

@ -0,0 +1,10 @@
# set directories
set (SUBPROJECT_BINARY_DIR bin)
set (SUBPROJECT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src)
# include_path
include_directories (${SUBPROJECT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}/../)
# executable path
set (EXECUTABLE_OUTPUT_PATH ${SUBPROJECT_BINARY_DIR})

View File

@ -0,0 +1,23 @@
# set files
file (GLOB SOURCES *.c)
file (GLOB HEADERS *.h)
# set library
if (CMAKE_COMPILER_IS_GNUCXX)
set (ADDITIONAL_LIB m)
else ()
set (ADDITIONAL_LIB)
endif ()
# message
message (STATUS "${SUBPROJECT} SOURCES: ${SOURCES}")
message (STATUS "${SUBPROJECT} HEADERS: ${HEADERS}")
# link libraries and compile
add_executable (${SUBPROJECT} ${SOURCES} ${HEADERS})
set_target_properties (${SUBPROJECT} PROPERTIES OUTPUT_NAME ${MM_PREFIX}${SUBPROJECT})
add_dependencies (${SUBPROJECT} ${LIBRARIES})
target_link_libraries (${SUBPROJECT} ${ADDITIONAL_LIB} ${LIBRARIES})
# install properties
install (TARGETS ${SUBPROJECT} DESTINATION bin)

View File

@ -0,0 +1,73 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file add_main.c
* Source code of agl
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#include <stdio.h>
#include "add_main.h"
#include <mathmech/messages.h>
#include <mathmech/var_types.h>
/**
* @fn error_checking
*/
int error_checking (const char *aglinp, const system_info _system_info, const char *input,
const char *output)
{
if (input[0] == '#')
return 12;
if (output[0] == '#')
return 13;
if (aglinp[0] == '#')
return 14;
return 0;
}
/**
* @fn print_message
*/
int print_message (const int quiet, FILE *std_output, const int log, FILE *f_log,
const int mode, const char *str)
{
if ((quiet != 1) && (std_output != stderr))
message (0, mode, str, std_output);
if (log == 1)
message (1, mode, str, f_log);
return 0;
}
/**
* @fn set_defaults
*/
int set_defaults (char *aglinp, system_info *_system_info, char *input, int *log,
char *output, int *quiet)
{
int i;
aglinp[0] = '#';
for (i=0; i<3; i++)
(*_system_info).cell[i] = 0.0;
input[0] = '#';
*log = 0;
output[0] = '#';
*quiet = 0;
return 0;
}

View File

@ -1,25 +1,36 @@
/**
* @file
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file add_main.h
* Header of agl
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#ifndef ADD_MAIN_H
#define ADD_MAIN_H
#include <stdio.h>
#include "messages.h"
#include <mathmech/messages.h>
#include <mathmech/var_types.h>
/**
* @fn error_checking
*/
int error_checking (const char *aglinp, const float *cell, const char *input,
const char *output)
/**
* @brief function that checks errors in input variables
* @code
* error_checking (aglinp, cell, input, output);
* error_checking (aglinp, _system_info, input, output);
* @endcode
*
* @param aglinp agglomerate file name
* @param cell massive of cell size
* @param _system_info system information structure
* @param input input file name
* @param output output file name
*
@ -29,25 +40,10 @@ int error_checking (const char *aglinp, const float *cell, const char *input,
* @return 14 - error in 'aglinp'
* @return 0 - exit without errors
*/
{
if ((cell[0] == 0.0) || (cell[1] == 0.0) || (cell[2] == 0.0))
return 11;
if (input[0] == '#')
return 12;
if (output[0] == '#')
return 13;
if (aglinp[0] == '#')
return 14;
return 0;
}
int error_checking (const char *aglinp, const system_info _system_info,
const char *input, const char *output);
/**
* @fn print_message
*/
int print_message (const int quiet, FILE *std_output, const int log, FILE *f_log,
const int mode, const char *str)
/**
* @brief function that prints message in log and stdout
* @code
@ -63,28 +59,18 @@ int print_message (const int quiet, FILE *std_output, const int log, FILE *f_log
*
* @return 0 - exit without errors
*/
{
if ((quiet != 1) && (std_output != stderr))
message (0, mode, str, std_output);
if (log == 1)
message (1, mode, str, f_log);
return 0;
}
int print_message (const int quiet, FILE *std_output, const int log, FILE *f_log,
const int mode, const char *str);
/**
* @fn set_defaults
*/
int set_defaults (char *aglinp, float *cell, char *input, int *log, char *output, int *quiet)
/**
* @brief function that sets default values of variables
* @code
* set_defaults (aglinp, cell, input, &log, output, &quiet);
* set_defaults (aglinp, &_system_info, input, &log, output, &quiet);
* @endcode
*
* @param aglinp agglomerate file name
* @param cell massive of cell size
* @param _system_info system information structure
* @param input mask of trajectory files
* @param log status of log-mode
* @param output output file name
@ -92,16 +78,8 @@ int set_defaults (char *aglinp, float *cell, char *input, int *log, char *output
*
* @return 0 - exit without errors
*/
{
int i;
aglinp[0] = '#';
for (i=0; i<3; i++)
cell[i] = 0.0;
input[0] = '#';
*log = 0;
output[0] = '#';
*quiet = 0;
return 0;
}
int set_defaults (char *aglinp, system_info *_system_info, char *input, int *log, char *output,
int *quiet);
#endif /* ADD_MAIN_H */

View File

@ -1,75 +1,18 @@
/**
* @file
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @mainpage mm_agl
* @image latex ./logo.png
*
* @section intro_sec Introduction
*
* <b>About this program</b>:
* <ul>
* <li>Program that creates PDB file with chosen agglomerate
* </ul>
*
* <b>Developer</b>:
* <ul>
* <li>Evgeniy Alekseev aka arcanis <pre><esalexeev (at) gmail (dot) com></pre>
*</ul>
* <b>License</b>:
* <ul>
* <li>GPL
* </ul>
*
* @section How-To-Use How to use
* Usage:
* <pre>
* mm_agl -a AGL_INP -i INPUT -c X,Y,Z -o OUTPUT [ -l LOGFILE ] [ -q ] [ -h ]
*
* Parametrs:
* -a - input file with agglomerates (in format statgen)
* -i - input file with coordinates
* -c - cell size (float), A
* -o - output file name
* -l - log enable
* -q - quiet enable
* -h - show this help and exit
* </pre>
*
* @page Install
*
* @section Requirements Requirements
* The application mm_agl requires the following external stuff:
* - cmake >= 2.8
* - gcc >= 4.8
*
* @section How-To How to install
*
* @subsection Linux Linux
* @code
* mkdir build && cd build
* cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release ../
* make
* make install
* @endcode
*
* @subsection Windows Windows
* @code
* create project file using 'cmake'
* compile project
* @endcode
* You may also download compiled executable file for Win_x86.
*
* @page Changelog
* V.1.0.3 (2013-08-30)
* <ul>
* <li> Bug fixes
* </ul>
* V.1.0.1 (2013-07-27)
* <ul>
* <li> initial release
* </ul>
*/
* @file main.c
* Source code of agl
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#include <math.h>
#include <stdio.h>
@ -77,12 +20,14 @@
#include <string.h>
#include "add_main.h"
#include "coords.h"
#include "messages.h"
#include "print_struct.h"
#include "read_agl.h"
#include "select_mol.h"
#include "set_center.h"
#include <version.h>
#include <mathmech/coords.h>
#include <mathmech/messages.h>
#include <mathmech/print_struct.h>
#include <mathmech/read_agl.h>
#include <mathmech/select_mol.h>
#include <mathmech/set_center.h>
#include <mathmech/var_types.h>
/**
@ -98,35 +43,33 @@ int main(int argc, char *argv[])
*/
{
char tmp_str[2048];
int error, i, *tmp_int;
int error, i;
FILE *f_inp, *f_log;
char aglinp[256], *ch_type_atoms, input[256], logfile[256], output[256];
float cell[3], *centr_coords, *coords;
int *label_mol, log, num_atoms, num_mol, num_needed_mol, *needed_mol, quiet,
*true_label_mol;
char aglinp[256], input[256], logfile[256], output[256];
float *centr_coords;
int log, num_needed_mol, *needed_mol, quiet, *true_label_mol;
atom_info *_atom_info;
system_info _system_info;
/* aglinp agglomerate file name
* ch_type_atoms massive of char atom types
* input input file name
* logfile log file name
* output output file name
*
* cell massive of cell size
* centr_coords massive of centered coordinates
* coords massive of coordinates
*
* label_mol massive of numbers of molecule for atoms
* log status of log-mode
* num_atoms number of atoms
* num_mol number of molecules
* num_needed_mol number of needed molecules
* needed_mol massive of number of needed molecules
* quiet status of quiet-mode
* true_label_mol massive of true numbers of molecule for atoms
*
* _atom_info atom information structure
* _system_info system information structure
*/
set_defaults (aglinp, cell, input, &log, output, &quiet);
set_defaults (aglinp, &_system_info, input, &log, output, &quiet);
for (i=1; i<argc; i++)
{
@ -134,15 +77,14 @@ int main(int argc, char *argv[])
{
sprintf (tmp_str, " mm_agl\n");
sprintf (tmp_str, "%sProgram for create PDB file with chosen agglomerate\n", tmp_str);
sprintf (tmp_str, "%sVersion : 1.0.3 License : GPL\n", tmp_str);
sprintf (tmp_str, "%sVersion : %s License : Beerware\n", tmp_str, PROJ_VERSION);
sprintf (tmp_str, "%s Evgeniy Alekseev aka arcanis\n", tmp_str);
sprintf (tmp_str, "%s E-mail : esalexeev@gmail.com\n\n", tmp_str);
sprintf (tmp_str, "%sUsage:\n", tmp_str);
sprintf (tmp_str, "%smm_agl -a AGL_INP -i INPUT -c X,Y,Z -o OUTPUT [ -l LOGFILE ] [ -q ] [ -h ]\n\n", tmp_str);
sprintf (tmp_str, "%smm_agl -a AGL_INP -i INPUT -o OUTPUT [ -l LOGFILE ] [ -q ] [ -h ]\n\n", tmp_str);
sprintf (tmp_str, "%sParametrs:\n", tmp_str);
sprintf (tmp_str, "%s -a - input file with agglomerates (in format statgen)\n", tmp_str);
sprintf (tmp_str, "%s -i - input file with coordinates\n", tmp_str);
sprintf (tmp_str, "%s -c - cell size (float), A\n", tmp_str);
sprintf (tmp_str, "%s -o - output file name\n", tmp_str);
sprintf (tmp_str, "%s -l - log enable\n", tmp_str);
sprintf (tmp_str, "%s -q - quiet enable\n", tmp_str);
@ -162,12 +104,6 @@ int main(int argc, char *argv[])
strcpy (input, argv[i+1]);
i++;
}
else if ((argv[i][0] == '-') && (argv[i][1] == 'c') && (argv[i][2] == '\0'))
// cell size
{
sscanf (argv[i+1], "%f,%f,%f", &cell[0], &cell[1], &cell[2]);
i++;
}
else if ((argv[i][0] == '-') && (argv[i][1] == 'o') && (argv[i][2] == '\0'))
// output file
{
@ -200,7 +136,7 @@ int main(int argc, char *argv[])
print_message (quiet, stdout, log, f_log, 1, argv[0]);
// error check
error = error_checking (aglinp, cell, input, output);
error = error_checking (aglinp, _system_info, input, output);
if (error != 0)
{
print_message (quiet, stderr, log, f_log, 17, argv[0]);
@ -218,20 +154,14 @@ int main(int argc, char *argv[])
print_message (quiet, stderr, log, f_log, 18, input);
return 2;
}
fscanf (f_inp, "%i", &num_atoms);
fscanf (f_inp, "%i", &_system_info.num_atoms);
fclose (f_inp);
ch_type_atoms = (char *) malloc (2 * num_atoms * sizeof (char));
coords = (float *) malloc (3 * 8 * num_atoms * sizeof (float));
label_mol = (int *) malloc (8 * num_atoms * sizeof (int));
needed_mol = (int *) malloc (num_atoms * sizeof (int));
tmp_int = (int *) malloc (8 * num_atoms * sizeof (int));
true_label_mol = (int *) malloc (num_atoms * sizeof (int));
_atom_info = (atom_info *) malloc (8 * _system_info.num_atoms * sizeof (atom_info));
needed_mol = (int *) malloc (_system_info.num_atoms * sizeof (int));
true_label_mol = (int *) malloc (_system_info.num_atoms * sizeof (int));
// error checking
if ((ch_type_atoms == NULL) ||
(coords == NULL) ||
(label_mol == NULL) ||
if ((_atom_info == NULL) ||
(needed_mol == NULL) ||
(tmp_int == NULL) ||
(true_label_mol == NULL))
{
print_message (quiet, stderr, log, f_log, 19, argv[0]);
@ -239,7 +169,8 @@ int main(int argc, char *argv[])
}
sprintf (tmp_str, "%6cAglomerate file: '%s';\n%6cInput file: '%s';\n\
%6cOutput file: '%s';\n%6cLog: %i;\n%6cQuiet: %i;\n%6cCell size: %.4f, %.4f, %.4f\n",
' ', aglinp, ' ', input, ' ', output, ' ', log, ' ', quiet, ' ', cell[0], cell[1], cell[2]);
' ', aglinp, ' ', input, ' ', output, ' ', log, ' ', quiet, ' ', _system_info.cell[0],
_system_info.cell[1], _system_info.cell[2]);
print_message (quiet, stdout, log, f_log, 5, tmp_str);
print_message (quiet, stdout, log, f_log, 6, argv[0]);
@ -255,10 +186,9 @@ int main(int argc, char *argv[])
// reading coordinates
print_message (quiet, stdout, log, f_log, 7, input);
error = 1;
error = reading_coords (2, input, num_needed_mol, needed_mol, cell, &num_mol,
&num_atoms, true_label_mol, label_mol, tmp_int, coords,
ch_type_atoms);
centr_coords = (float *) malloc (3 * 8 * num_mol * sizeof (float));
error = reading_coords (2, input, num_needed_mol, needed_mol, &_system_info,
true_label_mol, _atom_info);
centr_coords = (float *) malloc (3 * 8 * _system_info.num_mol * sizeof (float));
if (centr_coords == NULL)
{
print_message (quiet, stderr, log, f_log, 19, argv[0]);
@ -270,10 +200,10 @@ int main(int argc, char *argv[])
if (error == 0)
{
sprintf (tmp_str, "%6cNumber of molecules: %i; %6cNumber of atoms: %i\n",
' ', num_mol, ' ', num_atoms);
' ', _system_info.num_mol, ' ', _system_info.num_atoms);
print_message (quiet, stdout, log, f_log, 8, tmp_str);
error = 1;
error = set_center (num_atoms, num_mol, label_mol, coords, centr_coords);
error = set_center (_system_info, _atom_info, centr_coords);
}
if (error == 0)
{
@ -285,8 +215,8 @@ int main(int argc, char *argv[])
{
print_message (quiet, stderr, log, f_log, 4, argv[0]);
error = 1;
error = print_structure (output, num_needed_mol, needed_mol, num_atoms,
label_mol, ch_type_atoms, coords);
error = print_structure (output, num_needed_mol, needed_mol, _system_info,
_atom_info);
}
if (error == 0)
print_message (quiet, stderr, log, f_log, 12, output);
@ -295,12 +225,9 @@ int main(int argc, char *argv[])
print_message (quiet, stdout, log, f_log, 15, argv[0]);
// free memory
free (ch_type_atoms);
free (_atom_info);
free (centr_coords);
free (coords);
free (label_mol);
free (needed_mol);
free (tmp_int);
free (true_label_mol);
print_message (quiet, stdout, log, f_log, 16, argv[0]);
@ -308,4 +235,4 @@ int main(int argc, char *argv[])
if (log == 1)
fclose (f_log);
return 0;
}
}

19
mathmech/create_archive.sh Executable file
View File

@ -0,0 +1,19 @@
#!/bin/bash
SUBS="docs mathmech mm agl envir radf statgen trj trj2pdb"
ADDS="AUTHORS CHANGELOG CMakeLists.txt COPYING docs.cmake doxygen.conf.in INSTALL version.h.in"
ARCHIVE="mathmech"
VERSION=`grep -m1 PROJECT_VERSION_MAJOR CMakeLists.txt | awk '{print $3}' | cut -c 1`.\
`grep -m1 PROJECT_VERSION_MINOR CMakeLists.txt | awk '{print $3}' | cut -c 1`.\
`grep -m1 PROJECT_VERSION_PATCH CMakeLists.txt | awk '{print $3}' | cut -c 1`
# create archive
if [ -e ${ARCHIVE}-${VERSION}-src.zip ]; then
rm -f ${ARCHIVE}-${VERSION}-src.zip
fi
zip -9qry ${ARCHIVE}-${VERSION}-src.zip ${ADDS} ${SUBS}
# update md5sum
MD5SUMS=`md5sum ${ARCHIVE}-${VERSION}-src.zip | awk '{print $1}'`
sed -i "/md5sums=('[0-9A-Fa-f]*/s/[^'][^)]*/md5sums=('${MD5SUMS}'/" PKGBUILD
sed -i "s/pkgver=[0-9.]*/pkgver=${VERSION}/" PKGBUILD

15
mathmech/docs.cmake Normal file
View File

@ -0,0 +1,15 @@
# standart documentation
set (PROJECT_DOCS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/docs/)
install (DIRECTORY ${PROJECT_DOCS_DIR} DESTINATION share/doc/${PROJECT_NAME})
# doxygen documentation
find_package (Doxygen)
if (DOXYGEN_FOUND)
set (DOXYGEN_INPUT ${CMAKE_SOURCE_DIR})
configure_file (${CMAKE_SOURCE_DIR}/doxygen.conf.in ${CMAKE_CURRENT_BINARY_DIR}/doxygen.conf)
add_custom_target (oxygen-docs ALL COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/doxygen.conf)
install (DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/docs/html DESTINATION share/doc/${PROJECT_NAME})
install (DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/docs/man DESTINATION share/)
else (DOXYGEN_FOUND)
message (STATUS "WARNING: Doxygen not found - Reference manual will not be created")
endif ()

View File

@ -0,0 +1,31 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'Liberation Serif'; font-size:10pt; font-weight:400; font-style:normal;">
<p align="center" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">agl</span></p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br />Program that creates PDB file with chosen agglomerate.</p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Usage</span><br />mm_agl -a FILE -i FILE -c X,Y,Z -o FILE [ -l FILE ] [ -q ] [ -h ]<br /> <span style=" text-decoration: underline;">Parametrs</span><br />-a FILE input file with agglomerate<br />-i FILE input trajectory file<br />-c X,Y,Z cell size, A<br />-o FILE output PDB file<br />-l FILE print log to specified file<br />-q do not print messages to STDOUT<br />-h show this help and exit</p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">File formats</span></p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> <span style=" font-style:italic;">Agglomerate file (*.agl)</span></p>
<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Agglomerate title (AGL=2=1.3.4.) (1 number of molecules in the agglomerate, 1.3.4. agglomerate class, if verification of isomorphism is specified).</li>
<li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The enumeration of molecules in the agglomerate (0000001=2,3,4,5,) (1 number of molecule (7 characters), equal sign, the enumeration of connected molecules separated by commas).</li></ul>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> <span style=" font-style:italic;">Trajectory file (*.pdb)</span></p>
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://www.wwpdb.org/documentation/format33/sect9.html"><span style=" text-decoration: underline; color:#0000ff;">http://www.wwpdb.org/documentation/format33/sect9.html</span></a></p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Operation of the application</span></p>
<ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Reading titles of source files, setting values of initial variables.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Reading of source file.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Search for the best configuration.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Print the result to the file.</li></ol>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Working with GUI</span></p>
<ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Select Menu -&gt; File creator -&gt; Agglomerate file.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set the file generated by statgen. Push &quot;Select&quot;.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Select the trajectory file from the drop down list. Select the agglomerate.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set the output file. Create file.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Go to the tab &quot;Generate PDB&quot;. Select &quot;From agglomerate&quot; from the drop down list.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set the work directory.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set the input trajectory file.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set the agglomerate file.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set the cell size, A.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set the output PDB file.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set the log file if this needed.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Run application.</li></ol></body></html>

View File

@ -0,0 +1,23 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'Liberation Serif'; font-size:10pt; font-weight:400; font-style:normal;">
<p align="center" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">envir</span></p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br />Program that searchs environment for chosen molecule by geometric criterion.</p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Usage</span><br />mm_envir -i FILE -c X,Y,Z -o FILE [ -n NUMBER ] [ -r NUMBER ] [ -l FILE ] [ -q ] [ -h ]<br /> <span style=" text-decoration: underline;">Parametrs</span><br />-i FILE input trajectory file<br />-c X,Y,Z cell size, A<br />-o FILE output PDB file<br />-n NUMBER number of molecule for search. Default is 1<br />-r NUMBER radius of environment. Default is 6.0<br />-l FILE print log to specified file<br />-q do not print messages to STDOUT<br />-h show this help and exit</p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">File formats</span></p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> <span style=" font-style:italic;">Trajectory file (*.pdb)</span></p>
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://www.wwpdb.org/documentation/format33/sect9.html"><span style=" text-decoration: underline; color:#0000ff;">http://www.wwpdb.org/documentation/format33/sect9.html</span></a></p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Operation of the application</span></p>
<ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Reading titles of source files, setting values of initial variables.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Reading of source file.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Search for the environment.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Print the environment to the file.</li></ol>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Working with GUI</span></p>
<ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Go to the tab &quot;Environment&quot;. Set the work directory.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set the input trajectory file.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set the cell size, A.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set the output PDB file.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set the number of molecule for search and the radius of environment.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set the log file if this needed.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Run application.</li></ol></body></html>

View File

@ -0,0 +1,27 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'Liberation Serif'; font-size:10pt; font-weight:400; font-style:normal;">
<p align="center" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">radf</span></p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br />Program that calculates radial distribution function (RDF) or radial-angles distribution function (RADF).</p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Usage</span><br />mm_radf -i MASK -s NUMBER,NUMBER -c X,Y,Z -at FORMAT -o FILE [ -r NUMBER,NUMBER ] [ -rs NUMBER ] [ -a NUMBER,NUMBER ] [ -as NUMBER ] [ -m ] [ -l FILE ] [ -q ] [ -h ]<br /> <span style=" text-decoration: underline;">Parametrs</span><br />-i MASK mask of trajectory files<br />-s NUMBER,NUMBER first and last trajectory steps<br />-c X,Y,Z cell size, A<br />-at FORMAT numerical atom types between which the function is calculated. Format is &quot;1-2&quot; or &quot;1,2,3-4,5,6&quot; (automatically enable calculation of radial distribution function between centers of mass)<br />-o FILE output file<br />-r NUMBER,NUMBER radial criteria, A. Default is 2.0 and 15.0<br />-rs NUMBER radius change step, A. Default is 0.2<br />-a NUMBER,NUMBER angular criteria, deg. Default is 0.0 and 90.0<br />-as NUMBER angle change step, deg. This option will enable calculation of radial-angles distribution function<br />-as enable matrix output<br />-l FILE print log to specified file<br />-q do not print messages to STDOUT<br />-h show this help and exit</p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">File formats</span></p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> <span style=" font-style:italic;">Output file (*.dat)</span></p>
<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Program name and version are shown in the title. For example, &quot;radf ::: V.1.1.0&quot;. Blank line.</li>
<li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The configuration block &quot;CONFIGURATION ... END&quot;. Print log (LOG=1), do not print messages to STDOUT (QUIET=1), matrix output (MATRIX=1), mask of trajectory files (MASK=mask), first (FIRST=1) and last (LAST=1) trajectory steps, sell size (CELL=1.0000,2.0000,3.0000), mode (MODE=0) (0 radial distribution function, 1 radial distribution function between centers of mass, 2 radial-angles distribution function), radial criteria (R_MIN=0.100) (R_MAX=0.100) (R_STEP=0.100), angular criteria for radial-angles distribution function (ANG_MIN=0.10) (ANG_MAX=0.10) (ANG_STEP=0.10), atom types (ATOM=1-2) or (ATOM=1,2,3-4,5,6). Blank line.</li>
<li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The results block «SUMMARY STATISTIC … ------------------------------------------------». Table layout (2 rows) follows after specifying the block if matrix output disables.<br />The table format for radial distribution function (matrix output disables)<br /> 0001.0000 2.0000e-01 000000003 04.000000<br />Space, sphere radius (9 characters, 4 decimal part), space, segment volume (10 characters, 4 decimal part), space, number of molecules in this radius (9 characters), space, radial distribution function (9 characters, 6 decimal part).<br />The table format for radial distribution function (matrix output enables)<br /> 0001.0000 04.000000<br />Space, sphere radius (9 characters, 4 decimal part), space, radial distribution function (9 characters, 6 decimal part).<br />The table format for radial-angles distribution function (matrix output disables)<br /> 0001.0000 000005.00 2.0000e-01 000000003 04.000000<br />Space, sphere radius (9 characters, 4 decimal part), space, segment angle (9 characters, 2 decimal part), segment volume (10 characters, 4 decimal part), space, number of molecules in this segment (9 characters), space, radial-angles distribution function (9 characters, 6 decimal part).<br />The table format for radial-angles distribution function (matrix output enables). Segment angle (9 characters, 2 decimal part) is shown in the title<br /> 0001.0000 04.000000 ...<br />Space, sphere radius (9 characters, 4 decimal part), space, radial-angles distribution function (9 characters, 6 decimal part) separated by spaces.</li>
<li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">End of the table</li></ul>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Operation of the application</span></p>
<ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Reading titles of source files, setting values of initial variables.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Step by step reading of source files, settings values of variables.<br />Calculating of the number of pairs of molecules in various relative configurations.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Print the result to the file.<br />Radial distribution function calculated by:<br />RDF(r) = (1 / norm) * sum(d(r_n-r), n),<br />norm(r) = (4*PI*r^2*dr) * ro * N * N_step,<br />where d(r_n-r) is the delta function, r is a shpere radius, n is a number of molecule, dr is the radius change step, ro is the number of molecules per volume unit, N is the number of molecules, N_step is a number of trajectory step.<br />Radial-angles distribution function calculated by:<br />RADF(r, fi) = (1 / norm) * sum(sum(d(r_n-r)*d(fi_n-fi), n), n),<br />norm(r, fi) = (4*PI*r^2*sin(fi)*dr*dfi) * ro * N * N_step,<br />where d(r_n-r) and d(fi_n-fi) are the delta functions, r is a shpere radius, fi is a segment angle, n is a number of molecule, dr is the radius change step, dfi is the angle change step, ro is the number of molecules per volume unit, N is the number of molecules, N_step is a number of trajectory step.</li></ol>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Working with GUI</span></p>
<ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Go to the tab &quot;RADF&quot;. Set the work directory.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set the mask of trajectory files.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set the first and the last trajectory steps.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set the cell size, A.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set the output file.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set needed atoms.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set radial criteria. Set angular criteria if this needed.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set the matrix output, the log file and the graph generate if this needed.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Run application.</li></ol></body></html>

View File

@ -0,0 +1,29 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'Liberation Serif'; font-size:10pt; font-weight:400; font-style:normal;">
<p align="center" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">statgen</span></p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br />Program that analyzes molecular dynamics trajectories using topological analysis.</p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Usage</span><br />mm_statgen -i MASK -s NUMBER,NUMBER -c X,Y,Z -a FORMAT -r FORMAT -o FILE [ -g NUMBER ] [ -l FILE ] [ -q ] [ -h ]<br /> <span style=" text-decoration: underline;">Parametrs</span><br />-i MASK mask of trajectory files<br />-s NUMBER,NUMBER first and last trajectory steps<br />-c X,Y,Z cell size, A<br />-a FORMAT numerical atom types. Maximum number of different atom types is 4. Types are comma separated<br />-r FORMAT criteria, A. This flag can be used multiple times. Different interactions are comma separated. Type interaction, colon character, criterion. For example &quot;0-0:2.4,0-1:3.0&quot; means set 0-0 interaction as &lt;2.4 А and 0-1 interaction as &lt;3.0 A<br />-o FILE output file<br />-g NUMBER chech graph isomorphism. NUMBER is a maximum depth for search cycles (&gt;= 3)<br />-l FILE print log to specified file<br />-q do not print messages to STDOUT<br />-h show this help and exit</p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">File formats</span></p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> <span style=" font-style:italic;">Output file (*.dat)</span></p>
<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Program name and version are shown in the title. For example, &quot;statgen ::: V.1.1.0&quot;. Blank line.</li>
<li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The configuration block &quot;CONFIGURATION ... END&quot;. Print log (LOG=1), do not print messages to STDOUT (QUIET=1), mask of trajectory files (MASK=mask), first (FIRST=1) and last (LAST=1) trajectory steps, sell size (CELL=1.0000,2.0000,3.0000), atom types (ATOMS=1,2,3,4), interactions (INTERACTION=format), maximum depth for check cycle number (DEPTH=0, 0 - do not check graph isomorphism). Blank line.</li>
<li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The enumeration of statistics on individual files.<br />File name (FILE=mask.001), the statistic block for file &quot;STATISTIC ... -----------------&quot;. Table layout (2 rows) follows after specifying the block. The table format<br /> 0000001 0000001 <br />Space, agglomerate size (7 characters), space, number of agglomerates of this size in the file (7 characters).<br />The enumeration of agglomerates in the file. Agglomerate title (AGL=2=1.3.4.) (1 number of molecules in the agglomerate, 1.3.4. agglomerate class, if verification of isomorphism is specified). The enumeration of molecules in the agglomerate. (0000001=2,3,4,5,) (1 number of molecule (7 characters), equal sign, the enumeration of connected molecules separated by commas).</li>
<li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The summary statistic block &quot;SUMMARY STATISTIC … ------------------------------------------------&quot;. Table layout (2 rows) follows after specifying the block. The table format<br /> 0000001 0000002 000003.00 004.00000 0005.00000<br />Space, agglomerate size (7 characters), space, total number of agglomerates of this size (7 characters), space, average concentration of agglomerates of this size (9 characters, 2 decimal part), space, probability of finding molecules in agglomerates of this size (9 characters, 5 decimal part), space, probability of finding molecules in agglomerates of this size multiplied by the size (10 characters, 5 decimal part).</li>
<li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Summary statistic of agglomerates on classes (if verification of isomorphism is specified). The proportion of linear (LINEAR=0.10000) and cyclic (CYCLE=0.10000) agglomerates, blank line, the proportion of not branched (NOT BRANCHED=0.10000) and branched (BRANCHED=0.10000) agglomerates, blank line, the proportion of found cycles of the specified size (CYCLE_03=0.10000).</li></ul>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Operation of the application</span></p>
<ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Reading titles of source files, setting values of initial variables.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Step by step reading of source files, settings values of variables.<br />Search for interactions that satisfy the specified criteria.<br />The analysis of all connections and specifying to the two molecules that connected, if the conditions are satisfied at least one of these criteria.<br />Adding molecules to agglomerates according to the obtained connectivity matrix.<br />Print agglomerates to the file, adding the summary statistics.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Print the summary statistic to the file.</li></ol>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Working with GUI</span></p>
<ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Go to the tab &quot;Agglomeration&quot;. Set the work directory.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set the mask of trajectory files.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set the first and the last trajectory steps.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set the cell size, A.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set needed atoms.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set interactions. Select type of interaction from the drop down list, change its criterion and press &quot;Save&quot;. Press &quot;Add&quot; after ending of edition. After this the interaction will appear in the special window. To remove an interaction you need select the desired interaction in the special window and press &quot;Remove&quot;.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set the output file.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set the maximum depth for search cycles, the log file and the graph generate if this needed.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">For the variation of geometric criteria you need specify the criteria step changes and the number of steps.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Run application.</li></ol></body></html>

View File

@ -0,0 +1,29 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'Liberation Serif'; font-size:10pt; font-weight:400; font-style:normal;">
<p align="center" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">trj</span></p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br />Program that generates trajectory files in special format from input trajectory.</p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Usage</span><br />mm_trj -i FILE -t TYPE -s NUMBER -a FILE -o MASK [ -tt NUMBER ] [ -l FILE ] [ -q ] [ -h ]<br /> <span style=" text-decoration: underline;">Parametrs</span><br />-i FILE input trajectory file<br />-t TYPE trajectory type. Supported formats: gmx, puma<br />-s NUMBER number of trajectory steps<br />-a FILE file with atom types<br />-o MASK mask of output trajectory files<br />-tt NUMBER maximum number of different atom types. Default is 1024<br />-l FILE print log to specified file<br />-q do not print messages to STDOUT<br />-h show this help and exit</p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">File formats</span></p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> <span style=" font-style:italic;">Trajectory files (*.[0-9])</span></p>
<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Number of atoms is shown in the title.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Trajectory snapshot (enumeration of all atoms in system). Format<br />00001 СА 1234.000000 1234.000000 1234.000000 01 0001<br />The sequence number of an atom (5 characters), space, character atom type (2 characters), 2 spaces, X coordinate (11 characters, 6 decimal part), Y coordinate (11 characters, 6 decimal part), Z coordinate (11 characters, 6 decimal part), 4 spaces, numerical atom type (2 characters), space, number of molecule (4 characters).</li></ul>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> <span style=" font-style:italic;">Atom types file (*.types)</span></p>
<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The number of different molecules (NUMTYPES=1) is shown in the title.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The molecules enumeration block. Variables are the number of molecules (NUMMOL=1), the number of atoms (NUMAT=1).<br />The atoms enumeration block. Format<br />CA=1<br />Character atom type (2 characters), equal sign, numerical atom type.</li></ul>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Operation of the application</span></p>
<ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Reading titles of source files, setting values of initial variables.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Step by step reading of source files, print results to the specified output file.</li></ol>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Working with GUI</span></p>
<ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Select Menu -&gt; File creator -&gt; Atom types file.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set the output file.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set atom types. To add a new molecule you need select &quot;Add new molecule&quot; from the drop down list. To change the number of molecules you need change the corresponding numeric value. To add a new atom you need enter 2 character to the special field, set numerical atom type and press &quot;Add&quot;. After this the atom will appear in the special window. To remove an atom you need select the desired atom in the special window and press &quot;Remove&quot;.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Create the atom types file.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Go to the tab &quot;Generate trajectory&quot;. Set the work directory.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set the input trajectory file.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Select the trajectory type from the drop down list, set the number of trajectory steps.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set the atom types file.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set the mask of output files.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set the maximum number of different atom types and the log file if this needed.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Run application.</li></ol></body></html>

View File

@ -0,0 +1,21 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'Liberation Serif'; font-size:10pt; font-weight:400; font-style:normal;">
<p align="center" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">trj2pdb</span></p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br />Program that creates PDB file from trajetory snapshot.</p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Usage</span><br />mm_trj2pdb -i FILE -o FILE [ -l FILE ] [ -q ] [ -h ]<br /> <span style=" text-decoration: underline;">Parametrs</span><br />-i FILE input trajectory file<br />-o FILE output PDB file<br />-l FILE print log to specified file<br />-q do not print messages to STDOUT<br />-h show this help and exit</p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">File formats</span></p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> <span style=" font-style:italic;">Trajectory file (*.pdb)</span></p>
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://www.wwpdb.org/documentation/format33/sect9.html"><span style=" text-decoration: underline; color:#0000ff;">http://www.wwpdb.org/documentation/format33/sect9.html</span></a></p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Operation of the application</span></p>
<ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Reading titles of source files, setting values of initial variables.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Reading of source file.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Print the result to the file.</li></ol>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Working with GUI</span></p>
<ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Go to the tab &quot;Generate PDB&quot;. Select &quot;From trajectory snapshot&quot; from the drop down list.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set the work directory.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set the input trajectory file.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set the output PDB file.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set the log file if this needed.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Run application.</li></ol></body></html>

View File

@ -0,0 +1,31 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'Liberation Serif'; font-size:10pt; font-weight:400; font-style:normal;">
<p align="center" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">agl</span></p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br />Программа для генерации PDB файлов с агломератами.</p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Использование</span><br />mm_agl -a ФАЙЛ -i ФАЙЛ -c X,Y,Z -o ФАЙЛ [ -l ФАЙЛ ] [ -q ] [ -h ]<br /> <span style=" text-decoration: underline;">Параметры</span><br />-a ФАЙЛ исходный файл с агломератом<br />-i ФАЙЛ исходный файл с координатами<br />-c X,Y,Z размер элементарной ячейки, А<br />-o ФАЙЛ генерируемый PDB файл с координатами<br />-l ФАЙЛ запись лога в указанный файл<br />-q не выводить сообщения в STDOUT<br />-h показать эту справку и выйти</p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Форматы файлов</span></p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> <span style=" font-style:italic;">Файл с агломератом (*.agl)</span></p>
<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Заголовок агломерата (AGL=2=1.3.4.) (1 число молекул в агломерате, 1.3.4. класс агломерата, если указана проверка изоморфизма).</li>
<li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Перечисление молекул в агломерате (0000001=2,3,4,5,) (1 номер молекулы (7 символов), знак равенства, перечисление связанных молекул через запятую).</li></ul>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> <span style=" font-style:italic;">Файл траектории (*.pdb)</span></p>
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://www.wwpdb.org/documentation/format33/sect9.html"><span style=" text-decoration: underline; color:#0000ff;">http://www.wwpdb.org/documentation/format33/sect9.html</span></a></p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Работа приложения</span></p>
<ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Чтение заголовков исходных файлов, установка начальных переменных.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Чтение исходных файлов.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Поиск оптимальной конфигурации.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Печать результата в файл.</li></ol>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Работа с графическим интерфейсом</span></p>
<ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Меню -&gt; Создание файлов -&gt; Файл с агломератом.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Указать файл, сгенерированный приложением statgen. Нажать &quot;Выбор&quot;.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Выбрать траекторный снимок в выпадающем списке. Выбрать агломерат.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Указать выходной файл. Создать файл с агломератом.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">5. Перейти во вкладку &quot;Создать PDB&quot;. Из выпадающего списка выбрать &quot;Из агломерата&quot;.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Указать рабочую директорию.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Указать файл траектории.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Указать сгенерированный файл с агломератом.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Указать размер ячейки в А.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Указать генерируемый PDB файл.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">При необходимости указать файл лога.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Запустить приложение.</li></ol></body></html>

View File

@ -0,0 +1,23 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'Liberation Serif'; font-size:10pt; font-weight:400; font-style:normal;">
<p align="center" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">envir</span></p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br />Программа для генерации PDB файла указанной молекулы с окружением указанного радиуса.</p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Использование</span><br />mm_envir -i ФАЙЛ -c X,Y,Z -o ФАЙЛ [ -n ЧИСЛО ] [ -r ЧИСЛО ] [ -l ФАЙЛ ] [ -q ] [ -h ]<br /> <span style=" text-decoration: underline;">Параметры</span><br />-i ФАЙЛ исходный файл с координатами<br />-c X,Y,Z размер элементарной ячейки, А<br />-o ФАЙЛ генерируемый PDB файл с координатами<br />-n ЧИСЛО номер молекулы для поиска окружения. По умолчанию 1<br />-r ЧИСЛО радиус окружения, А. По умолчанию 6.0<br />-l ФАЙЛ запись лога в указанный файл<br />-q не выводить сообщения в STDOUT<br />-h показать эту справку и выйти</p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Форматы файлов</span></p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> <span style=" font-style:italic;">Файл траектории (*.pdb)</span></p>
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://www.wwpdb.org/documentation/format33/sect9.html"><span style=" text-decoration: underline; color:#0000ff;">http://www.wwpdb.org/documentation/format33/sect9.html</span></a></p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Работа приложения</span></p>
<ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Чтение заголовков исходных файлов, установка начальных переменных.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Чтение исходного файла.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Поиск окружения.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Печать окружения в файл.</li></ol>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Работа с графическим интерфейсом</span></p>
<ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Перейти во вкладку &quot;Окружение&quot;. Указать рабочую директорию.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Указать исходный файл.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Указать размер ячейки в А.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Указать генерируемый PDB файл.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Указать молекулу для поиска окружения и радиус окружения в А.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">При необходимости указать файл лога.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Запустить приложение.</li></ol></body></html>

View File

@ -0,0 +1,27 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'Liberation Serif'; font-size:10pt; font-weight:400; font-style:normal;">
<p align="center" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">radf</span></p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br />Программа для расчета функций радиального (ФРР) и радиально-углового распределения (ФРУР).</p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Использование</span><br />mm_radf -i МАСКА -s ЧИСЛО,ЧИСЛО -c X,Y,Z -at ФОРМАТ -o ФАЙЛ [ -r ЧИСЛО,ЧИСЛО ] [ -rs ЧИСЛО ] [ -a ЧИСЛО,ЧИСЛО ] [ -as ЧИСЛО ] [ -m ] [ -l ФАЙЛ ] [ -q ] [ -h ]<br /> <span style=" text-decoration: underline;">Параметры</span><br />-i МАСКА маска снимков траектории<br />-s ЧИСЛО,ЧИСЛО первый и последний шаги траектории<br />-c X,Y,Z размер элементарной ячейки, А<br />-at ФОРМАТ численные типы атомов между которыми строится функция. Формат &quot;1-2&quot; или &quot;1,2,3,-4,5,6&quot; (автоматически включит расчет функции радиального распределения между центрами масс).<br />-o ФАЙЛ генерируемый файл<br />-r ЧИСЛО,ЧИСЛО минимальный и максимальный радиус, А. По умолчанию 2.0 и 15.0<br />-rs ЧИСЛО шаг изменения радиуса, А. По умолчанию 0.2<br />-a ЧИСЛО,ЧИСЛО минимальный и максимальный угол, град. По умолчанию 0.0 и 90.0<br />-as ЧИСЛО шаг изменения угла, град. Эта опция включит расчет функции радиально-углового распределения<br />-m печать в виде матрицы<br />-l ФАЙЛ запись лога в указанный файл<br />-q не выводить сообщения в STDOUT<br />-h показать эту справку и выйти</p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Форматы файлов</span></p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> <span style=" font-style:italic;">Генерируемый файл (*.dat)</span></p>
<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">В заголовке указывается название программы и ее версия, например &quot;radf ::: V.1.1.0&quot;. Пустая строка.</li>
<li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Блок конфигурации &quot;CONFIGURATION … END&quot;. Печать лога (LOG=1), не выводить сообщения в STDOUT (QUIET=1), матричный вывод (MATRIX=1), файлов (MASK=mask), первый (FIRST=1) и последний (LAST=1) шаги траектории, размер ячейки (CELL=1.0000,2.0000,3.0000), тип расчета (MODE=0) (0 для функции радиального распределения, 1 для функции радиального распределения для центров масс, 2 для функции радиально-углового распределения), радиальные критерии (R_MIN=0.100) (R_MAX=0.100) (R_STEP=0.100), угловые критерии для функции радиально-углового распределения (ANG_MIN=0.10) (ANG_MAX=0.10) (ANG_STEP=0.10), типы атомов (ATOM=1-2) или (ATOM=1,2,3-4,5,6). Пустая строка.</li>
<li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Блок результатов &quot;SUMMARY STATISTIC … ------------------------------------------------&quot;. После указания блока, если отключен матричный вывод, следует разметка таблицы (2 строки).<br />Формат таблицы для функций радиального распределения (матричный вывод отключен)<br /> 0001.0000 2.0000e-01 000000003 04.000000<br />Пробел, радиус сферы (9 символов, 4 десятичной части), пробел, объем сегмента (10 символов, 4 десятичной части), пробел, число молекул в данном сегменте (9 символов), функция радиального распределения (9 символов, 6 десятичной части).<br />Формат таблицы для функций радиального распределения (матричный вывод включен)<br /> 0001.0000 04.000000<br />Пробел, радиус сферы (9 символов, 4 десятичной части), пробел, функция радиального распределения (9 символов, 6 десятичной части).<br />Формат таблицы для функций радиально-углового распределения (матричный вывод отключен)<br /> 0001.0000 000005.00 2.0000e-01 000000003 04.000000<br />Пробел, радиус сферы (9 символов, 4 десятичной части), пробел, угол (9 символов, 2 десятичной части), пробел, объем сегмента (10 символов, 4 десятичной части), пробел, число молекул в данном сегменте (9 символов), функция радиально-углового распределения (9 символов, 6 десятичной части).<br />Формат таблицы для функций радиально-углового распределения (матричный вывод включен). В заголовке указывается угол (9 символов, 2 десятичной части)<br /> 0001.0000 04.000000 …<br />Пробел, радиус сферы (9 символов, 4 десятичной части), пробел, функция радиально-углового распределения (9 символов, 6 десятичной части) через пробелы, соответствующие данному углу.</li>
<li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Конец таблицы.</li></ul>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Работа приложенияn</span></p>
<ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Чтение заголовков исходных файлов, установка начальных переменных.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Пошаговое чтение исходных файлов. Установка переменных.<br />Расчет количества пар молекул, находящихся в различных взаимных конфигурациях.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Печать результата в файл.<br />Функция радиального распределения рассчитывается по формуле:<br />RDF(r) = (1 / norm) * sum(d(r_n-r), n),<br />norm(r) = (4*PI*r^2*dr) * ro * N * N_step,<br />где d(r_n-r) дельта-функция, r радиус сферы, n номер молекулы, dr шаг изменения радиуса, ro число молекул в единице объема, N число молекул, N_step число шагов траектории.<br />Функция радиально-углового распределения рассчитывается по формуле:<br />RADF(r, fi) = (1 / norm) * sum(sum(d(r_n-r)*d(fi_n-fi), n), n),<br />norm(r, fi) = (4*PI*r^2*sin(fi)*dr*dfi) * ro * N * N_step,<br />где d(r_n-r) и d(fi_n-fi) дельта-функции, r радиус сферы, fi угол, n номер молекулы, dr шаг изменения радиуса, dfi шаг изменения угла, ro число молекул в единице объема, N число молекул, N_step число шагов траектории.</li></ol>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Работа с графическим интерфейсом</span></p>
<ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Перейти во вкладку &quot;ФРУР&quot;. Указать рабочую директорию.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Указать маску траекторных файлов.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Указать первый и последний шаги траектории.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Указать размер ячейки в А.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Указать генерируемый файл.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Указать искомые атомы.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Указать радиальные параметры функции в А. При необходимости указать угловые параметры функции в градусах.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">При необходимости указать печать в виде матрицы, файл лога и генерацию графика.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Запустить приложение.</li></ol></body></html>

View File

@ -0,0 +1,29 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'Liberation Serif'; font-size:10pt; font-weight:400; font-style:normal;">
<p align="center" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">statgen</span></p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br />Программа для анализа снимков молекулярно-динамических траекторий выделяет молекулы в агломераты согласно указанному геометрическому критерию.</p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Использование</span><br />mm_statgen -i МАСКА -s ЧИСЛО,ЧИСЛО -c X,Y,Z -a ФОРМАТ -r ФОРМАТ -o ФАЙЛ [ -g ЧИСЛО ] [ -l ФАЙЛ ] [ -q ] [ -h ]<br /> <span style=" text-decoration: underline;">Параметры</span><br />-i МАСКА маска снимков траектории<br />-s ЧИСЛО,ЧИСЛО первый и последний шаги траектории<br />-c X,Y,Z размер элементарной ячейки, А<br />-a ФОРМАТ численные типы атомов. Максимальное число различных атомов 4. Типы атомов перечисляются через запятую<br />-r ФОРМАТ критерии, А. Этот флаг может быть указан несколько раз. Различные взаимодействия перечисляются через запятую. Указывается тип взаимодействия, двоеточие, критерий. Например, &quot;0-0:2.4,0-1:3.0&quot; означает указание 0-0 взаимодействия &lt;2.4 А и 0-1 &lt;3.0 А.<br />-o ФАЙЛ генерируемый файл<br />-g NUMBER проверять изоморфизм графов. ЧИСЛО максимальная глубина для проверки числа циклов (&gt;= 3)<br />-l ФАЙЛ запись лога в указанный файл<br />-q не выводить сообщения в STDOUT<br />-h показать эту справку и выйти</p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Форматы файлов</span></p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> <span style=" font-style:italic;">Генерируемый файл (*.dat)</span></p>
<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">В заголовке указывается название программы и ее версия, например &quot;statgen ::: V.1.1.0&quot;. Пустая строка.</li>
<li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Блок конфигурации &quot;CONFIGURATION … END&quot;. Печать лога (LOG=1), не выводить сообщения в STDOUT (QUIET=1), маска файлов (MASK=mask), первый (FIRST=1) и последний (LAST=1) шаги траектории, размер ячейки (CELL=1.0000,2.0000,3.0000), типы атомов (ATOMS=1,2,3,4), взаимодействия (INTERACTION=формат), максимальная глубина для проверки числа циклов (DEPTH=0, 0 не проверять изоморфизм). Пустая строка.</li>
<li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Перечисление статистики по файлам.<br />Имя файла (FILE=mask.001), блок статистики по файлу &quot;STATISTIC … -----------------&quot;. После указания блока следует разметка таблицы (2 строки). Формат таблицы<br /> 0000001 0000001 <br />Пробел, размер агломерата (7 символов), пробел, число агломератов данной стехиометрии в файле (7 символов).<br />Перечисление агломератов, найденных в данном файле. Заголовок агломерата (AGL=2=1.3.4.) (1 число молекул в агломерате, 1.3.4. класс агломерата, если указана проверка изоморфизма). Перечисление молекул в агломерате (0000001=2,3,4,5,) (1 номер молекулы (7 символов), знак равенства, перечисление связанных молекул через запятую).</li>
<li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Общая статистика &quot;.SUMMARY STATISTIC … ------------------------------------------------&quot;..После указания блока следует разметка таблицы (2 строки). Формат таблицы<br /> 0000001 0000002 000003.00 004.00000 0005.00000<br />Пробел, размер агломерата (7 символов), пробел, общее число агломератов данной стехиометрии (7 символов), пробел, средняя концентрация агломератов данной стехиометрии (9 символов, 2 десятичной части), пробел, вероятность нахождения молекулы в агломерате данной стехиометрии (9 символов, 5 десятичной части), пробел, вероятность нахождения молекулы в агломерате данной стехиометрии, умноженная на число молекул в агломерате (10 символов, 5 десятичной части).</li>
<li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Общая статистика агломератов по классам (если указана проверка изоморфизма). Доля линейных (LINEAR=0.10000) и циклических (CYCLE=0.10000) агломератов, пропуск строки, доля неразветвленных (NOT BRANCHED=0.10000) и разветвленных (BRANCHED=0.10000) агломератов, пропуск строки, доля найденных циклов указанного размера (CYCLE_03=0.10000).</li></ul>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Работа приложения</span></p>
<ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Чтение заголовков исходных файлов, установка начальных переменных.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Пошаговое чтение исходных файлов, установка переменных.<br />Поиск взаимодействий, удовлетворяющих указанным критериям.<br />Анализ всех связей и указание связи двух молекул, если удовлетворяется условия хотя бы одного из указанных критериев.<br />Добавление молекул в агломераты согласно полученной матрице связанности.<br />Печать агломератов в файл, дополнение общей статистики.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Печать общей статистики в файл.</li></ol>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Работа с графическим интерфейсом</span></p>
<ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Перейти во вкладку &quot;Агломерация&quot;. Указать рабочую директорию.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Указать маску траекторных файлов.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Указать первый и последний шаги траектории.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Указать размер ячейки в А.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Указать искомые атомы.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Указать взаимодействия. Из выпадающего списка выбрать тип взаимодействия, изменить при его критерий (А) и нажать &quot;Сохранить&quot;. После завершения редактирования нажать &quot;Добавить&quot; после этого взаимодействие появится в специальном окошке.. Для удаления взаимодействия необходимо выделить нужное взаимодействие в окошке и нажать &quot;Удалить&quot;.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Указать генерируемый файл.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">При необходимости указать максимальную глубину для проверки числа циклов в агломератах, файл лога и генерацию графика.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Для вариации геометрических критериев необходимо указать шаг изменения критериев и число шагов.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Запустить приложение.</li></ol></body></html>

View File

@ -0,0 +1,29 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'Liberation Serif'; font-size:10pt; font-weight:400; font-style:normal;">
<p align="center" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">trj</span></p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br />Программа для генерации специальных траекторных файлов из указанных исходных.</p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Использование</span><br />mm_trj -i ФАЙЛ -t ТИП -s ЧИСЛО -a ФАЙЛ -o МАСКА [ -tt ЧИСЛО ] [ -l ФАЙЛ ] [ -q ] [ -h ]<br /> <span style=" text-decoration: underline;">Параметры</span><br />-i ФАЙЛ исходный траекторный файл<br />-t ТИП тип траектории. Поддерживаемые форматы: gmx, puma<br />-s ЧИСЛО число шагов траектории<br />-a ФАЙЛ файл с указанием типов атомов<br />-o МАСКА маска получаемых траекторных файлов<br />-tt ЧИСЛО максимальное число различных типов атомов. По умолчанию 1024<br />-l ФАЙЛ запись лога в указанный файл<br />-q не выводить сообщения в STDOUT<br />-h показать эту справку и выйти</p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Форматы файлов</span></p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> <span style=" font-style:italic;">Файлы траектории (*.[0-9])</span></p>
<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">В заголовке указывается число атомов (7 символов).</li>
<li align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Снимок траектории (перечисление всех атомов). Формат<br />00001 СА 1234.000000 1234.000000 1234.000000 01 0001<br />Порядковый номер атома (5 символов), пробел, символьный тип атома (2 символа), 2 пробела, координата X (11 символов, 6 десятичной части), координата Y (11 символов, 6 десятичной части), координата Z (11 символов, 6 десятичной части), 4 пробела, численный тип атома (2 символа), пробел, номер молекулы (4 символа).</li></ul>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> <span style=" font-style:italic;">Файл с указанием типов атомов (*.types)</span></p>
<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">В заголовке указывается число молекул (NUMTYPES=1).</li>
<li align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Блок перечисления молекул. Переменные число молекул (NUMMOL=1), число атомов (NUMAT=1).<br />Блок перечисления атомов в молекуле. Формат<br />CA=1<br />Символьный тип атома (2 символа), символ равенства, численный тип атома.</li></ul>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Работа приложения</span></p>
<ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Чтение заголовков исходных файлов, установка начальных переменных.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Пошаговое чтение исходных файлов и вывод шагов в указанные файлы.</li></ol>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Работа с графическим интерфейсом</span></p>
<ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Выбрать Меню -&gt; Создание файлов -&gt; Файл типов атомов.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Указать генерируемый файл.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Заполнить типы атомов. Для добавления новой молекулы выбрать из выпадающего списка &quot;Добавить новую молекулу&quot;. Для изменения числа молекул изменить соответствующее числовое значение. Для добавления нового атома необходимо ввести 2 символа в специальное поле, указать численный тип атома и нажать &quot;Добавить&quot; после этого атом появится в специальном окошке. Для удаления атома необходимо выделить нужный атом в окошке и нажать &quot;Удалить&quot;.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Создать файл типов атомов.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Перейти во вкладку &quot;Создать траекторию&quot;. Указать рабочую директорию.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Указать исходный траекторный файл.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Выбрать тип траектории из выпадающего списка, указать число шагов траектории.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Указать созданный ранее файл типов атомов.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Указать маску генерируемых файлов.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">При необходимости указать максимальное число различных типов атомов и файл лога.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Запустить приложение.</li></ol></body></html>

View File

@ -0,0 +1,21 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'Liberation Serif'; font-size:10pt; font-weight:400; font-style:normal;">
<p align="center" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">trj2pdb</span></p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br />Программа для генерации PDB файла из исходных траекторных файлов.</p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Использование</span><br />mm_trj2pdb -i ФАЙЛ -o ФАЙЛ [ -l ФАЙЛ ] [ -q ] [ -h ]<br /> <span style=" text-decoration: underline;">Параметры</span><br />-i ФАЙЛ исходный файл с координатами<br />-o ФАЙЛ генерируемый PDB файл с координатами<br />-l ФАЙЛ запись лога в указанный файл<br />-q не выводить сообщения в STDOUT<br />-h показать эту справку и выйти</p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Форматы файлов</span></p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> <span style=" font-style:italic;">Файл траектории (*.pdb)</span></p>
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://www.wwpdb.org/documentation/format33/sect9.html"><span style=" text-decoration: underline; color:#0000ff;">http://www.wwpdb.org/documentation/format33/sect9.html</span></a></p>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Работа приложения</span></p>
<ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Чтение заголовков исходных файлов, установка начальных переменных.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Чтение исходного файла.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Печать в файл.</li></ol>
<p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /> <span style=" text-decoration: underline;">Работа с графическим интерфейсом</span></p>
<ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Перейти во вкладку &quot;Создать PDB&quot;. Из выпадающего списка выбрать &quot;Из снимка траектории&quot;.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Указать рабочую директорию.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Указать файл траектории.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Указать генерируемый PDB файл.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">При необходимости указать файл лога.</li>
<li align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Запустить приложение.</li></ol></body></html>

2315
mathmech/doxygen.conf.in Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,21 @@
# set project name
set (SUBPROJECT envir)
# set additional cmake file
include (${SUBPROJECT}.cmake)
# set libraries
set (LIBRARIES mm)
foreach (LIBRARY ${LIBRARIES})
include_directories (${CMAKE_CURRENT_SOURCE_DIR}/../${LIBRARY}/include/)
if (CMAKE_COMPILER_IS_GNUCXX)
link_directories (${LIBRARY}/src/lib)
elseif (CMAKE_COMPILER_IS_MSVC)
link_directories (${LIBRARY}/src/Release)
endif ()
endforeach ()
# additional targets
set (TARGETS "")
set (HEADERS "")
add_subdirectory (${SUBPROJECT_SOURCE_DIR})

View File

@ -1,9 +1,7 @@
mm_envir - program that searchs environment for chosen molecule by geometric criterion
Version: 1.0.3
License: GPL
envir - program that searchs environment for chosen molecule by geometric criterion
Usage:
mm_envir -i FILENAME -c X,Y,Z -o FILEMANE [ -n NUM_OF_MOLECULE ] [ -r RADIUS ]
envir -i FILENAME -c X,Y,Z -o FILEMANE [ -n NUM_OF_MOLECULE ] [ -r RADIUS ]
[ -l LOGFILE ] [ -q ] [ -h ]
Parametrs:

View File

@ -0,0 +1,10 @@
# set directories
set (SUBPROJECT_BINARY_DIR bin)
set (SUBPROJECT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src)
# include_path
include_directories (${SUBPROJECT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}/../)
# executable path
set (EXECUTABLE_OUTPUT_PATH ${SUBPROJECT_BINARY_DIR})

View File

@ -0,0 +1,23 @@
# set files
file (GLOB SOURCES *.c)
file (GLOB HEADERS *.h)
# set library
if (CMAKE_COMPILER_IS_GNUCXX)
set (ADDITIONAL_LIB m)
else ()
set (ADDITIONAL_LIB)
endif ()
# message
message (STATUS "${SUBPROJECT} SOURCES: ${SOURCES}")
message (STATUS "${SUBPROJECT} HEADERS: ${HEADERS}")
# link libraries and compile
add_executable (${SUBPROJECT} ${SOURCES} ${HEADERS})
set_target_properties (${SUBPROJECT} PROPERTIES OUTPUT_NAME ${MM_PREFIX}${SUBPROJECT})
add_dependencies (${SUBPROJECT} ${LIBRARIES})
target_link_libraries (${SUBPROJECT} ${ADDITIONAL_LIB} ${LIBRARIES})
# install properties
install (TARGETS ${SUBPROJECT} DESTINATION bin)

View File

@ -0,0 +1,72 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file add_main.c
* Source code of envir
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#include <stdio.h>
#include "add_main.h"
#include <mathmech/messages.h>
#include <mathmech/var_types.h>
/**
* @fn error_checking
*/
int error_checking (const system_info _system_info, const char *input,
const char *output)
{
if (input[0] == '#')
return 12;
if (output[0] == '#')
return 13;
return 0;
}
/**
* @fn print_message
*/
int print_message (const int quiet, FILE *std_output, const int log, FILE *f_log,
const int mode, const char *str)
{
if ((quiet != 1) && (std_output != stderr))
message (0, mode, str, std_output);
if (log == 1)
message (1, mode, str, f_log);
return 0;
}
/**
* @fn set_defaults
*/
int set_defaults (system_info *_system_info, char *input, int *log, int *num_of_mol,
char *output, int *quiet, float *rad)
{
int i;
for (i=0; i<3; i++)
(*_system_info).cell[i] = 0.0;
input[0] = '#';
*log = 0;
*num_of_mol = 1;
output[0] = '#';
*quiet = 0;
*rad = 6.0;
return 0;
}

View File

@ -1,23 +1,32 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file
* @file add_main.h
* Header of envir
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#include <stdio.h>
#ifndef ADD_MAIN_H
#define ADD_MAIN_H
#include "messages.h"
#include <mathmech/var_types.h>
/**
* @fn error_checking
*/
int error_checking (const float *cell, const char *input, const char *output)
/**
* @brief function that checks errors in input variables
* @code
* error_checking (cell, input, output);
* error_checking (_system_info, input, output);
* @endcode
*
* @param cell massive of cell size
* @param _system_info system information structure
* @param input input file name
* @param output output file name
*
@ -26,23 +35,10 @@ int error_checking (const float *cell, const char *input, const char *output)
* @return 13 - error in 'output'
* @return 0 - exit without errors
*/
{
if ((cell[0] == 0.0) || (cell[1] == 0.0) || (cell[2] == 0.0))
return 11;
if (input[0] == '#')
return 12;
if (output[0] == '#')
return 13;
return 0;
}
int error_checking (const system_info _system_info, const char *input,
const char *output);
/**
* @fn print_message
*/
int print_message (const int quiet, FILE *std_output, const int log, FILE *f_log,
const int mode, const char *str)
/**
* @brief function that prints message in log and stdout
* @code
@ -58,29 +54,18 @@ int print_message (const int quiet, FILE *std_output, const int log, FILE *f_log
*
* @return 0 - exit without errors
*/
{
if ((quiet != 1) && (std_output != stderr))
message (0, mode, str, std_output);
if (log == 1)
message (1, mode, str, f_log);
return 0;
}
int print_message (const int quiet, FILE *std_output, const int log, FILE *f_log,
const int mode, const char *str);
/**
* @fn set_defaults
*/
int set_defaults (float *cell, char *input, int *log, int *num_of_mol, char *output,
int *quiet, float *rad)
/**
* @brief function that sets default values of variables
* @code
* set_defaults (cell, &from, input, &log, &max_depth, &num_of_inter, output, &to,
* set_defaults (&_system_info, &from, input, &log, &max_depth, &num_of_inter, output, &to,
* &type_inter, &quiet);
* @endcode
*
* @param cell massive of cell size
* @param _system_info system information structure
* @param input mask of trajectory files
* @param log status of log-mode
* @param num_of_mol number of molecule
@ -90,17 +75,8 @@ int set_defaults (float *cell, char *input, int *log, int *num_of_mol, char *out
*
* @return 0 - exit without errors
*/
{
int i;
for (i=0; i<3; i++)
cell[i] = 0.0;
input[0] = '#';
*log = 0;
*num_of_mol = 1;
output[0] = '#';
*quiet = 0;
*rad = 6.0;
return 0;
}
int set_defaults (system_info *_system_info, char *input, int *log, int *num_of_mol,
char *output, int *quiet, float *rad);
#endif /* ADD_MAIN_H */

View File

@ -1,77 +1,18 @@
/**
* @file
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @mainpage mm_envir
* @image latex ./logo.png
*
* @section intro_sec Introduction
*
* <b>About this program</b>:
* <ul>
* <li>Program that searchs environment for chosen molecule by geometric criterion
* </ul>
*
* <b>Developer</b>:
* <ul>
* <li>Evgeniy Alekseev aka arcanis <pre><esalexeev (at) gmail (dot) com></pre>
*</ul>
* <b>License</b>:
* <ul>
* <li>GPL
* </ul>
*
* @section How-To-Use How to use
* Usage:
* <pre>
* mm_envir -i INPUT -c X,Y,Z -o OUTPUT [ -n NUM_OF_MOLECULE ] [ -r RADIUS ]
* [ -l LOGFILE ] [ -q ] [ -h ]
*
* Parametrs:
* -i - input file name
* -c - cell size (float), A
* -o - output file name
* -n - number of molecule for search (integer). Default is 1
* -r - radius of environment (float). Default is 6.0
* -l - log enable
* -q - quiet enable
* -h - show this help and exit
* </pre>
*
* @page Install
*
* @section Requirements Requirements
* The application mm_envir requires the following external stuff:
* - cmake >= 2.8
* - gcc >= 4.8
*
* @section How-To How to install
*
* @subsection Linux Linux
* @code
* mkdir build && cd build
* cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release ../
* make
* make install
* @endcode
*
* @subsection Windows Windows
* @code
* create project file using 'cmake'
* compile project
* @endcode
* You may also download compiled executable file for Win_x86.
*
* @page Changelog
* V.1.0.3 (2013-08-30)
* <ul>
* <li> Bug fixes
* </ul>
* V.1.0.1 (2013-07-27)
* <ul>
* <li> initial release
* </ul>
*/
* @file main.c
* Source code of envir
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#include <math.h>
#include <stdio.h>
@ -79,11 +20,13 @@
#include <string.h>
#include "add_main.h"
#include "coords.h"
#include "envir_search.h"
#include "messages.h"
#include "print_struct.h"
#include "set_center.h"
#include <version.h>
#include <mathmech/coords.h>
#include <mathmech/envir_search.h>
#include <mathmech/messages.h>
#include <mathmech/print_struct.h>
#include <mathmech/set_center.h>
#include <mathmech/var_types.h>
/**
@ -102,33 +45,31 @@ int main(int argc, char *argv[])
int error, i, *tmp_int;
FILE *f_inp, *f_log;
char *ch_type_atoms, input[256], logfile[256], output[256];
float cell[3], *centr_coords, *coords, rad;
int *label_mol, log, num_atoms, num_mol, num_needed_mol, num_of_mol,
*needed_mol, quiet, *true_label_mol;
char input[256], logfile[256], output[256];
float *centr_coords, rad;
int log, num_needed_mol, num_of_mol, *needed_mol, quiet, *true_label_mol;
atom_info *_atom_info;
system_info _system_info;
/* ch_type_atoms massive of char atom types
* input input file name
/* input input file name
* logfile log file name
* output output file name
*
* cell massive of cell size
* centr_coords massive of centered coordinates
* coords massive of coordinates
* rad radius of environment sphere
*
* label_mol massive of numbers of molecule for atoms
* log status of log-mode
* num_atoms number of atoms
* num_mol number of molecules
* num_needed_mol number of needed molecules
* num_of_mol number of molecule
* needed_mol massive of number of needed molecules
* quiet status of quiet-mode
* true_label_mol massive of true numbers of molecule for atoms
*
* _atom_info atom information file
* _system_info system information file
*/
set_defaults (cell, input, &log, &num_of_mol, output, &quiet, &rad);
set_defaults (&_system_info, input, &log, &num_of_mol, output, &quiet, &rad);
for (i=1; i<argc; i++)
{
@ -136,15 +77,14 @@ int main(int argc, char *argv[])
{
sprintf (tmp_str, " mm_envir\n");
sprintf (tmp_str, "%sProgram for search environment for chosen molecule by geometric criterion\n", tmp_str);
sprintf (tmp_str, "%sVersion : 1.0.3 License : GPL\n", tmp_str);
sprintf (tmp_str, "%sVersion : %s License : Beerware\n", tmp_str, PROJ_VERSION);
sprintf (tmp_str, "%s Evgeniy Alekseev aka arcanis\n", tmp_str);
sprintf (tmp_str, "%s E-mail : esalexeev@gmail.com\n\n", tmp_str);
sprintf (tmp_str, "%sUsage:\n", tmp_str);
sprintf (tmp_str, "%smm_envir -i INPUT -c X,Y,Z -o OUTPUT [ -n NUM_OF_MOLECULE ] [ -r RADIUS ]\n", tmp_str);
sprintf (tmp_str, "%s [ -l LOGFILE ] [ -q ] [ -h ]\n\n", tmp_str);
sprintf (tmp_str, "%smm_envir -i INPUT -o OUTPUT [ -n NUM_OF_MOLECULE ] [ -r RADIUS ]\n", tmp_str);
sprintf (tmp_str, "%s [ -l LOGFILE ] [ -q ] [ -h ]\n\n", tmp_str);
sprintf (tmp_str, "%sParametrs:\n", tmp_str);
sprintf (tmp_str, "%s -i - input file name\n", tmp_str);
sprintf (tmp_str, "%s -c - cell size (float), A\n", tmp_str);
sprintf (tmp_str, "%s -o - output file name\n", tmp_str);
sprintf (tmp_str, "%s -n - number of molecule for search (integer). Default is 1\n", tmp_str);
sprintf (tmp_str, "%s -r - radius of environment (float). Default is 6.0\n", tmp_str);
@ -160,12 +100,6 @@ int main(int argc, char *argv[])
strcpy (input, argv[i+1]);
i++;
}
else if ((argv[i][0] == '-') && (argv[i][1] == 'c') && (argv[i][2] == '\0'))
// cell size
{
sscanf (argv[i+1], "%f,%f,%f", &cell[0], &cell[1], &cell[2]);
i++;
}
else if ((argv[i][0] == '-') && (argv[i][1] == 'o') && (argv[i][2] == '\0'))
// output file
{
@ -210,7 +144,7 @@ int main(int argc, char *argv[])
print_message (quiet, stdout, log, f_log, 1, argv[0]);
// error check
error = error_checking (cell, input, output);
error = error_checking (_system_info, input, output);
if (error != 0)
{
print_message (quiet, stderr, log, f_log, 17, argv[0]);
@ -228,17 +162,13 @@ int main(int argc, char *argv[])
print_message (quiet, stderr, log, f_log, 18, input);
return 2;
}
fscanf (f_inp, "%i", &num_atoms);
fscanf (f_inp, "%i", &_system_info.num_atoms);
fclose (f_inp);
ch_type_atoms = (char *) malloc (2 * num_atoms * sizeof (char));
coords = (float *) malloc (3 * 8 * num_atoms * sizeof (float));
label_mol = (int *) malloc (8 * num_atoms * sizeof (int));
tmp_int = (int *) malloc (8 * num_atoms * sizeof (int));
true_label_mol = (int *) malloc (num_atoms * sizeof (int));
_atom_info = (atom_info *) malloc (8 * _system_info.num_atoms * sizeof (atom_info));
tmp_int = (int *) malloc (8 * _system_info.num_atoms * sizeof (int));
true_label_mol = (int *) malloc (_system_info.num_atoms * sizeof (int));
// error checking
if ((ch_type_atoms == NULL) ||
(coords == NULL) ||
(label_mol == NULL) ||
if ((_atom_info == NULL) ||
(tmp_int == NULL) ||
(true_label_mol == NULL))
{
@ -247,8 +177,9 @@ int main(int argc, char *argv[])
}
sprintf (tmp_str, "%6cInput file: '%s';\n%6cOutput file: '%s';\n%6cLog: %i;\n\
%6cQuiet: %i;\n%6cCell size: %.4f, %.4f, %.4f;\n%6cSelect molecule: %i;\n\
%6cCriterion: %.1f\n", ' ', input, ' ', output, ' ', log, ' ', quiet, ' ', cell[0],
cell[1], cell[2], ' ' , num_of_mol, ' ', rad);
%6cCriterion: %.1f\n", ' ', input, ' ', output, ' ', log, ' ', quiet, ' ',
_system_info.cell[0], _system_info.cell[1], _system_info.cell[2], ' ' , num_of_mol,
' ', rad);
print_message (quiet, stdout, log, f_log, 5, tmp_str);
print_message (quiet, stdout, log, f_log, 6, argv[0]);
@ -256,14 +187,14 @@ int main(int argc, char *argv[])
// reading coordinates
print_message (quiet, stdout, log, f_log, 7, input);
error = 1;
error = reading_coords (1, input, tmp_int[0], tmp_int, cell, &num_mol, &num_atoms,
true_label_mol, label_mol, tmp_int, coords, ch_type_atoms);
centr_coords = (float *) malloc (3 * 8 * num_mol * sizeof (float));
needed_mol = (int *) malloc (num_mol * sizeof (int));
error = reading_coords (1, input, tmp_int[0], tmp_int, &_system_info, true_label_mol,
_atom_info);
centr_coords = (float *) malloc (3 * 8 * _system_info.num_mol * sizeof (float));
needed_mol = (int *) malloc (_system_info.num_mol * sizeof (int));
if (error == 0)
{
sprintf (tmp_str, "%6cNumber of molecules: %i; %6cNumber of atoms: %i\n",
' ', num_mol, ' ', num_atoms);
' ', _system_info.num_mol, ' ', _system_info.num_atoms);
print_message (quiet, stdout, log, f_log, 8, tmp_str);
}
// error checking
@ -278,21 +209,21 @@ int main(int argc, char *argv[])
if (error == 0)
{
error = 1;
error = set_center (num_atoms, num_mol, label_mol, coords, centr_coords);
error = set_center (_system_info, _atom_info, centr_coords);
}
if (error == 0)
{
print_message (quiet, stderr, log, f_log, 20, argv[0]);
error = 1;
error = search_envir (num_of_mol, num_mol, centr_coords, rad, needed_mol,
error = search_envir (num_of_mol, _system_info, centr_coords, rad, needed_mol,
&num_needed_mol);
}
if (error == 0)
{
print_message (quiet, stderr, log, f_log, 21, argv[0]);
error = 1;
error = print_structure (output, num_needed_mol, needed_mol, num_atoms,
label_mol, ch_type_atoms, coords);
error = print_structure (output, num_needed_mol, needed_mol, _system_info,
_atom_info);
}
if (error == 0)
print_message (quiet, stderr, log, f_log, 12, output);
@ -301,10 +232,8 @@ int main(int argc, char *argv[])
print_message (quiet, stdout, log, f_log, 15, argv[0]);
// free memory
free (ch_type_atoms);
free (_atom_info);
free (centr_coords);
free (coords);
free (label_mol);
free (needed_mol);
free (tmp_int);
free (true_label_mol);
@ -314,4 +243,4 @@ int main(int argc, char *argv[])
if (log == 1)
fclose (f_log);
return 0;
}
}

Binary file not shown.

Binary file not shown.

View File

@ -1,3 +0,0 @@
Current developers:
Evgeniy Alekseev aka arcanis <esalexeev (at) gmail (dot) com>

View File

@ -1,31 +1,10 @@
cmake_minimum_required (VERSION 2.8)
cmake_policy(SET CMP0003 OLD)
cmake_policy(SET CMP0011 NEW)
cmake_policy(SET CMP0015 NEW)
# set project name
set (PROJECT mathmech)
set (SUBPROJECT mathmech)
# set additional cmake file
include (${PROJECT}.cmake)
# additional options
OPTION (WITH_DEBUG_MODE "Build with debug mode" OFF)
# set libraries
set (LIBRARIES)
foreach (LIBRARY ${LIBRARIES})
find_library ("${LIBRARY}_FOUND" ${LIBRARY})
message (STATUS "Check the ${LIBRARY} is installed: " ${${LIBRARY}_FOUND})
if ("${${LIBRARY}_FOUND}" STREQUAL "${LIBRARY}_FOUND-NOTFOUND")
message (STATUS "Adding library sources")
add_subdirectory (../${LIBRARY} lib/${LIBRARY})
endif ()
endforeach ()
include (${SUBPROJECT}.cmake)
# additional targets
set (TARGETS "")
set (HEADERS "")
add_subdirectory (${PROJECT_SOURCE_DIR})
add_subdirectory (${SUBPROJECT_SOURCE_DIR})

View File

@ -1,341 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

View File

@ -1,16 +0,0 @@
CMakeFlags:
-DCMAKE_INSTALL_PREFIX= - install prefix (default is '/usr/local')
-DWITH_DEBUG_MODE=1 - compile with flag '-g' (default is disable)
-DQWT_INCLUDE_PATH - path to qwt includes
-DQWT_LIBRARY_PATH - path to qwt library
Install for Linux:
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release ../
make
make install
Install for Windows:
create project file using 'cmake'
compile project
copy QtCore4.dll, QtGui4.dll, QtOpenGL4.dll, QtSvg4.dll, qwt.dll to directory with mathmech
You may also download compiled executable file for Win_x86.

View File

@ -1,3 +1 @@
Mathematical Molecular Mechanics is GUI for "mm" program pack
Version: 1.0.3
License: GPL

View File

@ -1,31 +1,8 @@
# set directories
set (PROJECT_BINARY_DIR bin)
set (PROJECT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src)
set (PROJECT_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/include)
set (PROJECT_LIB_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib)
set (PROJECT_RESOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/resources)
set (PROJECT_TRANSLATION_DIR ${PROJECT_RESOURCE_DIR}/translations)
set (SUBPROJECT_BINARY_DIR bin)
set (SUBPROJECT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src)
set (SUBPROJECT_RESOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/resources)
set (SUBPROJECT_TRANSLATION_DIR ${SUBPROJECT_RESOURCE_DIR}/translations)
# library path
link_directories (${PROJECT_LIB_DIR})
# executable path
set (EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
# verbose
set (CMAKE_VERBOSE_MAKEFILE ON)
# flags
if ( WITH_DEBUG_MODE )
add_definitions ( -DDEBUG_MODE=1 )
endif ()
if ( CMAKE_COMPILER_IS_GNUCXX )
set (ADD_CXX_FLAGS "-Wall")
set (CMAKE_CXX_FLAGS "-O0 ${ADD_CXX_FLAGS}")
set (CMAKE_CXX_FLAGS_DEBUG "-g -O0")
set (CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG")
elseif ( MSVC )
set (ADD_CXX_FLAGS "/W4")
set (CMAKE_CXX_FLAGS "${ADD_CXX_FLAGS}")
else ()
message ("Unknown compiler")
endif ()
set (EXECUTABLE_OUTPUT_PATH ${SUBPROJECT_BINARY_DIR})

1
mathmech/mathmech/mathmech.desktop Normal file → Executable file
View File

@ -1,3 +1,4 @@
#!/usr/bin/env xdg-open
[Desktop Entry]
Name=Mathematical Molecular Mechanics
Comment=GUI for mathmech program pack

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -3,7 +3,7 @@ file (GLOB SOURCES *.cpp)
file (GLOB HEADERS *.h)
file (GLOB FORMS *.ui)
if (CMAKE_SYSTEM_NAME MATCHES Windows)
set (SOURCES ${SOURCES} ${PROJECT_RESOURCE_DIR}/res_icon.rc)
set (SOURCES ${SOURCES} ${SUBPROJECT_RESOURCE_DIR}/res_icon.rc)
endif ()
# set library
if (CMAKE_COMPILER_IS_GNUCXX)
@ -11,22 +11,18 @@ if (CMAKE_COMPILER_IS_GNUCXX)
else ()
set (LIBRARIES qwt)
endif ()
set (LANGUAGES
eng
rus)
set (RESOURCES ${PROJECT_RESOURCE_DIR}/resources.qrc)
set (LANGUAGES eng
rus)
set (RESOURCES ${SUBPROJECT_RESOURCE_DIR}/resources.qrc)
message (STATUS "SOURCES: ${SOURCES}")
message (STATUS "HEADERS: ${HEADERS}")
message (STATUS "FORMS: ${FORMS}")
message (STATUS "${SUBPROJECT} SOURCES: ${SOURCES}")
message (STATUS "${SUBPROJECT} HEADERS: ${HEADERS}")
message (STATUS "${SUBPROJECT} FORMS: ${FORMS}")
# compile
project (${PROJECT})
# include_path
link_directories (${QWT_LIBRARY_PATH})
include_directories (${PROJECT_INCLUDE_DIR}/${PROJECT}
${PROJECT_SOURCE_DIR}
include_directories (${SUBPROJECT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
${QWT_INCLUDE_PATH})
@ -36,39 +32,28 @@ qt4_add_resources (QRC_SOURCES ${RESOURCES})
qt4_wrap_cpp (MOC_SOURCES ${HEADERS})
qt4_wrap_ui (UI_HEADERS ${FORMS})
foreach (LANGUAGE ${LANGUAGES})
set (TS ${PROJECT_TRANSLATION_DIR}/${LANGUAGE}.ts)
set (QM ${PROJECT_TRANSLATION_DIR}/${LANGUAGE}.qm)
set (TS ${SUBPROJECT_TRANSLATION_DIR}/${LANGUAGE}.ts)
set (QM ${SUBPROJECT_TRANSLATION_DIR}/${LANGUAGE}.qm)
set (TRANSLATIONS ${TRANSLATIONS} ${TS})
set (TRANSLATIONS_BINARY ${TRANSLATIONS_BINARY} ${QM})
add_custom_command (
OUTPUT ${QM}
COMMAND ${QT_LRELEASE_EXECUTABLE} ${TS}
MAIN_DEPENDENCY ${TS})
add_custom_command (OUTPUT ${QM} COMMAND ${QT_LRELEASE_EXECUTABLE} ${TS} MAIN_DEPENDENCY ${TS})
endforeach ()
add_custom_target (
translations
COMMAND ${QT_LUPDATE_EXECUTABLE} ${HEADERS} ${SOURCES} ${UI_HEADERS} -ts ${TRANSLATIONS})
add_custom_command (
TARGET translations
COMMAND ${QT_LRELEASE_EXECUTABLE} ${TRANSLATIONS})
message (STATUS "TRANSLATIONS: ${TRANSLATIONS_BINARY}")
add_custom_target (translations COMMAND ${QT_LUPDATE_EXECUTABLE} ${HEADERS} ${SOURCES} ${UI_HEADERS} -ts ${TRANSLATIONS})
add_custom_command (TARGET translations COMMAND ${QT_LRELEASE_EXECUTABLE} ${TRANSLATIONS})
message (STATUS "${SUBPROJECT} TRANSLATIONS: ${TRANSLATIONS_BINARY}")
source_group ("Header Files" FILES ${HEADERS})
source_group ("Source Files" FILES ${SOURCES})
source_group ("Generated Files" FILES ${MOC_SOURCES})
source_group ("Resource Files" FILES ${QRC_SOURCES})
add_executable (${PROJECT} WIN32 ${UI_HEADERS} ${HEADERS} ${SOURCES} ${MOC_SOURCES} ${QRC_SOURCES} ${TRANSLATIONS})
target_link_libraries (${PROJECT} ${LIBRARIES} ${QT_LIBRARIES} ${QT_QTMAIN_LIBRARY})
add_executable (${SUBPROJECT} WIN32 ${UI_HEADERS} ${HEADERS} ${SOURCES} ${MOC_SOURCES} ${QRC_SOURCES} ${TRANSLATIONS})
target_link_libraries (${SUBPROJECT} ${LIBRARIES} ${QT_LIBRARIES} ${QT_QTMAIN_LIBRARY})
# install properties
install (TARGETS ${PROJECT} DESTINATION bin)
install (TARGETS ${SUBPROJECT} DESTINATION bin)
if (CMAKE_SYSTEM_NAME MATCHES Linux)
install (FILES ../mathmech.desktop
DESTINATION share/applications/)
install (FILES ../mathmech-logo.png
DESTINATION share/pixmaps/)
install (FILES ../mathmech.png
DESTINATION share/icons/hicolor/32x32/apps/)
install (FILES ../mathmech.desktop DESTINATION share/applications/)
install (FILES ../mathmech-logo.png DESTINATION share/pixmaps/)
install (FILES ../mathmech.png DESTINATION share/icons/hicolor/32x32/apps/)
endif ()

View File

@ -1,6 +1,6 @@
#############################################################################
# Makefile for building: mathmech
# Generated by qmake (2.01a) (Qt 4.8.5) on: ?? ??? 26 15:52:26 2013
# Generated by qmake (2.01a) (Qt 4.8.5) on: ?? ??? 3 02:36:06 2013
# Project: mathmech.pro
# Template: app
# Command: /usr/bin/qmake-qt4 -o Makefile mathmech.pro
@ -54,7 +54,8 @@ SOURCES = main.cpp \
aboutwindow.cpp \
statgengraphwindow.cpp \
settingswindow.cpp \
aglallwindow.cpp moc_mainwindow.cpp \
aglallwindow.cpp \
helpwindow.cpp moc_mainwindow.cpp \
moc_errorwindow.cpp \
moc_clear_items.cpp \
moc_start_events.cpp \
@ -64,7 +65,8 @@ SOURCES = main.cpp \
moc_aboutwindow.cpp \
moc_statgengraphwindow.cpp \
moc_settingswindow.cpp \
moc_aglallwindow.cpp
moc_aglallwindow.cpp \
moc_helpwindow.cpp
OBJECTS = main.o \
mainwindow.o \
errorwindow.o \
@ -77,6 +79,7 @@ OBJECTS = main.o \
statgengraphwindow.o \
settingswindow.o \
aglallwindow.o \
helpwindow.o \
moc_mainwindow.o \
moc_errorwindow.o \
moc_clear_items.o \
@ -87,7 +90,8 @@ OBJECTS = main.o \
moc_aboutwindow.o \
moc_statgengraphwindow.o \
moc_settingswindow.o \
moc_aglallwindow.o
moc_aglallwindow.o \
moc_helpwindow.o
DIST = /usr/share/qt4/mkspecs/common/unix.conf \
/usr/share/qt4/mkspecs/common/linux.conf \
/usr/share/qt4/mkspecs/common/gcc-base.conf \
@ -146,7 +150,7 @@ first: all
all: Makefile $(TARGET)
$(TARGET): ui_mainwindow.h ui_errorwindow.h ui_atomtypeswindow.h ui_agglwindow.h ui_aboutwindow.h ui_statgengraphwindow.h ui_settingswindow.h ui_aglallwindow.h $(OBJECTS)
$(TARGET): ui_mainwindow.h ui_errorwindow.h ui_atomtypeswindow.h ui_agglwindow.h ui_aboutwindow.h ui_statgengraphwindow.h ui_settingswindow.h ui_aglallwindow.h ui_helpwindow.h $(OBJECTS)
$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
Makefile: mathmech.pro /usr/share/qt4/mkspecs/linux-g++/qmake.conf /usr/share/qt4/mkspecs/common/unix.conf \
@ -219,7 +223,7 @@ qmake: FORCE
dist:
@$(CHK_DIR_EXISTS) .tmp/mathmech1.0.0 || $(MKDIR) .tmp/mathmech1.0.0
$(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/mathmech1.0.0/ && $(COPY_FILE) --parents mainwindow.h errorwindow.h clear_items.h start_events.h update_fields.h atomtypeswindow.h agglwindow.h aboutwindow.h statgengraphwindow.h settingswindow.h aglallwindow.h .tmp/mathmech1.0.0/ && $(COPY_FILE) --parents main.cpp mainwindow.cpp errorwindow.cpp clear_items.cpp start_events.cpp update_fields.cpp atomtypeswindow.cpp agglwindow.cpp aboutwindow.cpp statgengraphwindow.cpp settingswindow.cpp aglallwindow.cpp .tmp/mathmech1.0.0/ && $(COPY_FILE) --parents mainwindow.ui errorwindow.ui atomtypeswindow.ui agglwindow.ui aboutwindow.ui statgengraphwindow.ui settingswindow.ui aglallwindow.ui .tmp/mathmech1.0.0/ && $(COPY_FILE) --parents rus.ts eng.ts .tmp/mathmech1.0.0/ && (cd `dirname .tmp/mathmech1.0.0` && $(TAR) mathmech1.0.0.tar mathmech1.0.0 && $(COMPRESS) mathmech1.0.0.tar) && $(MOVE) `dirname .tmp/mathmech1.0.0`/mathmech1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/mathmech1.0.0
$(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/mathmech1.0.0/ && $(COPY_FILE) --parents mainwindow.h errorwindow.h clear_items.h start_events.h update_fields.h atomtypeswindow.h agglwindow.h aboutwindow.h statgengraphwindow.h settingswindow.h aglallwindow.h helpwindow.h .tmp/mathmech1.0.0/ && $(COPY_FILE) --parents main.cpp mainwindow.cpp errorwindow.cpp clear_items.cpp start_events.cpp update_fields.cpp atomtypeswindow.cpp agglwindow.cpp aboutwindow.cpp statgengraphwindow.cpp settingswindow.cpp aglallwindow.cpp helpwindow.cpp .tmp/mathmech1.0.0/ && $(COPY_FILE) --parents mainwindow.ui errorwindow.ui atomtypeswindow.ui agglwindow.ui aboutwindow.ui statgengraphwindow.ui settingswindow.ui aglallwindow.ui helpwindow.ui .tmp/mathmech1.0.0/ && $(COPY_FILE) --parents rus.ts eng.ts .tmp/mathmech1.0.0/ && (cd `dirname .tmp/mathmech1.0.0` && $(TAR) mathmech1.0.0.tar mathmech1.0.0 && $(COMPRESS) mathmech1.0.0.tar) && $(MOVE) `dirname .tmp/mathmech1.0.0`/mathmech1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/mathmech1.0.0
clean:compiler_clean
@ -240,9 +244,9 @@ mocclean: compiler_moc_header_clean compiler_moc_source_clean
mocables: compiler_moc_header_make_all compiler_moc_source_make_all
compiler_moc_header_make_all: moc_mainwindow.cpp moc_errorwindow.cpp moc_clear_items.cpp moc_start_events.cpp moc_update_fields.cpp moc_atomtypeswindow.cpp moc_agglwindow.cpp moc_aboutwindow.cpp moc_statgengraphwindow.cpp moc_settingswindow.cpp moc_aglallwindow.cpp
compiler_moc_header_make_all: moc_mainwindow.cpp moc_errorwindow.cpp moc_clear_items.cpp moc_start_events.cpp moc_update_fields.cpp moc_atomtypeswindow.cpp moc_agglwindow.cpp moc_aboutwindow.cpp moc_statgengraphwindow.cpp moc_settingswindow.cpp moc_aglallwindow.cpp moc_helpwindow.cpp
compiler_moc_header_clean:
-$(DEL_FILE) moc_mainwindow.cpp moc_errorwindow.cpp moc_clear_items.cpp moc_start_events.cpp moc_update_fields.cpp moc_atomtypeswindow.cpp moc_agglwindow.cpp moc_aboutwindow.cpp moc_statgengraphwindow.cpp moc_settingswindow.cpp moc_aglallwindow.cpp
-$(DEL_FILE) moc_mainwindow.cpp moc_errorwindow.cpp moc_clear_items.cpp moc_start_events.cpp moc_update_fields.cpp moc_atomtypeswindow.cpp moc_agglwindow.cpp moc_aboutwindow.cpp moc_statgengraphwindow.cpp moc_settingswindow.cpp moc_aglallwindow.cpp moc_helpwindow.cpp
moc_mainwindow.cpp: mainwindow.h
/usr/lib/qt4/bin/moc $(DEFINES) $(INCPATH) mainwindow.h -o moc_mainwindow.cpp
@ -276,6 +280,9 @@ moc_settingswindow.cpp: settingswindow.h
moc_aglallwindow.cpp: aglallwindow.h
/usr/lib/qt4/bin/moc $(DEFINES) $(INCPATH) aglallwindow.h -o moc_aglallwindow.cpp
moc_helpwindow.cpp: helpwindow.h
/usr/lib/qt4/bin/moc $(DEFINES) $(INCPATH) helpwindow.h -o moc_helpwindow.cpp
compiler_rcc_make_all:
compiler_rcc_clean:
compiler_image_collection_make_all: qmake_image_collection.cpp
@ -283,9 +290,9 @@ compiler_image_collection_clean:
-$(DEL_FILE) qmake_image_collection.cpp
compiler_moc_source_make_all:
compiler_moc_source_clean:
compiler_uic_make_all: ui_mainwindow.h ui_errorwindow.h ui_atomtypeswindow.h ui_agglwindow.h ui_aboutwindow.h ui_statgengraphwindow.h ui_settingswindow.h ui_aglallwindow.h
compiler_uic_make_all: ui_mainwindow.h ui_errorwindow.h ui_atomtypeswindow.h ui_agglwindow.h ui_aboutwindow.h ui_statgengraphwindow.h ui_settingswindow.h ui_aglallwindow.h ui_helpwindow.h
compiler_uic_clean:
-$(DEL_FILE) ui_mainwindow.h ui_errorwindow.h ui_atomtypeswindow.h ui_agglwindow.h ui_aboutwindow.h ui_statgengraphwindow.h ui_settingswindow.h ui_aglallwindow.h
-$(DEL_FILE) ui_mainwindow.h ui_errorwindow.h ui_atomtypeswindow.h ui_agglwindow.h ui_aboutwindow.h ui_statgengraphwindow.h ui_settingswindow.h ui_aglallwindow.h ui_helpwindow.h
ui_mainwindow.h: mainwindow.ui
/usr/lib/qt4/bin/uic mainwindow.ui -o ui_mainwindow.h
@ -310,6 +317,9 @@ ui_settingswindow.h: settingswindow.ui
ui_aglallwindow.h: aglallwindow.ui
/usr/lib/qt4/bin/uic aglallwindow.ui -o ui_aglallwindow.h
ui_helpwindow.h: helpwindow.ui
/usr/lib/qt4/bin/uic helpwindow.ui -o ui_helpwindow.h
compiler_yacc_decl_make_all:
compiler_yacc_decl_clean:
compiler_yacc_impl_make_all:
@ -327,10 +337,11 @@ mainwindow.o: mainwindow.cpp aboutwindow.h \
agglwindow.h \
aglallwindow.h \
atomtypeswindow.h \
helpwindow.h \
settingswindow.h \
statgengraphwindow.h \
clear_items.h \
start_events.h \
statgengraphwindow.h \
update_fields.h \
mainwindow.h \
ui_mainwindow.h
@ -386,6 +397,10 @@ aglallwindow.o: aglallwindow.cpp errorwindow.h \
ui_aglallwindow.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o aglallwindow.o aglallwindow.cpp
helpwindow.o: helpwindow.cpp helpwindow.h \
ui_helpwindow.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o helpwindow.o helpwindow.cpp
moc_mainwindow.o: moc_mainwindow.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_mainwindow.o moc_mainwindow.cpp
@ -419,6 +434,9 @@ moc_settingswindow.o: moc_settingswindow.cpp
moc_aglallwindow.o: moc_aglallwindow.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_aglallwindow.o moc_aglallwindow.cpp
moc_helpwindow.o: moc_helpwindow.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_helpwindow.o moc_helpwindow.cpp
####### Install
install: FORCE

View File

@ -1,3 +1,19 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file aboutwindow.cpp
* Source code of mathmech
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#include <QKeyEvent>
#include "aboutwindow.h"

View File

@ -1,3 +1,19 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file aboutwindow.h
* Header of mathmech
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#ifndef ABOUTWINDOW_H
#define ABOUTWINDOW_H

View File

@ -25,7 +25,7 @@ p, li { white-space: pre-wrap; }
&lt;p align=&quot;center&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Mathematical Molecular Mechanics&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Version:&lt;/span&gt; 1.0.0&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;License:&lt;/span&gt; GPL&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;License:&lt;/span&gt; Beerware&lt;/p&gt;
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Author:&lt;/span&gt; Evgeniy Alekseev&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;E-mail:&lt;/span&gt; esalexeev@gmail.com&lt;/p&gt;

View File

@ -1,3 +1,19 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file agglwindow.cpp
* Source code of mathmech
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#include <QDir>
#include <QFileDialog>
#include <QKeyEvent>

View File

@ -1,3 +1,19 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file agglwindow.h
* Header of mathmech
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#ifndef AGGLWINDOW_H
#define AGGLWINDOW_H

View File

@ -1,3 +1,19 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file aglallwindow.cpp
* Source code of mathmech
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#include <QDir>
#include <QFileDialog>
#include <QKeyEvent>

View File

@ -1,3 +1,19 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file aglallwindow.h
* Header of mathmech
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#ifndef AGLALLWINDOW_H
#define AGLALLWINDOW_H

View File

@ -1,3 +1,19 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file atomtypeswindow.cpp
* Source code of mathmech
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#include <QDir>
#include <QFileDialog>
#include <QKeyEvent>

View File

@ -1,3 +1,19 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file atomtypeswindow.h
* Header of mathmech
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#ifndef ATOMTYPESWINDOW_H
#define ATOMTYPESWINDOW_H

View File

@ -1,3 +1,19 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file clear_items.cpp
* Source code of mathmech
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#include "clear_items.h"
#include "mainwindow.h"

View File

@ -1,3 +1,19 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file clear_items.h
* Header of mathmech
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#ifndef CLEAR_ITEMS_H
#define CLEAR_ITEMS_H

View File

@ -1,3 +1,19 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file errorwindow.cpp
* Source code of mathmech
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#include "errorwindow.h"
#include "ui_errorwindow.h"

View File

@ -1,3 +1,19 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file errorwindow.h
* Header of mathmech
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#ifndef ERRORWINDOW_H
#define ERRORWINDOW_H

View File

@ -0,0 +1,84 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file helpwindow.cpp
* Source code of mathmech
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#include <QDir>
#include <QFileDialog>
#include <QKeyEvent>
#include <QTextStream>
#include "errorwindow.h"
#include "helpwindow.h"
#include "ui_helpwindow.h"
HelpWindow::HelpWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::HelpWindow)
{
ui->setupUi(this);
}
HelpWindow::~HelpWindow()
{
delete ui;
}
// ESC press event
void HelpWindow::keyPressEvent(QKeyEvent *pressedKey)
{
if (pressedKey->key() == Qt::Key_Escape)
close();
}
void HelpWindow::on_pushButton_save_clicked()
{
errorwin = new ErrorWindow(this);
QString filename = QFileDialog::getSaveFileName(
this,
tr("Save file as"),
QDir::currentPath(),
tr("html files (*.html);;All files (*.*)"));
if (filename.isEmpty())
return;
filename = QFileInfo(filename).absoluteFilePath();
QFile f_out(filename);
if (!f_out.open(QIODevice::WriteOnly | QIODevice::Text))
{
errorwin->set_message(9);
errorwin->show();
return;
}
QTextStream out(&f_out);
QString text = QString("");
int page = ui->toolBox->currentIndex();
if (page == 0)
text = ui->textBrowser_trj->toHtml();
else if (page == 1)
text = ui->textBrowser_statgen->toHtml();
else if (page == 2)
text = ui->textBrowser_envir->toHtml();
else if (page == 3)
text = ui->textBrowser_radf->toHtml();
else if (page == 4)
text = ui->textBrowser_agl->toHtml();
else if (page == 5)
text = ui->textBrowser_trj2pdb->toHtml();
out << text;
f_out.close();
delete errorwin;
}

View File

@ -0,0 +1,47 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file helpwindow.h
* Header of mathmech
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#ifndef HELPWINDOW_H
#define HELPWINDOW_H
#include <QMainWindow>
class ErrorWindow;
namespace Ui {
class HelpWindow;
}
class HelpWindow : public QMainWindow
{
Q_OBJECT
public:
explicit HelpWindow(QWidget *parent = 0);
~HelpWindow();
private slots:
void on_pushButton_save_clicked();
private:
Ui::HelpWindow *ui;
ErrorWindow *errorwin;
// ESC pressed event
void keyPressEvent(QKeyEvent *pressedKey);
};
#endif /* HELPWINDOW_H */

View File

@ -0,0 +1,416 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>HelpWindow</class>
<widget class="QMainWindow" name="HelpWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>598</width>
<height>456</height>
</rect>
</property>
<property name="windowTitle">
<string>Help</string>
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QToolBox" name="toolBox">
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="page_trj">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>580</width>
<height>233</height>
</rect>
</property>
<property name="toolTip">
<string>Help about trj</string>
</property>
<attribute name="label">
<string>trj</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="0">
<widget class="QTextBrowser" name="textBrowser_trj">
<property name="html">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Liberation Serif'; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;trj&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;Program that generates trajectory files in special format from input trajectory.&lt;/p&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt; &lt;span style=&quot; text-decoration: underline;&quot;&gt;Usage&lt;/span&gt;&lt;br /&gt;mm_trj -i FILE -t TYPE -s NUMBER -a FILE -o MASK [ -tt NUMBER ] [ -l FILE ] [ -q ] [ -h ]&lt;br /&gt; &lt;span style=&quot; text-decoration: underline;&quot;&gt;Parametrs&lt;/span&gt;&lt;br /&gt;-i FILE input trajectory file&lt;br /&gt;-t TYPE trajectory type. Supported formats: gmx, puma&lt;br /&gt;-s NUMBER number of trajectory steps&lt;br /&gt;-a FILE file with atom types&lt;br /&gt;-o MASK mask of output trajectory files&lt;br /&gt;-tt NUMBER maximum number of different atom types. Default is 1024&lt;br /&gt;-l FILE print log to specified file&lt;br /&gt;-q do not print messages to STDOUT&lt;br /&gt;-h show this help and exit&lt;/p&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt; &lt;span style=&quot; text-decoration: underline;&quot;&gt;File formats&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; &lt;span style=&quot; font-style:italic;&quot;&gt;Trajectory files (*.[0-9])&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;&quot;&gt;&lt;li align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Number of atoms is shown in the title.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Trajectory snapshot (enumeration of all atoms in system). Format&lt;br /&gt;00001 СА 1234.000000 1234.000000 1234.000000 01 0001&lt;br /&gt;The sequence number of an atom (5 characters), space, character atom type (2 characters), 2 spaces, X coordinate (11 characters, 6 decimal part), Y coordinate (11 characters, 6 decimal part), Z coordinate (11 characters, 6 decimal part), 4 spaces, numerical atom type (2 characters), space, number of molecule (4 characters).&lt;/li&gt;&lt;/ul&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; &lt;span style=&quot; font-style:italic;&quot;&gt;Atom types file (*.types)&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;&quot;&gt;&lt;li align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The number of different molecules (NUMTYPES=1) is shown in the title.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The molecules enumeration block. Variables are the number of molecules (NUMMOL=1), the number of atoms (NUMAT=1).&lt;br /&gt;The atoms enumeration block. Format&lt;br /&gt;CA=1&lt;br /&gt;Character atom type (2 characters), equal sign, numerical atom type.&lt;/li&gt;&lt;/ul&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt; &lt;span style=&quot; text-decoration: underline;&quot;&gt;Operation of the application&lt;/span&gt;&lt;/p&gt;
&lt;ol style=&quot;margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;&quot;&gt;&lt;li align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Reading titles of source files, setting values of initial variables.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Step by step reading of source files, print results to the specified output file.&lt;/li&gt;&lt;/ol&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt; &lt;span style=&quot; text-decoration: underline;&quot;&gt;Working with GUI&lt;/span&gt;&lt;/p&gt;
&lt;ol style=&quot;margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;&quot;&gt;&lt;li align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Select Menu -&amp;gt; File creator -&amp;gt; Atom types file.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set the output file.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set atom types. To add a new molecule you need select &amp;quot;Add new molecule&amp;quot; from the drop down list. To change the number of molecules you need change the corresponding numeric value. To add a new atom you need enter 2 character to the special field, set numerical atom type and press &amp;quot;Add&amp;quot;. After this the atom will appear in the special window. To remove an atom you need select the desired atom in the special window and press &amp;quot;Remove&amp;quot;.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Create the atom types file.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Go to the tab &amp;quot;Generate trajectory&amp;quot;. Set the work directory.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set the input trajectory file.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Select the trajectory type from the drop down list, set the number of trajectory steps.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set the atom types file.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set the mask of output files.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set the maximum number of different atom types and the log file if this needed.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Run application.&lt;/li&gt;&lt;/ol&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_statgen">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>98</width>
<height>88</height>
</rect>
</property>
<property name="toolTip">
<string>Help about statgen</string>
</property>
<attribute name="label">
<string>statgen</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_4">
<item row="0" column="0">
<widget class="QTextBrowser" name="textBrowser_statgen">
<property name="html">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Liberation Serif'; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;statgen&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;Program that analyzes molecular dynamics trajectories using topological analysis.&lt;/p&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt; &lt;span style=&quot; text-decoration: underline;&quot;&gt;Usage&lt;/span&gt;&lt;br /&gt;mm_statgen -i MASK -s NUMBER,NUMBER -c X,Y,Z -a FORMAT -r FORMAT -o FILE [ -g NUMBER ] [ -l FILE ] [ -q ] [ -h ]&lt;br /&gt; &lt;span style=&quot; text-decoration: underline;&quot;&gt;Parametrs&lt;/span&gt;&lt;br /&gt;-i MASK mask of trajectory files&lt;br /&gt;-s NUMBER,NUMBER first and last trajectory steps&lt;br /&gt;-c X,Y,Z cell size, A&lt;br /&gt;-a FORMAT numerical atom types. Maximum number of different atom types is 4. Types are comma separated&lt;br /&gt;-r FORMAT criteria, A. This flag can be used multiple times. Different interactions are comma separated. Type interaction, colon character, criterion. For example &amp;quot;0-0:2.4,0-1:3.0&amp;quot; means set 0-0 interaction as &amp;lt;2.4 А and 0-1 interaction as &amp;lt;3.0 A&lt;br /&gt;-o FILE output file&lt;br /&gt;-g NUMBER chech graph isomorphism. NUMBER is a maximum depth for search cycles (&amp;gt;= 3)&lt;br /&gt;-l FILE print log to specified file&lt;br /&gt;-q do not print messages to STDOUT&lt;br /&gt;-h show this help and exit&lt;/p&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt; &lt;span style=&quot; text-decoration: underline;&quot;&gt;File formats&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; &lt;span style=&quot; font-style:italic;&quot;&gt;Output file (*.dat)&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;&quot;&gt;&lt;li align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Program name and version are shown in the title. For example, &amp;quot;statgen ::: V.1.1.0&amp;quot;. Blank line.&lt;/li&gt;
&lt;li style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The configuration block &amp;quot;CONFIGURATION ... END&amp;quot;. Print log (LOG=1), do not print messages to STDOUT (QUIET=1), mask of trajectory files (MASK=mask), first (FIRST=1) and last (LAST=1) trajectory steps, sell size (CELL=1.0000,2.0000,3.0000), atom types (ATOMS=1,2,3,4), interactions (INTERACTION=format), maximum depth for check cycle number (DEPTH=0, 0 - do not check graph isomorphism). Blank line.&lt;/li&gt;
&lt;li style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The enumeration of statistics on individual files.&lt;br /&gt;File name (FILE=mask.001), the statistic block for file &amp;quot;STATISTIC ... -----------------&amp;quot;. Table layout (2 rows) follows after specifying the block. The table format&lt;br /&gt; 0000001 0000001 &lt;br /&gt;Space, agglomerate size (7 characters), space, number of agglomerates of this size in the file (7 characters).&lt;br /&gt;The enumeration of agglomerates in the file. Agglomerate title (AGL=2=1.3.4.) (1 number of molecules in the agglomerate, 1.3.4. agglomerate class, if verification of isomorphism is specified). The enumeration of molecules in the agglomerate. (0000001=2,3,4,5,) (1 number of molecule (7 characters), equal sign, the enumeration of connected molecules separated by commas).&lt;/li&gt;
&lt;li style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The summary statistic block &amp;quot;SUMMARY STATISTIC … ------------------------------------------------&amp;quot;. Table layout (2 rows) follows after specifying the block. The table format&lt;br /&gt; 0000001 0000002 000003.00 004.00000 0005.00000&lt;br /&gt;Space, agglomerate size (7 characters), space, total number of agglomerates of this size (7 characters), space, average concentration of agglomerates of this size (9 characters, 2 decimal part), space, probability of finding molecules in agglomerates of this size (9 characters, 5 decimal part), space, probability of finding molecules in agglomerates of this size multiplied by the size (10 characters, 5 decimal part).&lt;/li&gt;
&lt;li style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Summary statistic of agglomerates on classes (if verification of isomorphism is specified). The proportion of linear (LINEAR=0.10000) and cyclic (CYCLE=0.10000) agglomerates, blank line, the proportion of not branched (NOT BRANCHED=0.10000) and branched (BRANCHED=0.10000) agglomerates, blank line, the proportion of found cycles of the specified size (CYCLE_03=0.10000).&lt;/li&gt;&lt;/ul&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt; &lt;span style=&quot; text-decoration: underline;&quot;&gt;Operation of the application&lt;/span&gt;&lt;/p&gt;
&lt;ol style=&quot;margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;&quot;&gt;&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Reading titles of source files, setting values of initial variables.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Step by step reading of source files, settings values of variables.&lt;br /&gt;Search for interactions that satisfy the specified criteria.&lt;br /&gt;The analysis of all connections and specifying to the two molecules that connected, if the conditions are satisfied at least one of these criteria.&lt;br /&gt;Adding molecules to agglomerates according to the obtained connectivity matrix.&lt;br /&gt;Print agglomerates to the file, adding the summary statistics.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Print the summary statistic to the file.&lt;/li&gt;&lt;/ol&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt; &lt;span style=&quot; text-decoration: underline;&quot;&gt;Working with GUI&lt;/span&gt;&lt;/p&gt;
&lt;ol style=&quot;margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;&quot;&gt;&lt;li align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Go to the tab &amp;quot;Agglomeration&amp;quot;. Set the work directory.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set the mask of trajectory files.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set the first and the last trajectory steps.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set the cell size, A.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set needed atoms.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set interactions. Select type of interaction from the drop down list, change its criterion and press &amp;quot;Save&amp;quot;. Press &amp;quot;Add&amp;quot; after ending of edition. After this the interaction will appear in the special window. To remove an interaction you need select the desired interaction in the special window and press &amp;quot;Remove&amp;quot;.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set the output file.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set the maximum depth for search cycles, the log file and the graph generate if this needed.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;For the variation of geometric criteria you need specify the criteria step changes and the number of steps.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Run application.&lt;/li&gt;&lt;/ol&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_envir">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>98</width>
<height>88</height>
</rect>
</property>
<property name="toolTip">
<string>Help about envir</string>
</property>
<attribute name="label">
<string>envir</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_5">
<item row="0" column="0">
<widget class="QTextBrowser" name="textBrowser_envir">
<property name="html">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Liberation Serif'; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;envir&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;Program that searchs environment for chosen molecule by geometric criterion.&lt;/p&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt; &lt;span style=&quot; text-decoration: underline;&quot;&gt;Usage&lt;/span&gt;&lt;br /&gt;mm_envir -i FILE -c X,Y,Z -o FILE [ -n NUMBER ] [ -r NUMBER ] [ -l FILE ] [ -q ] [ -h ]&lt;br /&gt; &lt;span style=&quot; text-decoration: underline;&quot;&gt;Parametrs&lt;/span&gt;&lt;br /&gt;-i FILE input trajectory file&lt;br /&gt;-c X,Y,Z cell size, A&lt;br /&gt;-o FILE output PDB file&lt;br /&gt;-n NUMBER number of molecule for search. Default is 1&lt;br /&gt;-r NUMBER radius of environment. Default is 6.0&lt;br /&gt;-l FILE print log to specified file&lt;br /&gt;-q do not print messages to STDOUT&lt;br /&gt;-h show this help and exit&lt;/p&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt; &lt;span style=&quot; text-decoration: underline;&quot;&gt;File formats&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; &lt;span style=&quot; font-style:italic;&quot;&gt;Trajectory file (*.pdb)&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://www.wwpdb.org/documentation/format33/sect9.html&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://www.wwpdb.org/documentation/format33/sect9.html&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt; &lt;span style=&quot; text-decoration: underline;&quot;&gt;Operation of the application&lt;/span&gt;&lt;/p&gt;
&lt;ol style=&quot;margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;&quot;&gt;&lt;li align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Reading titles of source files, setting values of initial variables.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Reading of source file.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Search for the environment.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Print the environment to the file.&lt;/li&gt;&lt;/ol&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt; &lt;span style=&quot; text-decoration: underline;&quot;&gt;Working with GUI&lt;/span&gt;&lt;/p&gt;
&lt;ol style=&quot;margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;&quot;&gt;&lt;li align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Go to the tab &amp;quot;Environment&amp;quot;. Set the work directory.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set the input trajectory file.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set the cell size, A.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set the output PDB file.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set the number of molecule for search and the radius of environment.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set the log file if this needed.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Run application.&lt;/li&gt;&lt;/ol&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_radf">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>98</width>
<height>88</height>
</rect>
</property>
<property name="toolTip">
<string>Help about radf</string>
</property>
<attribute name="label">
<string>radf</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_6">
<item row="0" column="0">
<widget class="QTextBrowser" name="textBrowser_radf">
<property name="html">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Liberation Serif'; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;radf&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;Program that calculates radial distribution function (RDF) or radial-angles distribution function (RADF).&lt;/p&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt; &lt;span style=&quot; text-decoration: underline;&quot;&gt;Usage&lt;/span&gt;&lt;br /&gt;mm_radf -i MASK -s NUMBER,NUMBER -c X,Y,Z -at FORMAT -o FILE [ -r NUMBER,NUMBER ] [ -rs NUMBER ] [ -a NUMBER,NUMBER ] [ -as NUMBER ] [ -m ] [ -l FILE ] [ -q ] [ -h ]&lt;br /&gt; &lt;span style=&quot; text-decoration: underline;&quot;&gt;Parametrs&lt;/span&gt;&lt;br /&gt;-i MASK mask of trajectory files&lt;br /&gt;-s NUMBER,NUMBER first and last trajectory steps&lt;br /&gt;-c X,Y,Z cell size, A&lt;br /&gt;-at FORMAT numerical atom types between which the function is calculated. Format is &amp;quot;1-2&amp;quot; or &amp;quot;1,2,3-4,5,6&amp;quot; (automatically enable calculation of radial distribution function between centers of mass)&lt;br /&gt;-o FILE output file&lt;br /&gt;-r NUMBER,NUMBER radial criteria, A. Default is 2.0 and 15.0&lt;br /&gt;-rs NUMBER radius change step, A. Default is 0.2&lt;br /&gt;-a NUMBER,NUMBER angular criteria, deg. Default is 0.0 and 90.0&lt;br /&gt;-as NUMBER angle change step, deg. This option will enable calculation of radial-angles distribution function&lt;br /&gt;-as enable matrix output&lt;br /&gt;-l FILE print log to specified file&lt;br /&gt;-q do not print messages to STDOUT&lt;br /&gt;-h show this help and exit&lt;/p&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt; &lt;span style=&quot; text-decoration: underline;&quot;&gt;File formats&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; &lt;span style=&quot; font-style:italic;&quot;&gt;Output file (*.dat)&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;&quot;&gt;&lt;li align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Program name and version are shown in the title. For example, &amp;quot;radf ::: V.1.1.0&amp;quot;. Blank line.&lt;/li&gt;
&lt;li style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The configuration block &amp;quot;CONFIGURATION ... END&amp;quot;. Print log (LOG=1), do not print messages to STDOUT (QUIET=1), matrix output (MATRIX=1), mask of trajectory files (MASK=mask), first (FIRST=1) and last (LAST=1) trajectory steps, sell size (CELL=1.0000,2.0000,3.0000), mode (MODE=0) (0 radial distribution function, 1 radial distribution function between centers of mass, 2 radial-angles distribution function), radial criteria (R_MIN=0.100) (R_MAX=0.100) (R_STEP=0.100), angular criteria for radial-angles distribution function (ANG_MIN=0.10) (ANG_MAX=0.10) (ANG_STEP=0.10), atom types (ATOM=1-2) or (ATOM=1,2,3-4,5,6). Blank line.&lt;/li&gt;
&lt;li style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The results block «SUMMARY STATISTIC … ------------------------------------------------». Table layout (2 rows) follows after specifying the block if matrix output disables.&lt;br /&gt;The table format for radial distribution function (matrix output disables)&lt;br /&gt; 0001.0000 2.0000e-01 000000003 04.000000&lt;br /&gt;Space, sphere radius (9 characters, 4 decimal part), space, segment volume (10 characters, 4 decimal part), space, number of molecules in this radius (9 characters), space, radial distribution function (9 characters, 6 decimal part).&lt;br /&gt;The table format for radial distribution function (matrix output enables)&lt;br /&gt; 0001.0000 04.000000&lt;br /&gt;Space, sphere radius (9 characters, 4 decimal part), space, radial distribution function (9 characters, 6 decimal part).&lt;br /&gt;The table format for radial-angles distribution function (matrix output disables)&lt;br /&gt; 0001.0000 000005.00 2.0000e-01 000000003 04.000000&lt;br /&gt;Space, sphere radius (9 characters, 4 decimal part), space, segment angle (9 characters, 2 decimal part), segment volume (10 characters, 4 decimal part), space, number of molecules in this segment (9 characters), space, radial-angles distribution function (9 characters, 6 decimal part).&lt;br /&gt;The table format for radial-angles distribution function (matrix output enables). Segment angle (9 characters, 2 decimal part) is shown in the title&lt;br /&gt; 0001.0000 04.000000 ...&lt;br /&gt;Space, sphere radius (9 characters, 4 decimal part), space, radial-angles distribution function (9 characters, 6 decimal part) separated by spaces.&lt;/li&gt;
&lt;li style=&quot; margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;End of the table&lt;/li&gt;&lt;/ul&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt; &lt;span style=&quot; text-decoration: underline;&quot;&gt;Operation of the application&lt;/span&gt;&lt;/p&gt;
&lt;ol style=&quot;margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;&quot;&gt;&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Reading titles of source files, setting values of initial variables.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Step by step reading of source files, settings values of variables.&lt;br /&gt;Calculating of the number of pairs of molecules in various relative configurations.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Print the result to the file.&lt;br /&gt;Radial distribution function calculated by:&lt;br /&gt;RDF(r) = (1 / norm) * sum(d(r_n-r), n),&lt;br /&gt;norm(r) = (4*PI*r^2*dr) * ro * N * N_step,&lt;br /&gt;where d(r_n-r) is the delta function, r is a shpere radius, n is a number of molecule, dr is the radius change step, ro is the number of molecules per volume unit, N is the number of molecules, N_step is a number of trajectory step.&lt;br /&gt;Radial-angles distribution function calculated by:&lt;br /&gt;RADF(r, fi) = (1 / norm) * sum(sum(d(r_n-r)*d(fi_n-fi), n), n),&lt;br /&gt;norm(r, fi) = (4*PI*r^2*sin(fi)*dr*dfi) * ro * N * N_step,&lt;br /&gt;where d(r_n-r) and d(fi_n-fi) are the delta functions, r is a shpere radius, fi is a segment angle, n is a number of molecule, dr is the radius change step, dfi is the angle change step, ro is the number of molecules per volume unit, N is the number of molecules, N_step is a number of trajectory step.&lt;/li&gt;&lt;/ol&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt; &lt;span style=&quot; text-decoration: underline;&quot;&gt;Working with GUI&lt;/span&gt;&lt;/p&gt;
&lt;ol style=&quot;margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;&quot;&gt;&lt;li align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Go to the tab &amp;quot;RADF&amp;quot;. Set the work directory.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set the mask of trajectory files.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set the first and the last trajectory steps.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set the cell size, A.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set the output file.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set needed atoms.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set radial criteria. Set angular criteria if this needed.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set the matrix output, the log file and the graph generate if this needed.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Run application.&lt;/li&gt;&lt;/ol&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_agl">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>98</width>
<height>88</height>
</rect>
</property>
<property name="toolTip">
<string>Help about agl</string>
</property>
<attribute name="label">
<string>agl</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<widget class="QTextBrowser" name="textBrowser_agl">
<property name="html">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Liberation Serif'; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;agl&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;Program that creates PDB file with chosen agglomerate.&lt;/p&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt; &lt;span style=&quot; text-decoration: underline;&quot;&gt;Usage&lt;/span&gt;&lt;br /&gt;mm_agl -a FILE -i FILE -c X,Y,Z -o FILE [ -l FILE ] [ -q ] [ -h ]&lt;br /&gt; &lt;span style=&quot; text-decoration: underline;&quot;&gt;Parametrs&lt;/span&gt;&lt;br /&gt;-a FILE input file with agglomerate&lt;br /&gt;-i FILE input trajectory file&lt;br /&gt;-c X,Y,Z cell size, A&lt;br /&gt;-o FILE output PDB file&lt;br /&gt;-l FILE print log to specified file&lt;br /&gt;-q do not print messages to STDOUT&lt;br /&gt;-h show this help and exit&lt;/p&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt; &lt;span style=&quot; text-decoration: underline;&quot;&gt;File formats&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; &lt;span style=&quot; font-style:italic;&quot;&gt;Agglomerate file (*.agl)&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;&quot;&gt;&lt;li align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Agglomerate title (AGL=2=1.3.4.) (1 number of molecules in the agglomerate, 1.3.4. agglomerate class, if verification of isomorphism is specified).&lt;/li&gt;
&lt;li style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The enumeration of molecules in the agglomerate (0000001=2,3,4,5,) (1 number of molecule (7 characters), equal sign, the enumeration of connected molecules separated by commas).&lt;/li&gt;&lt;/ul&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; &lt;span style=&quot; font-style:italic;&quot;&gt;Trajectory file (*.pdb)&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://www.wwpdb.org/documentation/format33/sect9.html&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://www.wwpdb.org/documentation/format33/sect9.html&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt; &lt;span style=&quot; text-decoration: underline;&quot;&gt;Operation of the application&lt;/span&gt;&lt;/p&gt;
&lt;ol style=&quot;margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;&quot;&gt;&lt;li align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Reading titles of source files, setting values of initial variables.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Reading of source file.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Search for the best configuration.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Print the result to the file.&lt;/li&gt;&lt;/ol&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt; &lt;span style=&quot; text-decoration: underline;&quot;&gt;Working with GUI&lt;/span&gt;&lt;/p&gt;
&lt;ol style=&quot;margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;&quot;&gt;&lt;li align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Select Menu -&amp;gt; File creator -&amp;gt; Agglomerate file.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set the file generated by statgen. Push &amp;quot;Select&amp;quot;.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Select the trajectory file from the drop down list. Select the agglomerate.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set the output file. Create file.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Go to the tab &amp;quot;Generate PDB&amp;quot;. Select &amp;quot;From agglomerate&amp;quot; from the drop down list.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set the work directory.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set the input trajectory file.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set the agglomerate file.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set the cell size, A.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set the output PDB file.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set the log file if this needed.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Run application.&lt;/li&gt;&lt;/ol&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_trj2pdb">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>98</width>
<height>88</height>
</rect>
</property>
<property name="toolTip">
<string>Help about trj2pdb</string>
</property>
<attribute name="label">
<string>trj2pdb</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_7">
<item row="0" column="0">
<widget class="QTextBrowser" name="textBrowser_trj2pdb">
<property name="html">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Liberation Serif'; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;trj2pdb&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;Program that creates PDB file from trajetory snapshot.&lt;/p&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt; &lt;span style=&quot; text-decoration: underline;&quot;&gt;Usage&lt;/span&gt;&lt;br /&gt;mm_trj2pdb -i FILE -o FILE [ -l FILE ] [ -q ] [ -h ]&lt;br /&gt; &lt;span style=&quot; text-decoration: underline;&quot;&gt;Parametrs&lt;/span&gt;&lt;br /&gt;-i FILE input trajectory file&lt;br /&gt;-o FILE output PDB file&lt;br /&gt;-l FILE print log to specified file&lt;br /&gt;-q do not print messages to STDOUT&lt;br /&gt;-h show this help and exit&lt;/p&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt; &lt;span style=&quot; text-decoration: underline;&quot;&gt;File formats&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; &lt;span style=&quot; font-style:italic;&quot;&gt;Trajectory file (*.pdb)&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://www.wwpdb.org/documentation/format33/sect9.html&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://www.wwpdb.org/documentation/format33/sect9.html&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt; &lt;span style=&quot; text-decoration: underline;&quot;&gt;Operation of the application&lt;/span&gt;&lt;/p&gt;
&lt;ol style=&quot;margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;&quot;&gt;&lt;li align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Reading titles of source files, setting values of initial variables.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Reading of source file.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Print the result to the file.&lt;/li&gt;&lt;/ol&gt;
&lt;p align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt; &lt;span style=&quot; text-decoration: underline;&quot;&gt;Working with GUI&lt;/span&gt;&lt;/p&gt;
&lt;ol style=&quot;margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;&quot;&gt;&lt;li align=&quot;justify&quot; style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Go to the tab &amp;quot;Generate PDB&amp;quot;. Select &amp;quot;From trajectory snapshot&amp;quot; from the drop down list.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set the work directory.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set the input trajectory file.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set the output PDB file.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set the log file if this needed.&lt;/li&gt;
&lt;li align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Run application.&lt;/li&gt;&lt;/ol&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
<item row="1" column="0">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="pushButton_save">
<property name="minimumSize">
<size>
<width>80</width>
<height>23</height>
</size>
</property>
<property name="toolTip">
<string>Save help to html</string>
</property>
<property name="text">
<string>Save html</string>
</property>
<property name="autoDefault">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_close">
<property name="minimumSize">
<size>
<width>80</width>
<height>23</height>
</size>
</property>
<property name="toolTip">
<string>Close window</string>
</property>
<property name="text">
<string>Close</string>
</property>
<property name="autoDefault">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</widget>
<tabstops>
<tabstop>textBrowser_trj</tabstop>
<tabstop>textBrowser_statgen</tabstop>
<tabstop>textBrowser_envir</tabstop>
<tabstop>textBrowser_radf</tabstop>
<tabstop>textBrowser_agl</tabstop>
<tabstop>textBrowser_trj2pdb</tabstop>
<tabstop>pushButton_save</tabstop>
<tabstop>pushButton_close</tabstop>
</tabstops>
<resources/>
<connections>
<connection>
<sender>pushButton_close</sender>
<signal>clicked()</signal>
<receiver>HelpWindow</receiver>
<slot>close()</slot>
<hints>
<hint type="sourcelabel">
<x>545</x>
<y>431</y>
</hint>
<hint type="destinationlabel">
<x>598</x>
<y>414</y>
</hint>
</hints>
</connection>
</connections>
</ui>

View File

@ -1,3 +1,19 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file main.cpp
* Source code of mathmech
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#include "mainwindow.h"
#include <QApplication>
#include <QDir>

View File

@ -1,3 +1,19 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file mainwindow.cpp
* Source code of mathmech
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#include <QFileDialog>
#include <QDir>
@ -5,10 +21,11 @@
#include "agglwindow.h"
#include "aglallwindow.h"
#include "atomtypeswindow.h"
#include "helpwindow.h"
#include "settingswindow.h"
#include "statgengraphwindow.h"
#include "clear_items.h"
#include "start_events.h"
#include "statgengraphwindow.h"
#include "update_fields.h"
#include "mainwindow.h"
@ -928,9 +945,10 @@ void MainWindow::createActions()
{
connect(ui->actionAtom_types_file, SIGNAL(triggered()), this, SLOT(createAtomTypes()));
connect(ui->actionAgglomerate_file, SIGNAL(triggered()), this, SLOT(createAgglFile()));
connect(ui->actionAbout, SIGNAL(triggered()), this, SLOT(aboutWin()));
connect(ui->actionSettings, SIGNAL(triggered()), this, SLOT(settingsWinShow()));
connect(ui->actionAgl_all, SIGNAL(triggered()), this, SLOT(aglallWinShow()));
connect(ui->actionHelp, SIGNAL(triggered()), this, SLOT(helpWindow()));
connect(ui->actionSettings, SIGNAL(triggered()), this, SLOT(settingsWinShow()));
connect(ui->actionAbout, SIGNAL(triggered()), this, SLOT(aboutWin()));
}
void MainWindow::createAtomTypes()
@ -967,3 +985,10 @@ void MainWindow::aglallWinShow()
aglallWin = new AglAllWindow(this, mm_agl_path);
aglallWin->show();
}
void MainWindow::helpWindow()
{
HelpWindow *helpWindow;
helpWindow = new HelpWindow(this);
helpWindow->show();
}

View File

@ -1,3 +1,19 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file mainwindow.h
* Header of mathmech
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
@ -86,11 +102,12 @@ private slots:
// completion
void on_tabWidget_currentChanged(int index);
// window signals
void createAtomTypes();
void createAgglFile();
void aboutWin();
void settingsWinShow();
void aglallWinShow();
void createAgglFile();
void createAtomTypes();
void settingsWinShow();
void helpWindow();
private:
Ui::MainWindow *ui;

View File

@ -1352,6 +1352,9 @@
<property name="toolTip">
<string>Number of steps of analysis</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="minimum">
<number>1</number>
</property>
@ -3710,6 +3713,7 @@
<property name="title">
<string>Help</string>
</property>
<addaction name="actionHelp"/>
<addaction name="actionAbout"/>
</widget>
<addaction name="menuMenu"/>
@ -3755,6 +3759,14 @@
<string>agl_all</string>
</property>
</action>
<action name="actionHelp">
<property name="text">
<string>&amp;Help</string>
</property>
<property name="shortcut">
<string>F1</string>
</property>
</action>
</widget>
<layoutdefault spacing="6" margin="11"/>
<tabstops>

View File

@ -19,7 +19,8 @@ HEADERS += mainwindow.h \
aboutwindow.h \
statgengraphwindow.h \
settingswindow.h \
aglallwindow.h
aglallwindow.h \
helpwindow.h
FORMS += mainwindow.ui \
errorwindow.ui \
atomtypeswindow.ui \
@ -27,7 +28,8 @@ FORMS += mainwindow.ui \
aboutwindow.ui \
statgengraphwindow.ui \
settingswindow.ui \
aglallwindow.ui
aglallwindow.ui \
helpwindow.ui
SOURCES += main.cpp mainwindow.cpp \
errorwindow.cpp \
clear_items.cpp \
@ -38,7 +40,8 @@ SOURCES += main.cpp mainwindow.cpp \
aboutwindow.cpp \
statgengraphwindow.cpp \
settingswindow.cpp \
aglallwindow.cpp
aglallwindow.cpp \
helpwindow.cpp
TRANSLATIONS += rus.ts \
eng.ts

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 2.8.1, 2013-08-30T19:09:45. -->
<!-- Written by QtCreator 2.8.1, 2013-09-03T05:28:10. -->
<qtcreator>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>

View File

@ -1,3 +1,19 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file settingswindow.cpp
* Source code of mathmech
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#include <QApplication>
#include <QDir>
#include <QKeyEvent>

View File

@ -1,3 +1,19 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file settingswindow.h
* Header of mathmech
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#ifndef SETTINGSWINDOW_H
#define SETTINGSWINDOW_H

View File

@ -1,3 +1,19 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file start_events.cpp
* Source code of mathmech
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#include <QDir>
#include <math.h>

View File

@ -1,3 +1,19 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file start_events.h
* Header of mathmech
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#ifndef START_EVENTS_H
#define START_EVENTS_H

View File

@ -1,3 +1,19 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file statgengraphwindow.cpp
* Source code of mathmech
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#include <QDir>
#include <QFileDialog>
#include <QKeyEvent>

View File

@ -1,3 +1,19 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file statgengraphwindow.h
* Header of mathmech
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#ifndef STATGENGRAPHWINDOW_H
#define STATGENGRAPHWINDOW_H

View File

@ -1,3 +1,19 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file update_fields.cpp
* Source code of mathmech
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#include <QDir>
#include <math.h>

View File

@ -1,3 +1,19 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file update_fields.h
* Header of mathmech
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#ifndef UPDATE_FIELDS_H
#define UPDATE_FIELDS_H

View File

@ -0,0 +1,10 @@
# set project name
set (SUBPROJECT mm)
# set additional cmake file
include (${SUBPROJECT}.cmake)
# additional targets
set (TARGETS "")
set (HEADERS "")
add_subdirectory (${SUBPROJECT_SOURCE_DIR})

1
mathmech/mm/README Normal file
View File

@ -0,0 +1 @@
libmm is a library for "mm" project

View File

@ -0,0 +1,45 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file atom_types.h
* Header of mathmech library
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#ifndef ATOM_TYPES_H
#define ATOM_TYPES_H
/**
* @brief function that reads atom types from input file
* @code
* reading_atoms (input_at, &num_types, num_mol, num_atoms, ch_atom_types, atom_types,
* total_types);
* @endcode
*
* @param input_at input file name with atom types
* @param num_types number of molecule types
* @param num_mol massive of number of molecules of selected type
* @param num_atoms massive of number of atoms of selected molecule
* @param ch_atom_types massive of char atom types
* @param atom_types massive of atom types
* @param total_types number of different atom types
*
* @return 1 - error in opening file
* @return 2 - error in file format
* @return 3 - memory error
* @return 0 - exit without errors
*/
int reading_atoms (const char *input_at, int *num_types, int *num_mol, int *num_atoms,
char *ch_atom_types, int *atom_types, const int total_types);
#endif /* ATOM_TYPES_H */

View File

@ -0,0 +1,51 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file coords.h
* Header of mathmech library
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#ifndef COORDS_H
#define COORDS_H
#include <mathmech/var_types.h>
/**
* @brief function that reads coordinates from special file format
* @code
* reading_coords (0, filename, type_inter, label_atom, &_system_info,
* true_label_mol, _atom_info);
* @endcode
*
* @param mode mode of reading; '0' is statgen, '1' is envir or
* frad, '2' is agl
* @param filename input file name
* @param type_inter number of needed atoms
* (number of needed molecules)
* @param label_atom massive of needed atom types
* (massive of needed molecules)
* @param _system_info system information structure
* @param true_label_mol massive of true numbers of molecule for atoms
* @param _atom_info atom information structure
*
* @return 1 - file $filename does not exist
* @return 2 - unknown mode
* @return 3 - memory error
* @return 0 - exit without errors
*/
int reading_coords (const int mode, const char *filename, const int type_inter,
const int *label_atom, system_info *_system_info,
int *true_label_mol, atom_info *_atom_info);
#endif /* COORDS_H */

View File

@ -0,0 +1,43 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file envir_search.h
* Header of mathmech library
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#ifndef ENVIR_SEARCH_H
#define ENVIR_SEARCH_H
#include <mathmech/var_types.h>
/**
* @brief function that searchs environment
* @code
* search_envir (number_of_molecule, _system_info, centr_coords, rad, needed_mol,
* &num_needed_mol);
* @endcode
*
* @param num_of_mol number of molecule
* @param _system_info system information structure
* @param centr_coords massive of centered coordinates
* @param rad radius of environment sphere
* @param needed_mol massive of number of needed molecules
* @param num_needed_mol number of needed molecules
*
* @return 0 - exit without errors
*/
int search_envir (const int num_of_mol, const system_info _system_info, const float *centr_coords,
const double rad, int *needed_mol, int *num_needed_mol);
#endif /* ENVIR_SEARCH_H */

View File

@ -0,0 +1,83 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file graph.h
* Header of mathmech library
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#ifndef GRAPH_H
#define GRAPH_H
/**
* @brief function that calculates number of cycles in graph
* @code
* cycle = check_cycle (N, pn);
* @endcode
*
* @param N number of vertexes
* @param pn massive of number of vertexes with weight equals to i
*
* @return number of cycles
*/
int check_cycle (const int N, const int *pn);
/**
* @brief function that returns number of cycles different size
* @code
* check_cycle_size (N, matrix, depth, n_cycle);
* @endcode
*
* @param N number of vertexes
* @param matrix connectivity matrix
* @param depth depth of search (maximum number of vertexes in cycle)
* @param n_cycle massive of number of cycle with number of vertexes
* equals to i
*
* @return 1 - memory error
* @return 0 - exit without errors
*/
int check_cycle_size (const int N, const int *matrix, const int depth, int *n_cycle);
/**
* @brief function that calculates number of tails
* @code
* tails = check_tail (pn);
* @endcode
*
* @param pn massive of number of vertexes with weight equals to i
*
* @return number of tails
*/
int check_tail (const int *pn);
/**
* @brief function that analyzes graph isomorhic class
* @code
* graph_analyze (N, matrix, max_depth, iso);
* @endcode
*
* @param N number of vertexes
* @param matrix connectivity matrix
* @param max_depth maximum depth of search for check_cycle_size
* @param iso isomorphism class
*
* @return 1 - memory error
* @return 0 - exit without errors
*/
int graph_analyze (const int N, const int *matrix, const int max_depth, int *iso);
#endif /* GRAPH_H */

View File

@ -0,0 +1,38 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file messages.h
* Header of mathmech library
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#ifndef MESSAGES_H
#define MESSAGES_H
/**
* @brief function that prints messages to output
* @code
* message (log, mode, text, output);
* @endcode
*
* @param log equal to 1 if print to logfile
* @param mode number of message
* @param text additional text
* @param output output file (may be stdout)
*
* @return 1 - unknown mode
* @return 0 - exit without errors
*/
int message (const int log, const int mode, const char *text, FILE *output);
#endif /* MESSAGES_H */

View File

@ -0,0 +1,41 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file print_struct.h
* Header of mathmech library
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#ifndef PRINT_STRUCT_H
#define PRINT_STRUCT_H
#include <mathmech/var_types.h>
/**
* @brief function that prints structure to pdb file
* @code
* print_structure (output, num_needed_mol, needed_mol, _system_info, _atom_info);
* @endcode
*
* @param output output file name
* @param num_needed_mol number of needed molecules
* @param needed_mol massive of number of needed molecules
* @param _system_info system information structure
* @param _atom_info atom information structure
*
* @return 0 - exit without errors
*/
int print_structure (const char *output, const int num_needed_mol, const int *needed_mol,
const system_info _system_info, const atom_info *_atom_info);
#endif /* PRINT_STRUCT_H */

View File

@ -0,0 +1,45 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file print_trj.h
* Header of mathmech library
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#ifndef PRINT_TRJ_H
#define PRINT_TRJ_H
/**
* @brief function that prints trajectory snapshots
* @code
* printing_trj (filename, atoms, num_types, num_mol, num_atoms, ch_atom_types,
* atom_types, coords);
* @endcode
*
* @param filename output file name
* @param atoms number of atoms in system
* @param num_types number of molecule types
* @param num_mol massive of number of molecule of selected type
* @param num_atoms massive of number of atoms of selected molecule
* @param ch_atom_types massive of char atom types
* @param atom_types massive of atom types
* @param coords massive of coordinates
* @param cell cell size
*
* @return 0 - exit without errors
*/
int printing_trj (const char *filename, const int atoms, const int num_types, const int *num_mol,
const int *num_atoms, const char *ch_atom_types, const int *atom_types,
const float *coords, const float *cell);
#endif /* PRINT_TRJ_H */

View File

@ -0,0 +1,76 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file radf.h
* Header of mathmech library
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#ifndef RADF_H
#define RADF_H
#include <mathmech/var_types.h>
/**
* @brief function that searchs molecule for rdf massive
* @code
* search_rdf (_system_info, _atom_info, _radf_info, radf);
* @endcode
*
* @param _system_info system information structure
* @param _atom_info atom information structure
* @param _radf_info radf information structure
* @param radf not normed RDF
*
* @return 0 - exit without errors
*/
int search_rdf (const system_info _system_info, const atom_info *_atom_info,
const radf_info _radf_info, int *radf);
/**
* @brief function that searchs molecule for rdf massive by centered coordinates
* @code
* search_rdf_centr (_system_info, _atom_info, _radf_info, radf);
* @endcode
*
* @param _system_info system information structure
* @param _atom_info atom information structure
* @param _radf_info radf information structure
* @param radf not normed RDF
*
* @return 0 - exit without errors
* @return 1 - error in set center (missing atoms)
*/
int search_rdf_centr (const system_info _system_info, const atom_info *_atom_info,
const radf_info _radf_info, int *radf);
/**
* @brief function that searchs molecule for radf massive
* @code
* search_radf (_system_info, _atom_info, _radf_info, radf);
* @endcode
*
* @param _system_info system information structure
* @param _atom_info atom information structure
* @param _radf_info radf information structure
* @param radf not normed RDF
*
* @return 0 - exit without errors
* @return 1 - error in set center (missing atoms)
*/
int search_radf (const system_info _system_info, const atom_info *_atom_info,
const radf_info _radf_info, int *radf);
#endif /* RADF_H */

View File

@ -0,0 +1,43 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file radf_proc.h
* Header of mathmech library
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#ifndef RADF_PROC_H
#define RADF_PROC_H
#include <mathmech/var_types.h>
/**
* @brief function that print result to output file
* @code
* print_result (output, matrix, mode, _system_info, _radf_info, radf);
* @endcode
*
* @param output output file name
* @param matrix status of matrix-mode
* @param mode 1 - if RDF, 2 - if RDF for center mass, 3 - if RADF
* @param _system_info system information structure
* @param _radf_info radf information structure
* @param radf not normed RADF
*
* @return 0 - exit without errors
*/
int print_result (const char *output, const int matrix, const int mode,
const system_info _system_info, const radf_info _radf_info,
const int *radf);
#endif /* RADF_PROC_H */

View File

@ -0,0 +1,37 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file read_agl.h
* Header of mathmech library
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#ifndef READ_AGL_H
#define READ_AGL_H
/**
* @brief function that reads agglomerate from statgen-formated file
* @code
* reading_agl (aglinput, &num_needed_mol, agl_class, needed_mol);
* @endcode
*
* @param aglinp agglomerate file name
* @param num_needed_mol number of needed molecules
* @param agl_class agglomerate class
* @param needed_mol massive of numbed of needed molecules
*
* @return 0 - exit without errors
*/
int reading_agl (const char *aglinp, int *num_needed_mol, char *agl_class, int *needed_mol);
#endif /* READ_AGL_H */

View File

@ -0,0 +1,61 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file read_gmx.h
* Header of mathmech library
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#ifndef READ_GMX_H
#define READ_GMX_H
/**
* @brief funtion that translates coordinate
* @code
* translate_coords (coords[3*i+j], cell[j], trans);
* @endcode
*
* @param coords coordinate
* @param cell cell size
* @param trans massive of translated coordinates
*
* @return 0 - exit without errors
*/
int translate_coords (const float coords, const float cell, float *trans);
/**
* @brief function that read GROMACS trajectory file and write to output
* @code
* rw_gmx (input, step, output, num_types, num_mol, num_atoms, ch_atom_types,
* atom_types, coords);
* @endcode
*
* @param input input file name
* @param step number of trajectory steps
* @param output mask of output files
* @param num_types number of molecule types
* @param num_mol massive of number of molecule of selected type
* @param num_atoms massive of number of atoms of selected molecule
* @param ch_atom_types massive of char atom types
* @param atom_types massive of atom types
* @param coords massive of coordinates
*
* @return 1 - file does not exist
* @return 0 - exit without errors
*/
int rw_gmx (const char *input, const int step, const char *output, const int num_types,
const int *num_mol, const int *num_atoms, const char *ch_atom_types,
const int *atom_types, float *coords);
#endif /* READ_GMX_H */

View File

@ -0,0 +1,46 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file read_puma.h
* Header of mathmech library
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#ifndef READ_PUMA_H
#define READ_PUMA_H
/**
* @brief function that read PUMA trajectory file and write to output
* @code
* rw_puma (input, step, output, num_types, num_mol, num_atoms, ch_atom_types,
* atom_types, coords);
* @endcode
*
* @param input input file name
* @param step number of trajectory steps
* @param output mask of output files
* @param num_types number of molecule types
* @param num_mol massive of number of molecule of selected type
* @param num_atoms massive of number of atoms of selected molecule
* @param ch_atom_types massive of char atom types
* @param atom_types massive of atom types
* @param coords massive of coordinates
*
* @return 1 - file does not exist
* @return 0 - exit without errors
*/
int rw_puma (const char *input, const int step, const char *output, const int num_types,
const int *num_mol, const int *num_atoms, const char *ch_atom_types,
const int *atom_types, float *coords);
#endif /* READ_PUMA_H */

View File

@ -0,0 +1,36 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file select_mol.h
* Header of mathmech library
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#ifndef SELECT_MOL_H
#define SELECT_MOL_H
/**
* @brief function that selects molecules from array of translated molecules
* @code
* select_molecule (centr_coords, num_needed_mol, needed_mol);
* @endcode
*
* @param centr_coords massive of centered coordinates
* @param num_needed_mol number of needed molecules
* @param needed_mol massive of number of needed molecules
*
* @return 0 - exit without errors
*/
int select_molecule (const float *centr_coords, const int num_needed_mol, int *needed_mol);
#endif /* SELECT_MOL_H */

View File

@ -0,0 +1,39 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file set_center.h
* Header of mathmech library
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#ifndef SET_CENTER_H
#define SET_CENTER_H
#include <mathmech/var_types.h>
/**
* @brief function that searchs center mass of molecules
* @code
* set_center (_system_info, _atom_info, centr_coords);
* @endcode
*
* @param _system_info system information structure
* @param _atom_info atom information structure
* @param centr_coords massive of centered coordinates
*
* @return 0 - exit without errors
*/
int set_center (const system_info _system_info, const atom_info *_atom_info,
float *centr_coords);
#endif /* SET_CENTER_H */

View File

@ -0,0 +1,50 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* Evgeniy Alekseev wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return
* ----------------------------------------------------------------------------
*/
/**
* @file stat_print.h
* Header of mathmech library
* @author Evgeniy Alekseev (arcanis)
* @copyright Beerware
* @bug No known bugs
*/
#ifndef STAT_PRINT_H
#define STAT_PRINT_H
#include <mathmech/var_types.h>
/**
* @brief function that prints agglomerates to output file
* @code
* printing_agl (input, output, connect, _system_info, true_label_mol, num_mol_agl,
* agl, stat, max_depth, type_agl);
* @endcode
*
* @param input input file name
* @param output output file name
* @param connect connectivity graph for all molecules
* @param _system_info system information structure
* @param true_label_mol massive of true numbers of molecule for atoms
* @param num_mol_agl massive of number of molecules in agglomerates
* @param agl massive of agglomerates
* @param stat massive of statistic
* @param max_depth maximum depth for check cycles in graph analyze
* @param type_agl massive of number of agglomerate types
*
* @return 1 - memory error
* @return 0 - exit without errors
*/
int printing_agl (const char *input, const char *output, const int *connect,
const system_info _system_info, const int *true_label_mol,
const int *num_mol_agl, const int *agl, const int *stat,
const int max_depth, int *type_agl);
#endif /* STAT_PRINT_H */

Some files were not shown because too many files have changed in this diff Show More