From 38bb73d4f1f3878ca1ee6efe24e8729781321190 Mon Sep 17 00:00:00 2001 From: arcan1s Date: Mon, 5 Aug 2013 06:07:59 +0400 Subject: [PATCH] Release mm_trj-1.0.1 --- mm_trj/README | 22 +++----- mm_trj/src/main.c | 23 ++++---- mm_trj/src/mm_trj | Bin 20314 -> 0 bytes mm_trj/src/read_gmx.c | 116 +++++++++++++++++++++++++++++++++++++++++ mm_trj/src/read_gmx.h | 4 ++ mm_trj/src/read_puma.c | 29 +++++++---- mm_trj/src/types | 32 ------------ 7 files changed, 155 insertions(+), 71 deletions(-) delete mode 100755 mm_trj/src/mm_trj delete mode 100644 mm_trj/src/types diff --git a/mm_trj/README b/mm_trj/README index 5789488..d4fdab8 100644 --- a/mm_trj/README +++ b/mm_trj/README @@ -3,22 +3,16 @@ Version : 1.0.1 License : GPL Usage: -mm_radf -i INPUT -s FIRST,LAST -c X,Y,Z -a ... -o OUTPUT [ -r MIN,MAX ] [ -rs R_STEP ] - [ -a MIN,MAX ] [ -as ANG_STEP ] [ -m ] [ -l LOGFILE ] [ -q ] [ -h ] +mm_trj -i INPUT_TRJ -t INPUT_TYPE -s NUMBER -a INPUT_ATOMS -o OUTPUT [ -tt TOTAL_TYPES ] + [ -l LOGFILE ] [ -q ] [ -h ] Parametrs: - -i - mask of input files - -s - trajectory steps (integer) - -c - cell size (float), A - -a - atom types (integer). Format: 'ATOM1-ATOM2' or 'A1,A2,A3-B1,B2,B3' - (will enable RDF calculation for center mass automaticaly) - -o - output file name - -r - minimal and maximal radii for analyze (float), A. Default is '2.0,15.0' - -rs - radius step for analyze (float), A. Default is '0.2' - -a - minimal and maximal angles for analyze (float), deg. Default is '0.0,90.0' - -as - angle step for analyze (float), deg. This option will enable RADF - calculation automaticaly - -m - matrix output enable + -i - input file name + -t - type of trajectory. Supported formats: gmx, puma + -s - number of trajectory steps (integer) + -a - input file with atom types. See file format in manual + -o - mask of output files + -tt - number of different atom types. Default is 1024 -l - log enable -q - quiet enable -h - show this help and exit diff --git a/mm_trj/src/main.c b/mm_trj/src/main.c index 76b809d..aab5a38 100644 --- a/mm_trj/src/main.c +++ b/mm_trj/src/main.c @@ -24,21 +24,15 @@ * @section How-To-Use How to use * Usage: *
- * mm_radf -i INPUT -s FIRST,LAST -c X,Y,Z -a ... -o OUTPUT [ -r MIN,MAX ] [ -rs R_STEP ] 
- *                    [ -a MIN,MAX ] [ -as ANG_STEP ] [ -m ] [ -l LOGFILE ] [ -q ] [ -h ]
+ * mm_trj -i INPUT_TRJ -t INPUT_TYPE -s NUMBER -a INPUT_ATOMS -o OUTPUT [ -tt TOTAL_TYPES ]
+ *                                                             [ -l LOGFILE ] [ -q ] [ -h ]
  * Parametrs:
- *    -i          - mask of input files
- *    -s          - trajectory steps (integer)
- *    -c          - cell size (float), A
- *    -a          - atom types (integer). Format: 'ATOM1-ATOM2' or 'A1,A2,A3-B1,B2,B3' 
- *                  (will enable RDF calculation for center mass automaticaly)
- *    -o          - output file name
- *    -r          - minimal and maximal radii for analyze (float), A. Default is '2.0,15.0'
- *    -rs         - radius step for analyze (float), A. Default is '0.2'
- *    -a          - minimal and maximal angles for analyze (float), deg. Default is '0.0,90.0'
- *    -as         - angle step for analyze (float), deg. This option will enable RADF 
- *                  calculation automaticaly
- *    -m          - matrix output enable
+ *    -i          - input file name
+ *    -t          - type of trajectory. Supported formats: gmx, puma
+ *    -s          - number of trajectory steps (integer)
+ *    -a          - input file with atom types. See file format in manual
+ *    -o          - mask of output files
+ *    -tt         - number of different atom types. Default is 1024
  *    -l          - log enable
  *    -q          - quiet enable
  *    -h          - show this help and exit
@@ -269,6 +263,7 @@ int main(int argc, char *argv[])
   error = 1;
   error = reading_atoms (input_at, &num_types, num_mol, num_atoms, ch_atom_types, 
                          atom_types, total_types);
+  
   if (error == 0)
   {
     sprintf (tmp_str, "%6cLog: %i;\n%6cQuiet: %i;\n%6cInput file: %s;\n%6cTrajectory type: %i;\n\
diff --git a/mm_trj/src/mm_trj b/mm_trj/src/mm_trj
deleted file mode 100755
index 91075b747a1a04bfaedaa69491d8190aab90be99..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 20314
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
Nm4nha^u#DsV*oMqxt{<4

diff --git a/mm_trj/src/read_gmx.c b/mm_trj/src/read_gmx.c
index ed44643..260c5fa 100644
--- a/mm_trj/src/read_gmx.c
+++ b/mm_trj/src/read_gmx.c
@@ -2,11 +2,37 @@
  * @file
  */
 
+#include 
 #include 
 
 #include "print_trj.h"
 
 
+/**
+ * @fn translate_coords
+ */
+int translate_coords (const float coords, const float cell, float *trans)
+/**
+ * @brief funtion that translates coordinate
+ * @code
+ * 
+ * @endcode
+ * 
+ * @param coords          coordinate
+ * @param cell            cell size
+ * @param trans           massive of translated coordinates
+ * 
+ * @return 0              - exit without errors
+ */
+{
+    trans[0] = coords;
+    trans[1] = coords - cell;
+    trans[2] = coords + cell;
+   
+  return 0;
+}
+
+
 /**
  * @fn rw_gmx
  */
@@ -34,5 +60,95 @@ int rw_gmx (const char *input, const int step, const char *output, const int num
  * @return 0              - exit without errors
  */
 {
+  char filename[256], tmp_str[256];
+  float cell[3], trans[3], r_min;
+  int atoms, i, j, k, l, m, n;
+  FILE *f_inp;
+  
+/* filename               output file name
+ * cell                   cell size
+ * trans                  translated coordinates
+ * r_min                  minimal radius
+ * atom                   number of atoms
+ * f_inp                  input file
+ */
+  
+  f_inp = fopen (input, "r");
+  if (f_inp == NULL)
+    return 1;
+  
+  for (i=0; i cell[m]/2)
+              for (n=j; n cell[m]/2)
-                for (n=j; n cell[m]/2)
+              for (n=j; n