tag:blogger.com,1999:blog-5744790168115177005.comments2020-02-19T13:16:41.001+01:00Proteins and Wave FunctionsJan Jensenhttp://www.blogger.com/profile/08595894308946022740noreply@blogger.comBlogger161125tag:blogger.com,1999:blog-5744790168115177005.post-10595417146189900292020-02-19T13:16:41.001+01:002020-02-19T13:16:41.001+01:00Hi Jan,
I appreciate your candour - to help move ...Hi Jan,<br /><br />I appreciate your candour - to help move things forward here's a unittest file, these are what I think GEDs should be. My view is a unit of GED change should 1 per addition/removal of each atom and 1 per addition or deletion of a bond.<br /><br />Ed<br /><br />import unittest<br />from GED import *<br /><br /><br />class MyTestCase(unittest.TestCase):<br /><br /> def run_tests(self, d):<br /> for n, p in d.items():<br /> with self.subTest(p=p):<br /> GED = calc_GED(p[0], p[1])<br /> self.assertEqual(GED,p[2], msg='GED not correct for ' + n)<br /><br /><br /> def test_aromatic_aromatic(self):<br /> mol_dict = {<br /> 'benzene->pyridine': ('c1ccccc1', 'n1ccccc1',1),<br /> 'pyridine->pyridazine': ('n1ccccc1', 'n1ncccc1',1),<br /> 'benzene->pyridazine': ('c1ccccc1', 'n1ncccc1', 2)<br /> }<br /> self.run_tests(mol_dict)<br /><br /> def test_aromatic_substituents(self):<br /> mol_dict = {<br /> 'benzene->toluene': ('c1ccccc1', 'c1ccccc1C',2),<br /> 'benzene->chlorobenzene': ('c1ccccc1', 'c1ccccc1Cl', 2),<br /> 'benzene->anisole':('c1ccccc1', 'c1ccccc1OC', 3)<br /> }<br /> self.run_tests(mol_dict)<br /><br /> def test_aliphatic_aromatic(self):<br /> mol_dict = {<br /> 'benzene->cyclohexane': ('c1ccccc1', 'C1CCCCC1',6)<br /> }<br /> self.run_tests(mol_dict)<br /><br /> def test_aliphatic_ring_expansion(self):<br /> mol_dict = {<br /> 'cyclopropane->cyclobutane': ('C1CC1', 'C1CCC1',4)<br /> }<br /> self.run_tests(mol_dict)<br /><br /> def test_aliphatic_aliphatic(self):<br /> mol_dict = {<br /> 'ethane->propane': ('CC', 'CCC',2)<br /> }<br /> self.run_tests(mol_dict)<br /><br /><br /><br />if __name__ == '__main__':<br /> unittest.main()Ed Griffenhttps://www.blogger.com/profile/18354525587176891607noreply@blogger.comtag:blogger.com,1999:blog-5744790168115177005.post-10567986834747668692020-02-16T12:51:43.117+01:002020-02-16T12:51:43.117+01:00The implementation makes two arbitrary choices:
1...The implementation makes two arbitrary choices:<br /><br />1. The structures are "kekulized" meaning that benzene is C1=CC=CC=C1 rather, meaning that 3 double bonds need to be changed to single bonds. I do this so that the distance between hexatriene (C=CC=CC=C) and benzene is 1. But whether that's a good idea is arguable. <br /><br />2. The Hs are implicit, so when a double bond is changed to a single bond, then the number of Hs on the Cs adjust, and don't contribute to the edit distance.<br /><br />I should also note that there is a bug in the implementation. The way I compare atoms (nodes) is by defining a "bond to itself". This means that additions of atoms is double counted (both as an edge and a node". The the code predicts the GED between C and CC to be 3, when in fact it is 2.Jan Jensenhttps://www.blogger.com/profile/08595894308946022740noreply@blogger.comtag:blogger.com,1999:blog-5744790168115177005.post-5977213580530112942020-02-10T14:52:34.077+01:002020-02-10T14:52:34.077+01:00Really nice, however, can you (or perhaps Noel and...Really nice, however, can you (or perhaps Noel and Roger) explain how the distance from benzene to cyclohexane is 3? I might have expected 6, or 12, but 3 is a mystery - my ignorance I suspect.<br /><br />Here's my snippet of code:<br /><br />def calc_GED(s1,n, s2, m):<br /> mol1 = Chem.MolFromSmiles(s1)<br /> mol2 = Chem.MolFromSmiles(s2)<br /> G1 = get_graph(mol1)<br /> G2 = get_graph(mol2)<br /> GDE = nx.graph_edit_distance(G1, G2, edge_match=lambda a, b: a['weight'] == b['weight'])<br /> print(n, m, GDE)<br /><br />mol_dict = {<br /> 'benzene':'c1ccccc1',<br /> 'pyridine':'n1ccccc1',<br /> 'pyridazine':'n1ncccc1',<br /> 'cyclohexane':'C1CCCCC1'<br />}<br /><br />for n,s1 in mol_dict.items():<br /> for m,s2 in mol_dict.items():<br /> if n != m:<br /> calc_GED(s1,n, s2, m)Ed Griffenhttps://www.blogger.com/profile/18354525587176891607noreply@blogger.comtag:blogger.com,1999:blog-5744790168115177005.post-87995940454272536792013-01-05T11:59:16.550+01:002013-01-05T11:59:16.550+01:00Mmm. I love keeping my journal's policy on arX...Mmm. I love keeping my journal's policy on arXiv deposition ambiguous. Offers me an additional way to reject the really lousy papers without review...<br /><br />And, at the risk of sounding snarky, the percentage of papers deposited openly as a function of a given field (e.g., math > physics > chemistry) is inversely proportional to that field's likelihood of producing anything having any useful/economic consequence.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-5744790168115177005.post-62380974234102621062013-01-02T14:20:30.452+01:002013-01-02T14:20:30.452+01:00Very cool video!Very cool video!Anonymoushttps://www.blogger.com/profile/18123073028209991396noreply@blogger.comtag:blogger.com,1999:blog-5744790168115177005.post-79168686382378417242012-12-28T11:12:02.081+01:002012-12-28T11:12:02.081+01:00Did you get the right answer though?Did you get the right answer though?Jan Jensenhttps://www.blogger.com/profile/08595894308946022740noreply@blogger.comtag:blogger.com,1999:blog-5744790168115177005.post-8120116365496165362012-12-28T11:11:36.828+01:002012-12-28T11:11:36.828+01:00Thank you!Thank you!Jan Jensenhttps://www.blogger.com/profile/08595894308946022740noreply@blogger.comtag:blogger.com,1999:blog-5744790168115177005.post-88641221790264218612012-12-28T07:33:11.029+01:002012-12-28T07:33:11.029+01:00oh one is a carbon and the other is the nitrogen (...oh one is a carbon and the other is the nitrogen (amine/methyl). took me a while to figure out what's the difference between A & B moleculesdimkahttps://www.blogger.com/profile/15283992791038140199noreply@blogger.comtag:blogger.com,1999:blog-5744790168115177005.post-34824860159703569292012-12-27T14:58:26.610+01:002012-12-27T14:58:26.610+01:00Very nice example!Very nice example!Anonymoushttps://www.blogger.com/profile/10508646868117037632noreply@blogger.comtag:blogger.com,1999:blog-5744790168115177005.post-71666993794830099182012-12-27T11:05:51.723+01:002012-12-27T11:05:51.723+01:00Many people who publish in JCP consider themselves...Many people who publish in JCP consider themselves chemists and most chemists have never heard about arXiv. Most of the ones who have think arXiv is exclusively for physics. It would really help if arXiv made a chemistry section. I wrote to them about this, but no reply.<br /><br />The other, related, issue is whether chemists feel an arXiv submission establishes priority since they live in perpetual fear of being scooped. <br /><br />The final issue is that most chemistry journals appear to be arXiv-hostile, though some are not when you actually write to them and ask.Jan Jensenhttps://www.blogger.com/profile/08595894308946022740noreply@blogger.comtag:blogger.com,1999:blog-5744790168115177005.post-14922590270520514122012-12-26T15:25:30.026+01:002012-12-26T15:25:30.026+01:00By the way, http://www.councilscienceeditors.org/f...By the way, http://www.councilscienceeditors.org/files/presentations/2009/Ingoldsby.pdf has some research on what percentage of physics articles are on arXiv. Not surprisingly, J. Chem. Phys. is doing quite bad at around 7%, whereas e.g. Phys. Rev. D has a submission ratio of 97%. It seems there are also some great differences between the different fields in physics.<br /><br />Money quote: "Of course, all Physical Review Letters papers are contained in the arXiv" (though looking at the numbers, only 55% of all Phys. Rev. Lett. papers are on arXiv)<br />Michael Banckhttps://www.blogger.com/profile/10019023009908861248noreply@blogger.comtag:blogger.com,1999:blog-5744790168115177005.post-5918037651515797612012-12-25T12:23:46.363+01:002012-12-25T12:23:46.363+01:00It is true that if you use Avnir's method you ...It is true that if you use Avnir's method you will get a non-zero entropy contribution like $S = R \ln(3.9)$, but it won't be exactly the same as the conformational entropy. $S=-R\sum_i^4 p_i\ln(p_i)$ where $p_i=e^{-(G^\circ_i-G^\circ)/RT}$ and $G^\circ=-RT\sum_i^4 e^{-G^\circ_i/RT}$. $G^\circ$ is the free energy of the R-A complex, which has four different binding modes. If A has four-fold symmetry then $G^\circ_1=G^\circ_2=G^\circ_3=G^\circ_4$, $p_i=\frac{1}{4}$ and $S=R\ln(4)$. If you include the symmetry number when computing the entropy of A then this contribution to the free energy is taking care of that way.<br /><br />If A is formally $C_1$ then the four binding free energies will be different and the conformational entropy will be a value between $R\ln(4)$ and $R\ln(1)$. This is also true for Avnir's method but, based on his equations, I don't see why the entropies computed in these two ways would be the same. However, Avnir's method might yield a good approximation to the conformational entropy, I don't know. <br /><br />Notice also that the binding free energies can in principle be similar completely by accident and not to do with symmetry in any way. Jan Jensenhttps://www.blogger.com/profile/08595894308946022740noreply@blogger.comtag:blogger.com,1999:blog-5744790168115177005.post-68846013306371665062012-12-24T16:36:07.682+01:002012-12-24T16:36:07.682+01:00Very nice reply. Just some further points:
«Howev...Very nice reply. Just some further points:<br /><br />«However, if molecule A is even *slightly* asymmetric then the effect enters as the conformational entropy of the complex.» Is this a «law» according to Quantum Mechanics? Because, if you apply the continuous symmetry arguments of Avnir, a molecule which is «slightly» assymetric (a flexible molecule) will have a «slight» degree of assymetry. In this case, a flexible A, for example, would have S = R ln(3.9). <br /><br />«Both are formally correct but I would argue the former is more general as it also works for non-symmetric molecules.» I do not fully agree with the reason here, because if for some reason the complex has an higher entropy because the ligand has more possibilities of binding, it means that the ligand itself has some symmetry operation somewhere and it can still be present on the rotational entropy of the ligand.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-5744790168115177005.post-54988146399811202862012-12-24T11:45:47.161+01:002012-12-24T11:45:47.161+01:00Good questions! Let me take the last question fir...Good questions! Let me take the last question first since it is a bit easier. If I understood your question correctly your talking about the extra degree of freedom due to rotation around the horizontal axis. In that case it depends on whether you view the model as being 2-dimensional or 3-dimensional. I view it as 2D where this degree of freedom is not allowed. However, if you view it as 3D (i.e. flat molecules in a 3D world) then you are correct.<br /><br />Now to your first question. Yes you can view it like that if the molecule is perfectly symmetric. The this effect is included in the rotational entropy of free A via the symmetry number (<a href="http://molecularmodelingbasics.blogspot.dk/2012/12/conformational-and-rotational-entropy.html" rel="nofollow">see this post</a>). However, if molecule A is even *slightly* asymmetric then the effect enters as the conformational entropy of the complex. So I think in the symmetric case the effect can also be ascribed to a conformational entropy of the complex.<br /><br />One could argue that the entropy of A can be measured to settle this issue. However, I don't think that is so straightforward - even conceptually. The entropy at temperature T is measured relative to absolute zero where the entropy is zero by definition. However, this state cannot be reached, and even at very, very low T symmetric molecules will have so-called residual entropy related to their symmetry which will be hard - if not impossible - to measure accurately. But I am not sure.<br /><br />Bottom line: I think the answer to your question is: ultimately what is measured is an entropy *change* and the higher entropy change for A can be explained *either* as a lower conformational entropy of the complex or a higher rotational entropy of the free ligand. Both are formally correct but I would argue the former is more general as it also works for non-symmetric molecules.Jan Jensenhttps://www.blogger.com/profile/08595894308946022740noreply@blogger.comtag:blogger.com,1999:blog-5744790168115177005.post-72415672642614857652012-12-23T12:17:52.015+01:002012-12-23T12:17:52.015+01:00Just want to comment this paragraph: «If you mix e...Just want to comment this paragraph: «If you mix equal amounts of A, B, and R you will get more R-A than R-B at equilibrium even though the hydrogen bond strength is the same in the two complexes. This is because molecule A can bind in four different ways while B can only bind one way, i.e. the R-A complex has a degeneracy of four (g=4) and the R-B complex has a degeneracy of one (g=1). Put another way, the R-A complex is more likely because it has a higher entropy (S=Rln(4)) than the R-B complex (S=Rln(1)).» <br /><br />Isn´t the entropy of complexation of the case A higher, because the rotational entropy of the unbinded molecule A is smaller, rather than being the entropy of the complex itself higher?<br /><br />Shouldn´t be the degeneracy 8 (A) and 2 (B), instead of 4 (A) and 1 (B)? For molecule A, 4 with the molecule facing up and 4 with the molecule facing down. And for molecule B, one with the molecule facing up and one with the molecule facing down. Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-5744790168115177005.post-4173723243547855752012-11-28T14:43:34.256+01:002012-11-28T14:43:34.256+01:00For that special case, yes.For that special case, yes.Jan Jensenhttps://www.blogger.com/profile/08595894308946022740noreply@blogger.comtag:blogger.com,1999:blog-5744790168115177005.post-53348264253405084322012-11-28T10:08:06.045+01:002012-11-28T10:08:06.045+01:00Yes, and you wrote "...they usually assume t...Yes, and you wrote "...they usually assume that all these microscopic arrangements have the same energy or are degenerate (same thing)."<br /><br />so you're actually implying that Q=W, not?mzhhttps://www.blogger.com/profile/01717022761119254985noreply@blogger.comtag:blogger.com,1999:blog-5744790168115177005.post-47584907044884502322012-11-27T08:27:52.207+01:002012-11-27T08:27:52.207+01:00Short answer: no. Long answer:
Another expressio...Short answer: no. Long answer:<br /><br />Another expression for the entropy is $S=k\ln(Q)+\frac{kT}{Q}\left(\frac{\partial Q}{\partial T}\right)_V$ where $Q$ is the partition function. $Q=W$ only if $Q$ is independent of $T$. This happens only if all energy levels are degenerate.Jan Jensenhttps://www.blogger.com/profile/08595894308946022740noreply@blogger.comtag:blogger.com,1999:blog-5744790168115177005.post-61377142878836795792012-11-26T15:54:26.898+01:002012-11-26T15:54:26.898+01:00Is it fair to call 'W' the partition funct...Is it fair to call 'W' the partition function of the system?mzhhttps://www.blogger.com/profile/01717022761119254985noreply@blogger.comtag:blogger.com,1999:blog-5744790168115177005.post-60096601442527161142012-11-23T11:35:57.415+01:002012-11-23T11:35:57.415+01:00Most people still think of arXiv as a physics-only...Most people still think of arXiv as a physics-only pre-print server.Jan Jensenhttps://www.blogger.com/profile/08595894308946022740noreply@blogger.comtag:blogger.com,1999:blog-5744790168115177005.post-80738901043613518452012-11-23T10:44:15.723+01:002012-11-23T10:44:15.723+01:00Maybe they could have spent more than the last ten...Maybe they could have spent more than the last ten seconds to talk about the possibility of submitting your articles also to platforms like arXiv.lucahttps://www.blogger.com/profile/14520546290899102320noreply@blogger.comtag:blogger.com,1999:blog-5744790168115177005.post-10809348331296471832012-11-05T08:32:19.558+01:002012-11-05T08:32:19.558+01:00Hi,
While fragit works great for proteins it curr...Hi,<br /><br />While fragit works great for proteins it currently has more trouble with very general polymers such as a long alkane chain. The problem is that there will be multiple matches which does not make chemical sense. The patterns that we use identify unique places and use that to cut. However, an alkane chain do not have any unique parts we can fragment which gives problems. We have thought about polymers and there are ideas which are promising, but right now it will not work without greasing your hands.<br /><br />CasperAnonymoushttps://www.blogger.com/profile/10508646868117037632noreply@blogger.comtag:blogger.com,1999:blog-5744790168115177005.post-64812896305225833672012-11-02T02:00:18.519+01:002012-11-02T02:00:18.519+01:00Hi Casper,
Thanks for your reply.
I thought the ...Hi Casper, <br />Thanks for your reply. <br />I thought the alkane would be much simpler given that it only contains carbon and hydrogen atoms. <br />It would be great if FragIt can be also applied to more general types of polymer. (Protein is a type of polymer, right?)<br />Best,<br /> shialchemyhttps://www.blogger.com/profile/10955630198850643499noreply@blogger.comtag:blogger.com,1999:blog-5744790168115177005.post-70761705516231323562012-10-30T13:28:40.397+01:002012-10-30T13:28:40.397+01:00Discussion of this post on over at Google+<a href="https://plus.google.com/u/0/114959083191278443851/posts/GC4DZ2CKWbe" rel="nofollow">Discussion of this post on over at Google+</a>Jan Jensenhttps://www.blogger.com/profile/08595894308946022740noreply@blogger.comtag:blogger.com,1999:blog-5744790168115177005.post-38067170429473851272012-10-30T12:31:41.933+01:002012-10-30T12:31:41.933+01:00Yes, they keep their wordYes, they keep their wordJan Jensenhttps://www.blogger.com/profile/08595894308946022740noreply@blogger.com