ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/freemol/trunk/src/mengine/src/mengine.c
(Generate patch)
# Line 61 | Line 61
61   void search_rings(int);
62   */
63  
64 +
65 + void usage(void) {
66 +  printf("\nUsage: mengine [-hvdxi] reads sdf on stdin, writes on stdout\n\n"
67 +         "-h\tThis help page\n"
68 +         "-v\tVerbose output\n"
69 +         "-a\tAdd hydrogen atoms; delete existing ones\n"
70 +         "-d\tEvaluate dipole moment\n"
71 +         "-x\tEvaluate XlogP\n"
72 +         "-i\tEvaluate vibrational data\n\n");
73 + }
74 +
75   /* ==================================================== */
76   int main(int argc, char *argv[])
77   {
# Line 70 | Line 81
81  
82      char *outfile = NULL;
83      char *mmff94file = NULL;
84 <    char *mmxfile = NULL;
74 <    char *logfilename = NULL;
84 >    //char *mmxfile = NULL;
85  
86      int flags = 0;
77    flags = flags | DO_DIPOLE;
78    flags = flags | DO_XLOGP;
79    flags = flags | DO_VIBRATION;
87  
88   /*
89      filename = strdup("caffeine.sdf");
90      outfile = strdup("output.sdf");
91   */
92      mmff94file = strdup("mmff94.prm");
93 <    mmxfile = strdup("mmxconst.prm");
94 <    logfilename= strdup("error.log");
93 > //    mmxfile = strdup("mmxconst.prm");
94 >
95 >    int c;
96 >    while ((c = getopt(argc, argv, "e:o:p:c:havdxi")) != -1) {
97 >      switch(c) {
98 >      case 'a':
99 >        flags = flags | DO_ADDH;
100 >        break;
101 >      case 'd':
102 >        flags = flags | DO_DIPOLE;
103 >        break;
104 >      case 'x':
105 >        flags = flags | DO_XLOGP;
106 >        break;
107 >      case 'i':
108 >        flags = flags | DO_VIBRATION;
109 >        break;
110 >      case 'v':
111 >        VERBOSE = 1;
112 >        break;
113 >      case 'h':
114 >        usage();
115 >        exit(-1);
116 > /*
117 >      case 'o':
118 >        outfile = strdup(optarg);
119 >        break;
120 >      case 'p':
121 >        mmff94file = strdup(optarg);
122 >        break;
123 >      case 'c':
124 >        mmxfile = strdup(optarg);
125 >        break;
126 >      case 'e':
127 >        logfilename = strdup(optarg);
128 >        break;
129 > */
130 >      case '?':
131 >        if (isprint (optopt))
132 >         fprintf (stderr, "Unknown option `-%c'.\n", optopt);
133 >        else
134 >          fprintf (stderr,
135 >                   "Unknown option character `\\x%x'.\n",
136 >                   optopt);
137 >        return 1;
138 >      default:
139 >        abort ();
140 >      }
141 >    }
142  
143      pcmoutfile = stdout;
144 <    initialize_pcmodel(mmxfile);
144 >    initialize_pcmodel("mmxconst");
145      initialize();
146      minim_values.iprint = 0; //FALSE;
147      initialize_gmmx();
148  
149 <    read_gmmxinp(logfilename, outfile, mmff94file, stdin, flags);
149 >    read_gmmxinp("mmff94", stdin, flags);
150  
151      fclose(pcmoutfile);
152  
153      free(mmff94file);
154 <    free(mmxfile);
101 <    free(logfilename);
154 > //    free(mmxfile);
155   /*
156      free(filename);
157      free(outfile);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines