If you use the source code of any of the programs listed below, please, cite the corresponding publications by our research group.



Matlab programs (written by Artem Efremov):

  • 2016-2017 Matlab bare DNA - the program calculates the physical state of bare DNA (extension, superhelical density and the structural composition) being under force and torque constraints using the transfer-matrix formalism described in [Efremov et al., Phys. Rev. E, 2016] and [Efremov et al., Polymers, 2017]

    The program includes DNA transitions between B-, L-, S- and P-DNA states. The working range: 0 pN <= force <= 200 pN and -30 pN*nm <= torque <= 50 pN*nm. Program inputs: DNA length (nm), force (pN), torque (pN*nm) and the upper boundary on the DNA bending/twisting modes used in the calculations, max_mode. To run the program, type the following command line in Matlab:

    >> main_DNA_force_torque_spectrum_new(DNA_length, force, torque, max_mode)
    For example:
    >> main_DNA_force_torque_spectrum_new(1500, 1, 5, 15)

  • 2017-2018 Matlab DNA-nucleosomes - the program calculates the physical state of DNA interacting with histone octamers that form nucleosomes upon binding to DNA under applied force and torque constraints. The program code is based on the transfer-matrix formalism described in [Efremov and Yan, 2018]

    The program includes DNA transitions between B-, L-, and P-DNA states as well as between B-DNA protein-bound and protein-unbound states. The working range: 0 pN <= force <= 30 pN and -30 pN*nm <= torque <= 50 pN*nm. Program inputs: DNA length (nm), force (pN), torque (pN*nm), the proteins' binding energy (in k_B T units) and the upper boundary on the DNA bending/twisting modes used in the calculations, max_mode. To run the program, type the following command line in Matlab:

    >> main_DNA_nucleosome(DNA_length, force, torque, mu_protein, max_mode)
    For example:
    >> main_DNA_nucleosome(1500, 1, 5, 40, 15)

  • C++ programs (translate from Matlab by Ladislav Hovan):

  • 2018 Feb 21 C++ bare DNA - C++ version of the Matlab program #1 based on the transfer-matrix formalism described in [Efremov et al., Phys. Rev. E, 2016] and [Efremov et al., Polymers, 2017]

    The program working range: 0 pN <= force <= 200 pN and -30 pN*nm <= torque <= 50 pN*nm. Program inputs: DNA length (nm), force (pN), torque (pN*nm) and the upper boundary on the DNA bending/twisting modes used in the calculations, max_mode. To run the compiled program, type the following command line:

    >> Name_of_the_compiled_program DNA_length force torque max_mode
    For example:
    >> Transfer_matrix 1500 1 5 15

    Warning! The program has external dependencies on the following two libraries:

    1. boost_1_66_0: https://www.boost.org/users/history/version_1_66_0.html
    2. Eigen: http://www.eigen.tuxfamily.org/index.php?title=Main_Page

  • 2018 March 13 C++ DNA-nucleosomes - C++ version of the Matlab program #2 based on the transfer-matrix formalism described in [Efremov and Yan, 2018]

    The program working range: 0 pN <= force <= 30 pN and -30 pN*nm <= torque <= 50 pN*nm. Program inputs: DNA length (nm), force (pN), torque (pN*nm), the proteins binding energy (in k_B T units) and the upper boundary on the DNA bending/twisting modes used in the calculations, max_mode. To run the compiled program, type the following command line:

    >> Name_of_the_compiled_program DNA_length force torque binding_energy max_mode
    For example:
    >> Transfer_matrix 1500 1 5 40 15

    Warning! The program has external dependencies on the following two libraries:

    1. boost_1_66_0: https://www.boost.org/users/history/version_1_66_0.html
    2. Eigen: http://www.eigen.tuxfamily.org/index.php?title=Main_Page


  • 2025 Molecular clutch Matlab programs.zip - 2025 Matlab programs for performing calculations for the linear KD, linear WT, talin WT and WT-2 models, which are described in details in [Liu et al., Nat. Phys., 2025]

    As well as solving the full master equation described in the same study. To start the calculations, run Linear_KD_WT_model, talin_WT_model, WT2_model or solve_full_master_equation_main functions in Matlab, respectively. Description of the model parameters can be found inside the corresponding m-files.