From 9a9e512e35ccd514e435317aa00589b6c85a0f62 Mon Sep 17 00:00:00 2001 From: Gauthier Roy <gauthierroy83@gmail.com> Date: Tue, 28 Jan 2020 09:10:05 +0100 Subject: [PATCH] fixes in Individu --- .DS_Store | Bin 0 -> 6148 bytes __pycache__/RotTable.cpython-36.pyc | Bin 0 -> 2085 bytes __pycache__/Traj3D.cpython-36.pyc | Bin 0 -> 1976 bytes individu.py | 29 +++++++++++++++++----------- 4 files changed, 18 insertions(+), 11 deletions(-) create mode 100644 .DS_Store create mode 100644 __pycache__/RotTable.cpython-36.pyc create mode 100644 __pycache__/Traj3D.cpython-36.pyc diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..ce584036d310ff852c50dff6063d64ba8881c0a3 GIT binary patch literal 6148 zcmZQzU|@7AO)+F(5MW?n;9!8zOq>i@0Z1N%F(jFwA|RR(Y(_3aDnlMa2}5yGIaF?x z8r&fOiaSn*6o!0;WQI}(r1&c?NXp4iVqjo6nN*OISzKaZaGjBfnT3^&or8mmgNv6d zHaH`{Jh&vWq_o&6u_zkE3rH-<NP@CM^7C`x?8Kz7%+&ID0TJi?ypqJsywoC)^5D#r z)TG3snDETJl>Bn1{L;LXVz4<-2@VcU4$gQ1iRx-oQ*#{!V-v$#9ffLha|0a(6JxX5 zT22meRYP0Pgxt!i>YCcRnUIiXWQ5QR{7@Q3&0=6+z~a@i;G(>o{JeBfrhq9OrAI?x zGz3ONV0ecBw4mhR9^T#@_1$O)jD`RiApj~L6rjx_2PoYDp+Qm%j0_B*<|Bw^ff*0! z2QYxdKw3dGNGpg2X=PvpvA|}4wK6a=K(sP~yCEQbpe_lB25V<vWB_YtU}OMmXMnZt z7$Mpj7$Mpj7@<8BMu>I>Mu>I>Mu>Kp^G4~>5Eu;sXb3PvXaP|D@5;b{tN#yCHA;?# zz-R~z%Mf5>aS3*D0$0k|{RgURLG@_@R2o$KgQ{ajP(6(h16RdNkO4&rs4%Fy2WbV- Y;HsFB0aBBXHUwZHG)j+#0R2M%08JrN;s5{u literal 0 HcmV?d00001 diff --git a/__pycache__/RotTable.cpython-36.pyc b/__pycache__/RotTable.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..dbb2e4134f6503a6df95598a7c5505e659fc5c85 GIT binary patch literal 2085 zcmXr!<>g|2r60GGoq^#o0}^0nU|?`yU|=Y=V_;xNVMt-jVTgjzj8TkWK2sEvJ3|Un z3UdoX3Uf146mu$bGeZ<hDr+iB7F!C7BttVJBSQ*fFoP!ROOU~S$siJjMPcU4F)}cu zGJwpCVoG6*Vg{L*Vv@p|!j{6G&X&TF!kNOA!kxkc=JBTRrSPW+qzHm}LMg&2>?xcn z{9v9)ifD>yig=0ym?xPcm1346lOhG?$)?DGRSJN4AXCiYrpTu#q$s9{rznBtlv8+8 zR8mw^)WAHDDbjFLKyI;syG1=k9Bd}Uc91ESa8p2T5reyhDTO)33hpC~IRa5EDVix- zEeuhtDcUJIEeug?DY_|oEeuiYDf%e}Eeuf{DTXOVEeuhdDaOGJn%1{Cg7Qm35|eUL zt7L;x3yM;UQ}arS6-qKv6^imp5=%1k^At)z(&_z&zG}prcXUWUdj<q#9A3_1U|>k! zA=mmkaK}3PbYn1hY+u9(5(aaO9UanV%>;pu_AmQE!VtY*>|e5icwj}FtzkwgIJ{&6 z2}2_Chy6=XN=XOv8th?;SR5cC4vtU;1CPT?P;!F0>y7<OC6FQCG-CP>U3GwIV{mwB z2@-x22y*a7d#Gw#n7ot&!~?}nP=>Ln!^;W=28NexAVLE~YylYncC+zk`}8z0_+tN3 zg@J)VQ{Wbpqhl14qjMCKqx&r;$B-x{XUAJi&dyOx&hAl6&LL4u?v7DR?#@w6?(R`c z?jcc3A&yZ@A<j`uA?{I3AtA}2U<3IT6a*{`3=GboEMmpLz>vvM!w}C<p;p3}#pJ>e zD^tq|V%0E8f-_AklO#h8Ll#2~qYXnLUpR=(+|0npkirnmpvmM{#13*D%Pr2J{E~QZ zJQsm1xFs78i}(0={~%9yPd`VW_#pp~_z*`YAJ<zfi8-l>noPG?ic@paZt<jK=9MPr zq~@1orlhW9D3V}cVE7urz`&p%TAW%`te>7(T9T2OT2z!@sqd1XT$&3?L;8k}@y@~e zAsMM>8uN=XQx#H5719%PQ}t6bb+b}SD|A!K@^eZ-2`n!$vnaJ#ALbyvg34PQ@$s2? znI-Y@(x6b_0EG)98zT>+3}clbTpdgeJm^5_g$ovRX$%Yu6$vE_S&S|Wv0=506#*qo zDU8h^o=YuL4MP?)C<tqqSQ#W4N?5X3v)DjtAz~>^;tY}u+zjX<Da^f0<_ydXHVlPg z;S7Zw;gDcv@hbwQ5=dAxMKR~(mq)Q=WTt0mvV%jrNQ8lb;TCIAVqSV`kuaE@SDIT; z8O2tVn3s~D8^vClmzkDdl&i^HB*wtNP$Ujg!<Y#UXb2$*5(brQpu}AavW<a}hmnu5 ziWeRnpeRcQMJ_0`Kr{%0QxP8n1KcYqjFQll0ZMS1Ob7>RG9fI7SPF{gB9P6uIMP!~ zLdr9XON>DA0Wz2YIVNDTBv}8FRO`c2Q_@pSaaj+RCBb@dgc0j|p7hibm&~HnWKe3g zKyrd8Jn)fK_+_U3|NlSp0EjsL|NsA&|3Iul5YYi5K(d-#pfsMBn420Oe~T+VJ~uz5 zGzY}yiH|QVP0WGHu*b)z<R{0+gHuqE6f6-G$$?l3AVLvDfFlY)fT9c>ub@)4Scidu zfrF8SnU4`46k+CI=Mdmv=3oZvED`{f8|+b>xrrqir6rj;#kW{M%pw_(eV_yo#Rjey s3~#X(6lLa>fYUWnvH`mW<d9n&HW1I*fnvNEls`EbIT$&Z_$=5M0qAo3Z2$lO literal 0 HcmV?d00001 diff --git a/__pycache__/Traj3D.cpython-36.pyc b/__pycache__/Traj3D.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ecd80201694553fe02c71577fca8c84a37602d91 GIT binary patch literal 1976 zcmXr!<>gAauNNo6#lY~G0SPcOFfceUFfbJRFfcHrFr+Z%FhoIU#wbQGpDBtNOtWOM zMzN(Zq%h^M=W;}GFoIMu=Wyn7MR7ASxHF`%q_DOyq_8$KMe(FC1~X`~y#!g~r^$GW z&9Nf2*w{sr@fLS-eojtma!F=>UU4!=8irY6&ah!%U`S;ESslfc!WhMz%96#J#g-z_ z%oxR<!j{6`!Vtxg!jZz+!Vtxo!j;0^!Vtxk!jr<=!Vtxs!WYb-DR_%5q$n}V*riG; zD7By{wKz4eq*x(Q!PrHiq$n{fHMu0esPZ|?-gK_(iwkVIxE<1=A`Vcg5BAB7P$3Y_ z#K6Gd3<@SL1_p*qh8l)=h7^Wi22Dng|M=q}HpW9~O~zX+#i==ID;bJ785kJ8hA}WO z=!X`k78UEKCzh6EWTqAs<yY#v<R_Qrf?TI>=os%DtRIq*dZsbIC^J<drBoq3F*j8| zHB&b$wX{MvwJblU6clKAiJ3*I#rhEI^a?6(am2@G=4F<|#|wcR2XZ9?V--JC9wvw4 z6OeDfK4D{EV5nipg88C|oq>Ttld*_{fdS%du-l73{=LPXo>~GjQxwS(K9GR1iyl-e z8I+Jf0S3|!G74;m6e9ye2}2fRGea$N2}2fB3Rg2@I%5q(JaZ;PElVatEo;TM5|$L^ z64n~VX2xbF7lzm;wQMzvHEb!&5)6_IAeJP9I72Oa4SNksHha+(kZD<LCG1%oHB4EY zHSEodDJ;?q&5S9mDQwNmH7qskHeeg!YPi5^*d^d<P)y(k$#O&FIGULSko2ao*Dz&) zbtCi&Fx0SuY^Y(bVaVbUU;x=C$p8@r(=0XYU>Yo23sS|L#S2!=oWco`X=Y?(DAWsw zq#kZRXli3%fHFSVzXV0lOHfR{WMN=nxWyRtG73yb6oF(kS&Dc;F@zxaK=H<Ri!(Q| zB%`z>GpG0#n{Q%CQD((0wlHvN2gmF!)}q9`^we9-IjMQKID+y^5<%(d77Iw%E%u_s zl+47u;#(Y`*euU1F1f{%o?7CPSp><eVDa$Ol=ReFg3vS`AMfiJ666^XA99N=v7jI| zFGZ6BoOYtvQ}Pnyi&G14aTev5#Fr!{<)lXOl;oEr=EUcM-4(?Rrjt{P<AbWAxZs?? zTa1~vcv3R+N|SR^^Gh;QQXxr@6Xah=I!w;bEhsHXl>ntf5W&FA!OX|R!pOoT!X(1P z!KlKL#G$~*!CVDPolp(QpzwsHPEc6`PMr-5kknbjkj2!@Sj&_S%GXRaOeqX046RHl zjA=}g3~(M33Xd7YV`gAtsAaBYsbwu;&SGh1sAa2R%VGr;geh#jOrSKI#a07KldR3m zj0`2rS?tXWV44Gz+Cc?qFoPz$A2?o%_(8rDU|?W)na{w$5XEGiqRAM=RZx@<DzY;3 z^E5ecG36E9VofY6O00xLDRV(iNfcXJW_oE+Y7}>3N=kfjX;MK>en}Jyh`hy8oRME1 z#a^6PmYSBC4vn8%9BG+3sd<UHskfLbDywcWR@`E&yv0}*#hjLzev2uw0zJ@KQi>AG ztwA9UavcLB4<j3+2_pw1A0r<l2V)gCv>X7b@_P;`PJi2LvJ`=W8A2F=yap<6G<iS; z7Rc`S_*-1@@wxdar8%kb@wa&5;|og@bD%Qp@$o77$?@?;pz@|j43zpow&WG(fD>(z z0?0gW5Wxc?R6&FxhybS)1OZAjMW9RsQdSHiI2c)&d6+nuIhZ+=!7`e>5KE*%mayiP z<`z^Ise{5_FgLLT6o@&QNqPm9AXXF`gf7wq$&2I`<iwZc=jUW+mK5vdf)p616oHZ% xI7Nf_IhjdCpi=P`Q*JWYGNh0NI}+r+TO2l!P_P5(g*uXhnS+swk%y6o833~V(Xs#l literal 0 HcmV?d00001 diff --git a/individu.py b/individu.py index 02c676c..d01e39b 100644 --- a/individu.py +++ b/individu.py @@ -1,33 +1,40 @@ -from table_rotation import table_rotation -from traj3D import * +from RotTable import RotTable +from Traj3D import * import numpy as np from math import sqrt class Individu(): - def __init__(self, rot_table): - self.rot_table = rot_table + def __init__(self, table): + self.table = table self.score = None def evaluate(self, brin): traj = Traj3D() - traj.compute(brin, self.rot_table) + traj.compute(brin, self.table) traj_array = np.array(traj.getTraj()) - first_nucleotide = traj_array[0, :] - last_nucleotide = traj_array[-1, :] - distance = sqrt(sum((last_nucleotide - last_nucleotide) ** 2)) + first_nucleotide = traj_array[0, 0:3] + last_nucleotide = traj_array[-1, 0:3] + distance = sqrt(sum((first_nucleotide - last_nucleotide) ** 2)) first_name = brin[0] last_name = brin[-1] - rot_computed = rot_table[last_name+first_name] - rot_traj = first_name - last_name + rot_computed = self.table.Rot_Table[last_name+first_name] + rot_traj = first_nucleotide - last_nucleotide + print(rot_traj) + print(rot_computed) diff_angle = sum(abs(rot_computed - rot_traj)) self.score = 1/(distance + diff_angle) def mutation(self): - + mutation = 0 return mutation + +table = RotTable() +test = Individu(table) +test.evaluate("AAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCCAGTAAACGAAAAAACCGCCTGGGGAGGCGGTTTAGTCGAA") +print(test.score) -- GitLab