- sorted input commands
authorAnatoly <Titov_AI@pnpi.nrcki.ru>
Thu, 16 Jul 2020 08:31:24 +0000 (11:31 +0300)
committerAnatoly <Titov_AI@pnpi.nrcki.ru>
Thu, 16 Jul 2020 08:31:24 +0000 (11:31 +0300)
- added launch template into description

src/domains.cpp

index a4fab68529d3f2fb00b79673fe26fe2d71cf760a..f06936dcf3d5ff74adf2179fa6b9044c064817c9 100644 (file)
@@ -281,7 +281,7 @@ class domainsType {
         int                                                                     updateCount = 0;
         // минимальный рассматриваемый размер домена - осмысленно брать 4+
         int                                                                     dms         = 4;                // selectable
-        // какой из алгоритмов выделения использовать 0 - ��аксимальный домен / 1 - минимальный домен
+        // какой из алгоритмов выделения использовать 0 - ��т максимального домена к меньшим / 1 - самый большой домен (первый из равных) / 2 - от минимального домена к большим
         int                                                                     dsa         = 0;                // selectable
         // константа допустимых тепловых колебаний  относительно центра домена, находящегося в конкретном атоме структуры
         double                                                                  eps         = 0.2;              // selectable
@@ -365,7 +365,7 @@ class domainsType {
                             t1 = i;
                             t2 = j;
                         }
-                        if ((dsa == 1) && ((domsizes[i][j] < domsizes[t1][t2]) || ((domsizes[i][j] >= dms) && (domsizes[t1][t2] < dms)))) {
+                        if ((dsa == 2) && ((domsizes[i][j] < domsizes[t1][t2]) || ((domsizes[i][j] >= dms) && (domsizes[t1][t2] < dms)))) {
                             t1 = i;
                             t2 = j;
                         }
@@ -378,6 +378,10 @@ class domainsType {
                         domains.back().push_back(i);
                     }
                 }
+                //выход из поиска доменов при данном режиме обработки
+                if (dsa == 1) {
+                    break;
+                }
                 // удаляем его из матриц
                 deleteDomainFromGraph(domains.back());
             }
@@ -484,41 +488,42 @@ Domains::initOptions(IOptionsContainer          *options,
 {
     static const char *const desc[] = {
         "[THISMODULE] to be done"
+        "-f trajectory.xtc -s structure.tpr -n index.ndx -sf selectionListFile -on outPutName -dms 4+ -DSA 0/1/2 -eps 0.2 -dlt 0.95 -wSize 1000 -twStep 100"
     };
     // Add the descriptive text (program help text) to the options
     settings->setHelpText(desc);
     // Add option for selecting a subset of atoms
     options->addOption(SelectionOption("select")
                            .store(&selec).required()
-                           .description("Atoms that are considered as part of the excluded volume"));
+                           .description("Atoms that are considered as part of the excluded volume."));
     // Add option for output file name
     options->addOption(FileNameOption("on").filetype(eftIndex).outputFile()
                             .store(&fnNdx_).defaultBasename("domains")
-                            .description("Index file from the domains"));
+                            .description("Index file for the algorithm output."));
     // Add option for domain min size constant
     options->addOption(gmx::IntegerOption("dms")
                             .store(&domain_min_size)
-                            .description("minimum domain size, should be >= 4"));
+                            .description("minimum domain size, should be >= 4."));
     // Add option for Domain's Searching Algorythm
     options->addOption(gmx::IntegerOption("DSA")
                             .store(&DomainSearchingAlgorythm)
-                            .description("Domain's Searching Algorythm: 0 == default (from bigger to smaller) | 1 == (from smaller to bigger)"));
+                            .description("Domain's Searching Algorythm: 0 == (default) from bigger to smaller | 1 == just the first biggest domain | 2 == from smaller to bigger."));
     // Add option for epsi constant
     options->addOption(DoubleOption("eps")
                             .store(&epsi)
-                            .description("thermal vibrations' constant"));
+                            .description("thermal vibrations' constant."));
     // Add option for delta constant
     options->addOption(DoubleOption("dlt")
                             .store(&delta)
-                            .description("domain membership probability"));
+                            .description("domain membership probability."));
     // Add option for domain min size constant
     options->addOption(gmx::IntegerOption("wSize")
                             .store(&window)
-                            .description("flowing window to evaluate domains from"));
-    // Add option for domain min size constant
+                            .description("flowing window to evaluate domains from."));
+    // Add option for time step between windows' starts
     options->addOption(gmx::IntegerOption("twStep")
                             .store(&twStep)
-                            .description("time step between windows' starting positions"));
+                            .description("time step between windows' starting positions."));
     // Control input settings
     settings->setFlags(TrajectoryAnalysisSettings::efNoUserPBC);
     settings->setFlag(TrajectoryAnalysisSettings::efUseTopX);
@@ -526,6 +531,8 @@ Domains::initOptions(IOptionsContainer          *options,
     settings->setPBC(true);
 }
 
+// -f trajectory.xtc -s structure.tpr -n index.ndx -sf selectionListFile -on outPutName -dms 4+ -DSA 0/1/2 -eps 0.2 -dlt 0.95 -wSize 1000 -twStep 100
+
 void
 Domains::initAnalysis(const TrajectoryAnalysisSettings &settings,
                       const TopologyInformation        &top)