A class used to represent the tight-binding Hamiltonian for DNA sequences.
-
-
Parameters:
-
-
dna_seqDNA_Seq
The DNA sequence object containing the sequence and model information.
-
-
ham_kwargsdict
Additional keyword arguments for the Hamiltonian construction.
-
-
-
-
Attributes:
-
-
dna_seqDNA_Seq
The DNA sequence object containing the sequence and model information.
-
-
tb_modelTB_Model
The tight-binding model associated with the DNA sequence.
-
-
tb_basislist
The tight-binding basis states.
-
-
tb_sites_flattenedlist
The flattened list of tight-binding sites.
-
-
tb_basis_sites_dictdict
Dictionary mapping the TB basis to the TB sites.
-
-
tb_sitesnp.ndarray
The array of TB sites.
-
-
descriptionstr
Description of the Hamiltonian (e.g., ‘1P’ or ‘2P’).
-
-
particleslist
List of particles considered (e.g., [‘electron’, ‘hole’]).
-
-
sourcestr
Source of the tight-binding parameters.
-
-
unitstr
Unit of the Hamiltonian parameters.
-
-
tb_params_electrondict
Tight-binding parameters for electrons.
-
-
tb_params_holedict
Tight-binding parameters for holes.
-
-
relaxationbool
Flag indicating if relaxation is considered.
-
-
interaction_paramfloat
Interaction parameter for the Hamiltonian.
-
-
eh_basislist
Electron-hole basis states.
-
-
nn_cutoffbool
Nearest-neighbor cutoff for interactions.
-
-
matrixnp.ndarray
The Hamiltonian matrix.
-
-
matrix_dimint
Dimension of the Hamiltonian matrix.
-
-
backbonebool
Flag indicating if the model has a backbone.
-
-
-
-
-
Methods
-
-
-
get_param_dicts()
-
Retrieves the tight-binding parameters for electrons and holes.
-
-
get_eigensystem()
-
Computes and returns the eigenvalues and eigenvectors of the Hamiltonian.
-
-
get_matrix()
-
Computes and returns the Hamiltonian matrix.
-
-
get_fourier(init_state, end_state, quantities)
-
Computes Fourier components of the Hamiltonian for given states.
-
-
get_amplitudes(init_state, end_state)
-
Computes and returns the amplitudes for given states.
-
-
get_frequencies(init_state, end_state)
-
Computes and returns the frequencies for given states.
-
-
get_average_pop(init_state, end_state)
-
Computes and returns the average population for given states.
-
-
get_backbone_pop(init_state)
-
Computes and returns the population of particles on the backbone sites.
-
-
-
-
-
-get_backbone_pop(init_state)
-
Calculate the population of particles on the backbone sites of a Fishbone
-model.
-
-
Parameters:
-
-
init_statestr
The initial state of the system.
-
-
-
-
Returns:
-
-
dict
A dictionary where keys are particle identifiers and values are the population
-of each particle on the backbone sites.
-
-
-
-
Raises:
-
-
AssertionError
If the model is not a Fishbone model.
-
-
-
-
-
-
-
-
-get_eigensystem()
-
Compute the eigenvalues and eigenvectors of the matrix. This method computes
-the eigenvalues and eigenvectors of the matrix associated with the instance. If
-the description is “2P” and relaxation is enabled, the ground state is deleted
-from the matrix before computing the eigensystem.
-
-
Returns:
-
-
tuple
-
A tuple containing:
-
eigenvaluesndarray
The eigenvalues of the matrix.
-
-
eigenvectorsndarray
The eigenvectors of the matrix.
-
-
-
-
-
-
-
-
-
-
-
-
-get_fourier(init_state, end_state, quantities)
-
Calculate the Fourier components of the transition between initial and end
-states.
-
-
Parameters:
-
-
init_statestr
The initial state from which the transition starts.
-
-
end_statestr
The end state to which the transition occurs.
-
-
quantitieslist of str
List of quantities to calculate. Possible values are “amplitude”, “frequency”, and “average_pop”.
-
-
-
-
Returns:
-
-
amplitudes_dictdict
Dictionary containing the amplitudes for each particle.
-
-
frequencies_dictdict
Dictionary containing the frequencies for each particle.
-
-
average_pop_dictdict
Dictionary containing the average population for each particle.
-
-
-
-
Raises:
-
-
AssertionError
If end_state is not in self.tb_basis.
-If init_state is not in self.eh_basis or self.tb_basis depending on the description.
-
-
-
-
-
-
-
-
-get_matrix()
-
Generate the tight-binding Hamiltonian matrix based on the system
-description.
-
-
Returns:
-
-
matrixnumpy.ndarray
The Hamiltonian matrix for the system.
-
-
-
-
Raises:
-
-
ValueError
If the description attribute is not “2P” or “1P”.
-
-
-
-
-
Notes
-
-
Note
-
-
For a “2P” description, the Hamiltonian matrix is generated using tb_ham_2P and may include interaction and relaxation terms if specified.
-
For a “1P” description, the Hamiltonian matrix is generated using tb_ham_1P for either electrons or holes based on the particles attribute.
-
-
-
-
-
-
-get_param_dicts()
-
Retrieves the tight-binding parameters for electrons and holes. This method
-loads the tight-binding parameters for both electrons and holes from the
-specified source and model name. If the unit of the loaded parameters does not
-match the expected unit, it converts the parameters to the expected unit.
A class used to solve master equations using the tight-binding Hamiltonian and
-Lindblad dissipator.
-
This class provides methods to initialize the solver, set up the Hamiltonian and Lindblad dissipator,
-and compute various properties such as populations, coherences, and ground state populations over time.
-
-
Parameters:
-
-
tb_hamTB_Ham
The tight-binding Hamiltonian.
-
-
lindblad_dissLindblad_Diss
The Lindblad dissipator.
-
-
me_kwargsdict, optional
Additional keyword arguments for the master equation solver.
-
-
-
-
Attributes:
-
-
me_kwargsdict
Keyword arguments for the master equation solver.
-
-
verbosebool
Flag for verbose output.
-
-
t_stepsint
Number of time steps.
-
-
t_endint
End time.
-
-
timesnp.ndarray
Array of time points.
-
-
t_unitstr
Time unit.
-
-
tb_hamTB_Ham
The tight-binding Hamiltonian.
-
-
tb_modelTB_Model
The tight-binding model.
-
-
lindblad_dissLindblad_Diss
The Lindblad dissipator.
-
-
init_statetuple or str
Initial state depending on the Hamiltonian description.
-
-
init_matrixqutip.Qobj
Initial density matrix.
-
-
resultlist
List to store the results.
-
-
groundstate_popdict
Dictionary to store ground state population.
-
-
popdict
Dictionary to store population of states.
-
-
cohdict
Dictionary to store coherence of states.
-
-
-
-
-
Methods
-
-
-
get_init_matrix()
-
Generate the initial state matrix for the quantum system based on the Hamiltonian description.
-
-
get_result()
-
Calculate and return the result of the master equation solver.
-
-
get_result_particle(particle)
-
Retrieve the reduced density matrix for a specified particle.
-
-
get_pop()
-
Calculate and return the population of particles in the system.
-
-
get_coh()
-
Calculate and return the coherence of the system.
-
-
get_groundstate_pop()
-
Calculate and return the ground state population.
-
-
reset()
-
Resets the solver’s state by clearing results and initializing dictionaries for populations and coherences.
-
-
-
-
-
-get_coh()
-
Calculate and return the coherence of the system.
-This method computes the coherence of the system based on the Hamiltonian
-description and the Lindblad dissipation operators. It supports two types
-of Hamiltonian descriptions: “2P” and “1P”.
-For “2P” description, it uses the coherence operators from the Lindblad
-dissipation.
-For “1P” description, it constructs the coherence operators based on the
-tensor basis permutations.
-The method then solves the master equation using the QuTiP mesolve function
-and calculates the coherence for each particle in the system.
-
-
Returns:
-
-
dict
A dictionary where the keys are particle identifiers and the values are
-the computed coherence values.
-
-
-
-
-
-
-
-
-get_groundstate_pop()
-
Calculate and return the ground state population. This function computes the
-ground state population of a system described by a two- particle (2P)
-Hamiltonian with relaxation. If the ground state population has already been
-computed, it returns the cached result.
-
-
Returns:
-
-
dict
A dictionary containing the ground state population with the key
-“groundstate”.
-
-
-
-
Raises:
-
-
AssertionError
If the Hamiltonian description is not “2P”.
-
-
AssertionError
If relaxation is not enabled in the Hamiltonian.
-
-
-
-
-
-
-
-
-get_init_matrix()
-
Generate the initial state matrix for the quantum system based on the
-Hamiltonian description. The method supports two types of descriptions for the
-tight-binding Hamiltonian (tb_ham): “2P” (two- particle) and “1P” (one-
-particle). Depending on the description and the initialization parameters, the
-initial state matrix is constructed either as a delocalized state over all
-exciton states or as a localized state on a single exciton state.
-
-
Returns:
-
-
qutip.Qobj
The initial state matrix of the quantum system as a Qobj instance from the QuTiP library.
-
-
-
-
Raises:
-
-
ValueError
If the Hamiltonian description is not recognized.
-
-
-
-
-
-
-
-
-get_pop()
-
Calculate and return the population of particles in the system. This method
-computes the population of particles based on the Hamiltonian description and
-the Lindblad dissipation operators. It uses the QuTiP library to solve the
-master equation and obtain the expectation values of the population operators.
-
-
Returns:
-
-
dict
A dictionary where the keys are particle-site combinations and the
-values are the corresponding population expectation values.
-
-
-
-
-
Notes
-
-
Note
-
-
If the population (self.pop) is already computed, it returns the cached result.
-
The method supports two types of Hamiltonian descriptions: “2P” and “1P”.
-
For “2P” description, it uses the population operators from self.lindblad_diss.pop_ops.
-
For “1P” description, it constructs the population operators based on the tight-binding basis (self.tb_ham.tb_basis).
-
The master equation is solved using qutip.mesolve with the Hamiltonian matrix, initial state, time points, collapse operators, and population operators.
-
-
-
-
-
-
-get_result()
-
Calculate and return the result of the master equation solver. This method
-checks if the result has already been calculated. If not, it constructs the
-Hamiltonian matrix and solves the master equation using QuTiP’s mesolve
-function. The result is then stored and returned.
-
-
Returns:
-
-
list
A list of quantum states representing the solution of the master
-equation at different time points.
-
-
-
-
-
-
-
-
-get_result_particle(particle)
-
Retrieve the reduced density matrix for a specified particle. This method
-checks if the result has already been calculated. If not, it calculates the
-result. Then, it checks if the reduced density matrix for the specified particle
-has been calculated. If not, it calculates the reduced density matrix for the
-specified particle and stores it.
-
-
Parameters:
-
-
particlestr
The particle for which the reduced density matrix is to be retrieved.
-
-
-
-
Returns:
-
-
list
A list of reduced density matrices for the specified particle.
-
-
-
-
-
-
-
-
-reset()
-
Resets the solver’s state by clearing results and initializing dictionaries
-for populations and coherences.
-
Notes
-
-
Note
-
-
Clears the result list (for the full the all reduced density matrices).
-
Initializes groundstate_pop, pop, and coh dictionaries.
Calculate the overlap between two orbitals using the Harrison expression and the Slater-Koster two-center interactions.
-
-
Parameters:
-
-
orbital1Orbital
The first orbital object containing its coordinates, atom type, orbital type, and atom identifier.
-
-
orbital2Orbital
The second orbital object containing its coordinates, atom type, orbital type, and atom identifier.
-
-
connectionstr
The type of connection between the orbitals, either “interbase” or “intrabase”.
-
-
-
-
Returns:
-
-
float
The calculated overlap between the two orbitals. Returns 0 if the distance between orbitals is zero,
-if the orbitals belong to the same atom in an intrabase connection, or if the distance exceeds the cutoff radius.
-
-
-
-
-
Notes
-
The directional cosines are used as projections on the coordinate axis rather than actual cosine values.
-The function includes a hydrogen correction factor obtained by optimization.
Calculate the tight-binding energies for monomers in a given directory.
-This function searches for XYZ files in the specified directory, loads the data,
-and calculates the HOMO and LUMO energies for each monomer. The results are
-returned as dictionaries.
-
-
Parameters:
-
-
directorystr
The directory containing the XYZ files.
-
-
-
-
Returns:
-
-
HOMO_dictdict
A dictionary where the keys are identifiers of the form ‘E_<base_identifier>’
-and the values are the HOMO energies in eV rounded to two decimal places.
-
-
LUMO_dictdict
A dictionary where the keys are identifiers of the form ‘E_<base_identifier>’
-and the values are the LUMO energies in eV rounded to two decimal places.
Calculate tight-binding (TB) parameters for a dimer in meV.
-
-
Parameters:
-
-
baseslist
List of base objects representing the bases in the dimer.
-
-
tb_model_namestr
Name of the tight-binding model. Can be “WM”, “LM”, or “ELM”.
-
-
double_strandedbool, optional
Flag indicating whether the dimer is double-stranded (default is True).
-
-
-
-
Returns:
-
-
tuple
A tuple containing two dictionaries:
-- HOMO_dict: Dictionary with HOMO (Highest Occupied Molecular Orbital) parameters.
-- LUMO_dict: Dictionary with LUMO (Lowest Unoccupied Molecular Orbital) parameters.
-
-
-
-
Raises:
-
-
AssertionError
If tb_model_name is not “WM” for single-stranded mode.
-If the length of bases is not 2 for single-stranded mode.
The name of the JSON file (without extension) to be converted.
-
-
directorystr
The directory where the JSON file is located and where the XYZ file will be saved.
-
-
-
-
Raises:
-
-
FileNotFoundError
If the JSON file does not exist in the specified directory.
-
-
KeyError
If the expected keys are not found in the JSON file.
-
-
ValueError
If the JSON file contains invalid data.
-
-
-
-
-
Notes
-
The JSON file is expected to follow a specific structure with atomic data under
-“PC_Compounds” -> “atoms” and coordinates under “coords” -> “conformers”.
-The atomic symbols are mapped from atomic numbers using a predefined dictionary.
-The JSON file is removed after conversion.
-
Examples
-
>>> convert_json_to_xyz("molecule","/path/to/directory")
-File successfully converted and saved at /path/to/directory/molecule.xyz
-
The name of the XYZ file (without the .xyz extension).
-
-
directorystr, optional
The directory where the XYZ file is located. Default is a subdirectory “geometries” within DATA_DIR.
-
-
-
-
Returns:
-
-
tuple
A tuple containing the identifier from the second line of the XYZ file and a
-DataFrame containing the atomic coordinates with columns [“Atom”, “X”, “Y”, “Z”].
-
-
-
-
-
Notes
-
-
-
The XYZ file is expected to have the following format:
-
The first line contains the number of atoms (ignored).
-
The second line contains a comment or identifier.
-
Subsequent lines contain atomic coordinates in the format: Atom X Y Z.
An instance of ME_Solver solver which contains the following attributes:
-
-
-
-
Returns:
-
-
numpy.ndarray
The dephasing equilibrium state as a density matrix.
-
-
-
-
-
-
-
-
-qDNA.evaluation.get_therm_eq_state(me_solver)
-
Calculate the thermal equilibrium state.
-
-
Parameters:
-
-
me_solverobject
An instance of a master equation solver which contains the tight-binding Hamiltonian (tb_ham)
-and the Lindblad dissipation parameters (lindblad_diss).
-
-
-
-
Returns:
-
-
numpy.ndarray
The thermal equilibrium state of the system. If the temperature is zero, returns the ground state.
-Otherwise, returns the thermal equilibrium state as a density matrix in the local basis.
-
-
-
-
-
Notes
-
-
The function first checks if the temperature is zero. If so, it returns the ground state.
-
For non-zero temperatures, it calculates the equilibrium values for each eigenvalue of the Hamiltonian,
-normalizes them, and transforms the resulting diagonal matrix to the local basis.
Calculates the time-averaged/ static population of the end state when initially
-in the initial state.
-
-
Parameters:
-
-
eigsnp.ndarray
Eigenvector matrix.
-
-
init_stateint
Initial state in the basis.
-
-
end_stateint
End state in the basis.
-
-
-
-
Returns:
-
-
float
The static population of the end state.
-
-
-
-
-
-
-
-
-qDNA.utils.calc_frequencies(eigv)
-
Calculates the frequencies corresponding to energy level differences.
-
-
Parameters:
-
-
eigvnp.ndarray
Eigenvalue vector.
-
-
-
-
Returns:
-
-
np.ndarray
A list of frequencies.
-
-
-
-
-
-
-
-
-qDNA.utils.calc_ipr_hamiltonian(eigs)
-
Calculates the inverse participation ratio (IPR) for each eigenstate of the
-Hamiltonian.
-
-
Parameters:
-
-
eigsnp.ndarray
Eigenvector matrix.
-
-
-
-
Returns:
-
-
list of float
The IPR values for each eigenstate.
-
-
-
-
-
Notes
-
-
Note
-
The IPR is a measure of the localization of an eigenstate. It is defined as the sum of the squared coefficients of the
-eigenvector. The IPR ranges from 1 to N, where N is the dimension of the Hilbert space. The IPR values can be used to
-distinguish between localized and delocalized eigenstates.
Calculate the trace distance between two density matrices. The trace distance is
-a measure of the distinguishability between two quantum states represented by their
-density matrices. It is defined as half the trace of the absolute difference between
-the two density matrices.
-
-
Parameters:
-
-
dm_1numpy.ndarray
The first density matrix.
-
-
dm_2numpy.ndarray
The second density matrix.
-
-
-
-
Returns:
-
-
float
The trace distance between the two density matrices.
-
-
-
-
Raises:
-
-
ValueError
If the density matrices do not have the same shape.
Eric R. Bittner. Frenkel exciton model of ultrafast excited state dynamics in AT DNA double helices. Journal of Photochemistry and Photobiology A: Chemistry, 190:328–334, 2007. doi:10.1016/j.jphotochem.2006.12.007.
T. Chakraboty. Charge Migration in DNA: Perspectives from Physics, Chemistry, and Biology. Springer, Berlin, Heidelberg, 2007.
-
-
-[CMB08]
-
E. M. Conwell, P. M. McLaughlin, and S. M. Bloch. Charge-Transfer Excitons in DNA. The Journal of Physical Chemistry B, 112:2268–2272, 2008. doi:10.1021/jp077344x.
-
-
-[CKK04]
-
Tobias Cramer, Sebastian Krapf, and Thorsten Koslowski. DNA Charge Transfer: An Atomistic Model. The Journal of Physical Chemistry B, 108:11812–11819, 2004. doi:10.1021/jp049712s.
-
-
-[CHCK05]
-
C. Crespo-Hernandez, B. Cohen, and B. Kohler. Base stacking controls excited-state dynamics in A·T DNA. Nature, 436:1141–1144, 2005. doi:10.1038/nature03933.
-
-
-[GB10]
-
Joseph C. Genereux and Jacqueline K. Barton. Mechanisms for DNA charge transport. Chemical Reviews, 110:1642–1662, 2010. doi:10.1021/cr900228f.
L.G.D. Hawke, G. Kalosakas, and C. Simserides. Electronic parameters for charge transfer along DNA. The European Physical Journal E, 32:291–305, 2010. doi:10.1140/EPJE/I2010-10650-Y.
-
-
-[HRA24]
-
Dennis Herb, Mirko Rossini, and Joachim Ankerhold. Ultrafast excitonic dynamics in DNA: Bridging correlated quantum dynamics and sequence dependence. Phys. Rev. E, 109:064413, 2024. doi:10.1103/PhysRevE.109.064413.
-
-
-[KS19]
-
Roman Korol and Dvira Segal. Machine Learning Prediction of DNA Charge Transport. The Journal of Physical Chemistry B, 123:2801–2811, 2019. doi:10.1021/acs.jpcb.8b12557.
-
-
-[LS19]
-
Konstantinos Lambropoulos and Constantinos Simserides. Tight-binding modeling of nucleic acid sequences: Interplay between various types of order or disorder and charge transport. Symmetry, 11:968, 2019. doi:10.3390/sym11080968.
-
-
-[MSF21]
-
Marilena Mantela, Constantinos Simserides, and Rosa Di Felice. LCAO electronic structure of nucleic acid bases and other heterocycles and transfer integrals in B-DNA, including structural variability. Materials, 14:4930, 2021. doi:10.3390/ma14174930.
-
-
-[MA05]
-
H. Mehrez and M. P. Anantram. Interbase electronic coupling for transport through DNA. Phys. Rev. B, 71:115405, 2005. doi:10.1103/PhysRevB.71.115405.
-
-
-[SAR+23]
-
Reiner Siebert, Ole Ammerpohl, Mirko Rossini, Dennis Herb, Sven Rau, Martin Plenio, Fedor Jelezko, and Joachim Ankerhold. A quantum physics layer of epigenetics: a hypothesis deduced from charge transfer and chirality-induced spin selectivity of DNA. Clin. Epigenet., 15:145, 2023. doi:10.1186/s13148-023-01560-3.
-
-
-[Sim14]
-
Constantinos Simserides. A systematic study of electron or hole transfer along DNA dimers, trimers and polymers. Chemical Physics, 440:31–41, 2014. doi:10.1016/j.chemphys.2014.05.024.
-
-
-[TBAZ10]
-
Sabine Tornow, Ralf Bulla, Frithjof B. Anders, and Gertrud Zwicknagl. Multiple-charge transfer and trapping in DNA dimers. Physical Review B - Condensed Matter and Materials Physics, 82:195106, 2010. doi:10.1103/PhysRevB.82.195106.
-
-
-[UD22]
-
Arif Ullah and Pavlo O Dral. Predicting the future of excitation energy transfer in light-harvesting complex with artificial intelligence-based quantum dynamics. Nature Communications, 13:1930, 2022.
The text of this documentation is licensed under the Creative Commons Attribution 3.0 Unported License.
-Unless specifically indicated otherwise, all code samples, the source code of qDNA, and its reproductions in this documentation, are licensed under the terms of the 3-clause BSD license, reproduced below.
The canonical form of this license is available at https://creativecommons.org/licenses/by/3.0/, which should be considered the binding version of this license.
-It is reproduced here for convenience.
-
THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS
-PUBLIC LICENSE (“CCPL” OR “LICENSE”). THE WORK IS PROTECTED BY COPYRIGHT AND/OR
-OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS
-LICENSE OR COPYRIGHT LAW IS PROHIBITED.
-
BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE
-BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED
-TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN
-CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
-
-
Definitions
-
-
-
“Adaptation” means a work based upon the Work, or upon the Work and other
-pre-existing works, such as a translation, adaptation, derivative work,
-arrangement of music or other alterations of a literary or artistic work,
-or phonogram or performance and includes cinematographic adaptations or
-any other form in which the Work may be recast, transformed, or adapted
-including in any form recognizably derived from the original, except that
-a work that constitutes a Collection will not be considered an Adaptation
-for the purpose of this License. For the avoidance of doubt, where the
-Work is a musical work, performance or phonogram, the synchronization of
-the Work in timed-relation with a moving image (“synching”) will be
-considered an Adaptation for the purpose of this License.
-
“Collection” means a collection of literary or artistic works, such as
-encyclopedias and anthologies, or performances, phonograms or broadcasts,
-or other works or subject matter other than works listed in Section 1(f)
-below, which, by reason of the selection and arrangement of their
-contents, constitute intellectual creations, in which the Work is
-included in its entirety in unmodified form along with one or more other
-contributions, each constituting separate and independent works in
-themselves, which together are assembled into a collective whole. A work
-that constitutes a Collection will not be considered an Adaptation (as
-defined above) for the purposes of this License.
-
“Distribute” means to make available to the public the original and
-copies of the Work or Adaptation, as appropriate, through sale or other
-transfer of ownership.
-
“Licensor” means the individual, individuals, entity or entities that
-offer(s) the Work under the terms of this License.
-
“Original Author” means, in the case of a literary or artistic work, the
-individual, individuals, entity or entities who created the Work or if no
-individual or entity can be identified, the publisher; and in addition
-(i) in the case of a performance the actors, singers, musicians, dancers,
-and other persons who act, sing, deliver, declaim, play in, interpret or
-otherwise perform literary or artistic works or expressions of folklore;
-(ii) in the case of a phonogram the producer being the person or legal
-entity who first fixes the sounds of a performance or other sounds; and,
-(iii) in the case of broadcasts, the organization that transmits the
-broadcast.
-
“Work” means the literary and/or artistic work offered under the terms of
-this License including without limitation any production in the literary,
-scientific and artistic domain, whatever may be the mode or form of its
-expression including digital form, such as a book, pamphlet and other
-writing; a lecture, address, sermon or other work of the same nature; a
-dramatic or dramatico-musical work; a choreographic work or entertainment
-in dumb show; a musical composition with or without words; a
-cinematographic work to which are assimilated works expressed by a
-process analogous to cinematography; a work of drawing, painting,
-architecture, sculpture, engraving or lithography; a photographic work to
-which are assimilated works expressed by a process analogous to
-photography; a work of applied art; an illustration, map, plan, sketch or
-three-dimensional work relative to geography, topography, architecture or
-science; a performance; a broadcast; a phonogram; a compilation of data
-to the extent it is protected as a copyrightable work; or a work
-performed by a variety or circus performer to the extent it is not
-otherwise considered a literary or artistic work.
-
“You” means an individual or entity exercising rights under this License
-who has not previously violated the terms of this License with respect to
-the Work, or who has received express permission from the Licensor to
-exercise rights under this License despite a previous violation.
-
“Publicly Perform” means to perform public recitations of the Work and to
-communicate to the public those public recitations, by any means or
-process, including by wire or wireless means or public digital
-performances; to make available to the public Works in such a way that
-members of the public may access these Works from a place and at a place
-individually chosen by them; to perform the Work to the public by any
-means or process and the communication to the public of the performances
-of the Work, including by public digital performance; to broadcast and
-rebroadcast the Work by any means including signs, sounds or images.
-
“Reproduce” means to make copies of the Work by any means including
-without limitation by sound or visual recordings and the right of
-fixation and reproducing fixations of the Work, including storage of a
-protected performance or phonogram in digital form or other electronic
-medium.
-
-
-
-
Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or
-restrict any uses free from copyright or rights arising from limitations or
-exceptions that are provided for in connection with the copyright protection
-under copyright law or other applicable laws.
-
License Grant. Subject to the terms and conditions of this License, Licensor
-hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for
-the duration of the applicable copyright) license to exercise the rights in
-the Work as stated below:
-
-
-
to Reproduce the Work, to incorporate the Work into one or more
-Collections, and to Reproduce the Work as incorporated in the
-Collections;
-
to create and Reproduce Adaptations provided that any such Adaptation,
-including any translation in any medium, takes reasonable steps to
-clearly label, demarcate or otherwise identify that changes were made to
-the original Work. For example, a translation could be marked “The
-original work was translated from English to Spanish,” or a modification
-could indicate “The original work has been modified.”;
-
to Distribute and Publicly Perform the Work including as incorporated in
-Collections; and,
-
to Distribute and Publicly Perform Adaptations.
-
-
For the avoidance of doubt:
-
-
-
Non-waivable Compulsory License Schemes. In those jurisdictions in
-which the right to collect royalties through any statutory or
-compulsory licensing scheme cannot be waived, the Licensor reserves
-the exclusive right to collect such royalties for any exercise by You
-of the rights granted under this License;
-
Waivable Compulsory License Schemes. In those jurisdictions in which
-the right to collect royalties through any statutory or compulsory
-licensing scheme can be waived, the Licensor waives the exclusive
-right to collect such royalties for any exercise by You of the
-rights granted under this License; and,
-
Voluntary License Schemes. The Licensor waives the right to collect
-royalties, whether individually or, in the event that the Licensor
-is a member of a collecting society that administers voluntary
-licensing schemes, via that society, from any exercise by You of
-the rights granted under this License.
-
-
-
-
The above rights may be exercised in all media and formats whether now known
-or hereafter devised. The above rights include the right to make such
-modifications as are technically necessary to exercise the rights in other
-media and formats. Subject to Section 8(f), all rights not expressly granted
-by Licensor are hereby reserved.
-
-
Restrictions. The license granted in Section 3 above is expressly made
-subject to and limited by the following restrictions:
-
-
-
You may Distribute or Publicly Perform the Work only under the terms of
-this License. You must include a copy of, or the Uniform Resource
-Identifier (URI) for, this License with every copy of the Work You
-Distribute or Publicly Perform. You may not offer or impose any terms on
-the Work that restrict the terms of this License or the ability of the
-recipient of the Work to exercise the rights granted to that recipient
-under the terms of the License. You may not sublicense the Work. You must
-keep intact all notices that refer to this License and to the disclaimer
-of warranties with every copy of the Work You Distribute or Publicly
-Perform. When You Distribute or Publicly Perform the Work, You may not
-impose any effective technological measures on the Work that restrict the
-ability of a recipient of the Work from You to exercise the rights
-granted to that recipient under the terms of the License. This Section
-4(a) applies to the Work as incorporated in a Collection, but this does
-not require the Collection apart from the Work itself to be made subject
-to the terms of this License. If You create a Collection, upon notice
-from any Licensor You must, to the extent practicable, remove from the
-Collection any credit as required by Section 4(b), as requested. If You
-create an Adaptation, upon notice from any Licensor You must, to the
-extent practicable, remove from the Adaptation any credit as required by
-Section 4(b), as requested.
-
If You Distribute, or Publicly Perform the Work or any Adaptations or
-Collections, You must, unless a request has been made pursuant to Section
-4(a), keep intact all copyright notices for the Work and provide,
-reasonable to the medium or means You are utilizing: (i) the name of the
-Original Author (or pseudonym, if applicable) if supplied, and/or if the
-Original Author and/or Licensor designate another party or parties (e.g.,
-a sponsor institute, publishing entity, journal) for attribution
-(“Attribution Parties”) in Licensor’s copyright notice, terms of service
-or by other reasonable means, the name of such party or parties; (ii) the
-title of the Work if supplied; (iii) to the extent reasonably
-practicable, the URI, if any, that Licensor specifies to be associated
-with the Work, unless such URI does not refer to the copyright notice or
-licensing information for the Work; and (iv) , consistent with Section
-3(b), in the case of an Adaptation, a credit identifying the use of the
-Work in the Adaptation (e.g., “French translation of the Work by Original
-Author,” or “Screenplay based on original Work by Original Author”). The
-credit required by this Section 4 (b) may be implemented in any
-reasonable manner; provided, however, that in the case of a Adaptation or
-Collection, at a minimum such credit will appear, if a credit for all
-contributing authors of the Adaptation or Collection appears, then as
-part of these credits and in a manner at least as prominent as the
-credits for the other contributing authors. For the avoidance of doubt,
-You may only use the credit required by this Section for the purpose of
-attribution in the manner set out above and, by exercising Your rights
-under this License, You may not implicitly or explicitly assert or imply
-any connection with, sponsorship or endorsement by the Original Author,
-Licensor and/or Attribution Parties, as appropriate, of You or Your use
-of the Work, without the separate, express prior written permission of
-the Original Author, Licensor and/or Attribution Parties.
-
Except as otherwise agreed in writing by the Licensor or as may be
-otherwise permitted by applicable law, if You Reproduce, Distribute or
-Publicly Perform the Work either by itself or as part of any Adaptations
-or Collections, You must not distort, mutilate, modify or take other
-derogatory action in relation to the Work which would be prejudicial to
-the Original Author’s honor or reputation. Licensor agrees that in those
-jurisdictions (e.g. Japan), in which any exercise of the right granted in
-Section 3(b) of this License (the right to make Adaptations) would be
-deemed to be a distortion, mutilation, modification or other derogatory
-action prejudicial to the Original Author’s honor and reputation, the
-Licensor will waive or not assert, as appropriate, this Section, to the
-fullest extent permitted by the applicable national law, to enable You to
-reasonably exercise Your right under Section 3(b) of this License (right
-to make Adaptations) but not otherwise.
-
-
-
-
Representations, Warranties and Disclaimer
-
UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR
-OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND
-CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING,
-WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A
-PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER
-DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT
-DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED
-WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
-
-
Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN
-NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL,
-INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS
-LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
Termination
-
-
This License and the rights granted hereunder will terminate automatically
-upon any breach by You of the terms of this License. Individuals or
-entities who have received Adaptations or Collections from You under this
-License, however, will not have their licenses terminated provided such
-individuals or entities remain in full compliance with those licenses.
-Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this
-License.
-
Subject to the above terms and conditions, the license granted here is
-perpetual (for the duration of the applicable copyright in the Work).
-Notwithstanding the above, Licensor reserves the right to release the Work
-under different license terms or to stop distributing the Work at any
-time; provided, however that any such election will not serve to withdraw
-this License (or any other license that has been, or is required to be,
-granted under the terms of this License), and this License will continue
-in full force and effect unless terminated as stated above.
-
-
-
Miscellaneous
-
-
-
Each time You Distribute or Publicly Perform the Work or a Collection,
-the Licensor offers to the recipient a license to the Work on the same
-terms and conditions as the license granted to You under this License.
-
Each time You Distribute or Publicly Perform an Adaptation, Licensor
-offers to the recipient a license to the original Work on the same terms
-and conditions as the license granted to You under this License.
-
If any provision of this License is invalid or unenforceable under
-applicable law, it shall not affect the validity or enforceability of the
-remainder of the terms of this License, and without further action by the
-parties to this agreement, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.
-
No term or provision of this License shall be deemed waived and no breach
-consented to unless such waiver or consent shall be in writing and signed
-by the party to be charged with such waiver or consent.
-
This License constitutes the entire agreement between the parties with
-respect to the Work licensed here. There are no understandings,
-agreements or representations with respect to the Work not specified
-here. Licensor shall not be bound by any additional provisions that may
-appear in any communication from You. This License may not be modified
-without the mutual written agreement of the Licensor and You.
-
The rights granted under, and the subject matter referenced, in this
-License were drafted utilizing the terminology of the Berne Convention
-for the Protection of Literary and Artistic Works (as amended on
-September 28, 1979), the Rome Convention of 1961, the WIPO Copyright
-Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and
-the Universal Copyright Convention (as revised on July 24, 1971). These
-rights and subject matter take effect in the relevant jurisdiction in
-which the License terms are sought to be enforced according to the
-corresponding provisions of the implementation of those treaty provisions
-in the applicable national law. If the standard suite of rights granted
-under applicable copyright law includes additional rights not granted
-under this License, such additional rights are deemed to be included in
-the License; this License is not intended to restrict the license of any
-rights under applicable law.
-
-
-
-
-
-
-
License Terms for Source Code of QuantumDNA and Code Samples
-
Copyright (c) 2024 Dennis Herb
-All rights reserved.
-
Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
-
Redistributions of source code must retain the above copyright notice, this
-list of conditions and the following disclaimer.
-
Redistributions in binary form must reproduce the above copyright notice,
-this list of conditions and the following disclaimer in the documentation
-and/or other materials provided with the distribution.
-
Neither the name of the copyright holder nor the names of its contributors
-may be used to endorse or promote products derived from this software without
-specific prior written permission.
-
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Welcome to the QuantumDNA Jupyter Notebook Tutorials! These tutorials and demonstrations are designed to help users explore and
-understand the functionalities of the qDNA package through practical examples.
-
For a detailed description of the classes and functions used in these tutorials, visit the API documentation.
The Jupyter notebooks in the tutorials folder provide step-by-step demonstrations of various features and functionalities of the qDNA package.
-Each tutorial focuses on a specific aspect, helping you get started with quantum physical description of DNA and applications of quantum biology.
Reproduces all the figures presented in the reference paper [HRA24].
-This serves as a comprehensive example of qDNA’s visualization and analysis features.
-
-
Tight_Binding_Parameters
Learn the Linear Combination of Atomic Orbitals (LCAO) approach using Slater–Koster two-center
-integrals and Harrison-type expressions. Ideal for tight-binding model parameterization.
-
-
Tight_Binding_Method
Explore predefined and custom tight-binding models. Includes calculating time-averaged exciton
-populations in the Fishbone Ladder Model (FLM) and simulating charge transfer in the
-Fenna-Matthews-Olson (FMO) complex.
-
-
Environment_Simulation
Model DNA excited-state relaxation and environmental interactions. This tutorial covers dephasing
-and thermalization models inspired by Quantum Biology.
-
-
Visualization
Use qDNA’s built-in plotting routines for effective result visualization. Learn to create custom
-visualizations tailored to your data.
-
-
Evaluation
Perform calculations for observables like exciton lifetimes, average charge separation, and dipole
-moments. Includes parallelization features for efficient computation.
QuantumDNA: A Toolbox for Evaluating Excited States and Charge Transfer in DNA
-
Welcome to QuantumDNA – a comprehensive tool for performing quantum mechanical calculations on DNA.
-QuantumDNA leverages the formalism of open quantum systems, utilizing tight-binding Hamiltonians to model DNA at a quantum level.
-This tool can handle a variety of tight-binding models and allows users to input custom parameters derived from ab initio calculations or experimental data.
-Furthermore, QuantumDNA enables users to define unique models, making it highly adaptable to a wide range of research needs.
-
Designed with accessibility in mind, QuantumDNA includes a user-friendly interface to make quantum calculations accessible to researchers of all technical backgrounds.
-
Some of the core functionalities of QuantumDNA include the calculation of exciton lifetimes, average charge separation, and dipole moments for excited states along DNA strands [HRA24].
Welcome to the installation guide for QuantumDNA. Follow the steps below to install the package, set up a virtual environment, and start using qDNA either through a Graphical User Interface or a Jupyter Notebook.
If all tests pass, the package has been successfully installed! You can now:
-
-
Launch the Graphical User Interface or
-
Start using qDNA inside a Jupyter Notebook.
-
-
Run the activation script as mentioned in the platform-specific instructions to start the Graphical User Interface or a Jupyter Notebook. It is recommended to always run the activation script.