- 06 Dec, 2019 1 commit
-
-
Sandipan Mohanty authored
When both comparison structures in RMSD come from the simulation, the RMSD value returned was incorrect, as it was still calculated on the assumption of fixedness of the first structure. Properties of the first structure such as radius of gyration, used in the RMSD calculation were calculated and stored at initialisation were used throughout, even when the first structure was not a fixed one from a PDB file.
-
- 25 Oct, 2019 1 commit
-
-
Jan Meinke authored
-
- 24 Oct, 2019 1 commit
-
-
Jan Meinke authored
The lines in the description of argparse are wrapped by default. Since we want to use the formatted doc string, we have to add `formatter_class=argparse.RawDescriptionHelpFormatter` as argument.
-
- 17 Oct, 2019 9 commits
-
-
Sandipan Mohanty authored
-
Sandipan Mohanty authored
update_g, when called from ctest does not have an environment where other programs like "prf", "mc_stats" are in PATH. It therefore needs a special PATH set up for the subprocesses it spawns.
-
Sandipan Mohanty authored
-
Sandipan Mohanty authored
Live generation of gpars.out was broken, as pointed out by Stefan Wallin. The monte carlo statistics, such as visit counts to different temperatures are now calculated in bunches, and the counters are reset regularly. SimTempRun did not take that into account, and hence generated g_T = 0 for all T randomly in the middle of a run. The values in the file gpars.out were therefore completely wrong eversince the statistics collection method was changed. With this patch, we simply remove the live generation of gpars.out file, and move that action to a post processing step. The user is now supposed to run "prf simtemp update_g" after a simulated tempering run to generate a new g parameters file, and replace the gpars.in file consciously. There is more flexibility now, as we can choose how much of the previous run should be used to re-calculate the g-parameters after the run is finished and we have inspected the "rt" files. For instance, to use cycles starting from 200000 in the calculation of new g-parameters, we can now do this "prf simtemp update_g --starting_cycle 200000". See "prf simtemp update_g --help" for details.
-
Sandipan Mohanty authored
It is possible to request xml output with -xml. It is possible to pick a specific child node in the information tree with a -get option, similar to how prfxml handles that option.
-
Sandipan Mohanty authored
-
Sandipan Mohanty authored
SimTemp will now write the g-parameters in the binary configuration files, so that the parameters used in the simulation will always be available for inspection along with the binary data. The values will be visible using the runinfo system : "prf runinfo -m"
-
Sandipan Mohanty authored
If we try to open a normal file with JoinedTextFileIstream, it should emit an error, because all read operations will fail. For now, non-existent files are handled separately.
-
Sandipan Mohanty authored
We expand the "prf" script interface to add a few scripts to manage simulated tempering runs. Eventually, there should be some setup scripts, and may be simulated tempering specific post-processing scripts here. For now, we have only the cover script "prf simtemp" and "prf simtemp update_g". The later calculates new g-parameters from input g-parameters and the visit counts to different temperatures collected from a run. This will now be the "official" way to update g-parameters. The parameters as generated during a run are no longer correct as they only take the visit counts in the latest "packet" in the monte carlo statistics. The live generation of gpars.out will be removed.
-
- 24 Sep, 2019 1 commit
-
-
Jan Meinke authored
The user documentation that was included in the source code of the corresponding classes was moved to reStructuredText files in the doc directory. It is now available again when documentation is build, but some cleanup is still needed.
-
- 19 Sep, 2019 4 commits
-
-
Sandipan Mohanty authored
-
Sandipan Mohanty authored
Incremental update does not access elements of a zero sized array anymore ObsExpression initializes its internal copy of the incremental update. Observable gets new functions to getPopulation(), as that can be used to selectively and lazily initialize some.
-
Sandipan Mohanty authored
When a new FF term is added after the force field has been fully set up, the newly added term must be given a population and initialized.
-
Sandipan Mohanty authored
While harvesting possible disulphide bond sites, Seq(i) was previously compared with C. For proteins with an N-terminal ligand, Seq(i) would be offset by 1 compared to the index needed for accessing the i'th amino acid. It's better to compare AA(j)->OLC() with C. We also extend the search for the participating Sulfur atom to both the labels " SG " and "_SG_".
-
- 18 Sep, 2019 2 commits
-
-
Sandipan Mohanty authored
Some vestigial warning messages about the total number of moved atoms and apparent misplacement of atoms discovered during update_cells() were silenced.
-
Sandipan Mohanty authored
A typo broke the message about the atoms involved in a disulphide bond, writing out the id of the first atom twice. A logical operator, which should have been "and" was mistakenly written as "or".
-
- 16 Nov, 2018 21 commits
-
-
Sandipan Mohanty authored
-
Sandipan Mohanty authored
-
Sandipan Mohanty authored
-
Sandipan Mohanty authored
-
Sandipan Mohanty authored
In prf::Wrap, because of copy-and-paste, post-increment and post-decrement operators were incorrectly returning references, leading to dangling references and SEGFAULTS.
-
Sandipan Mohanty authored
-
Sandipan Mohanty authored
GroupLibXML represents an XML node containing information about entities available for simulation, presumably provided by the force field class.
-
Sandipan Mohanty authored
-
Sandipan Mohanty authored
LittleParser header needed an include guard. It is now possible to have a string with all the defined variables from the parser. It is possible to query if an expression is definitely false. An expression may be neither true or false, if information to determine its truth value is not available. For instance, if we want to evaluate "a < 10 and b > 0", and a = 2 and b is unknown, the expression is not true, but it is also not false. Under the same circumstances, "a < 10 or b > 0" will evaluate to true, because a<10 is sufficient to determine the truth value even if b is unknown.
-
Sandipan Mohanty authored
-
Sandipan Mohanty authored
It is now possible to just query whether an attribute list has an attribute of a given name.
-
Sandipan Mohanty authored
Geometric information about all the amino acids is now in FF08.xml. We have a new way to specify geometry of entities to be used to construct molecules in ProFASi 2.0. The geometry is to be encoded in the XML file specifying all possible interacting entities in the model. So far, amino acids had very minimal information in the XML format, and their geometry was directly encoded in their own classes. Now, amino acid geometry is in a very easy extensible form, and we can begin the work of removing the individual amino acid classes.
-
Sandipan Mohanty authored
LittleParser is likely to be updated a lot in the comming weeks. This patch isolates the rest of ProFASi so that trivial changes in LittleParser do not trigger a big recompilation. From the outside, we only see a rudimentary interface: one can set variables to specific values, ask if an expression, represented by a string is true. Details about the tree structure of the expressions, how type information about variables is stored etc. can be kept under wraps in the implementation. They have currently no value to users of the LittleParser.
-
Sandipan Mohanty authored
LittleParser now treats "&&" and "and" as interchangable signs for the logical AND operation, and similarly for logical OR. An explicit integer type was introduced to store values set as integers really as integers, so that equality comparisons between them can not be broken by rounding errors.
-
Sandipan Mohanty authored
prf_assert_true does what prf_assert_throw also does, but the name is more intuitive. prf_assert_false throws UNLESS the condition provided is false.
-
Sandipan Mohanty authored
find_any_of(i1, i2, j1, j2) takes an input range [i1, i2) and a token range [j1, j2), and tries to find a location in the input range which marks the start of any of the tokens found in [j1, j2). The token range can be, for instance, ["&&", "and", "AND"]. The idea is to treat the token range as equivalent, and find any entry in the range. split_by_any_of(string, string_container) accepts a token range as a string container and splits the input string by them, treating the entries in the token range as synonymous, even if they contain different number of characters.
-
Sandipan Mohanty authored
-
Sandipan Mohanty authored
Most matrix functions can be noexcept, so they were labeled accordingly. For fixed size matrices, if they take more than 32 bytes they are aligned to 32 bytes, and if they are more than 64 bytes, they are aligned to 64 bytes.
-
Sandipan Mohanty authored
-
Sandipan Mohanty authored
Clang 7 moved experimental filesystem objects from libc++experimental to libc++fs, which requires that the choose_fslib had to be modified to adapt. GCC and Clang required versions in the compiler specific CMake files were updated to reflect what is stated in the installation.rst file. Options to enable aligned allocation from C++17 when available were added for both GCC and Clang.
-
Sandipan Mohanty authored
-