From da462dcd4fa882a69293f911aea4737b073d05e1 Mon Sep 17 00:00:00 2001 From: hotwa Date: Fri, 14 Nov 2025 21:45:06 +0800 Subject: [PATCH] updsate --- .gitignore | 3 ++- src/__pycache__/__init__.cpython-312.pyc | Bin 244 -> 0 bytes src/__pycache__/__init__.cpython-314.pyc | Bin 247 -> 0 bytes .../fragment_cleaver.cpython-314.pyc | Bin 7869 -> 0 bytes .../fragment_dataclass.cpython-314.pyc | Bin 6933 -> 0 bytes .../macro_lactone_analyzer.cpython-314.pyc | Bin 22193 -> 0 bytes .../macrolactone_fragmenter.cpython-312.pyc | Bin 29410 -> 0 bytes .../macrolactone_fragmenter.cpython-314.pyc | Bin 31080 -> 0 bytes src/__pycache__/ring_numbering.cpython-314.pyc | Bin 7062 -> 0 bytes .../ring_visualization.cpython-314.pyc | Bin 21507 -> 0 bytes src/__pycache__/visualizer.cpython-314.pyc | Bin 11509 -> 0 bytes 11 files changed, 2 insertions(+), 1 deletion(-) delete mode 100644 src/__pycache__/__init__.cpython-312.pyc delete mode 100644 src/__pycache__/__init__.cpython-314.pyc delete mode 100644 src/__pycache__/fragment_cleaver.cpython-314.pyc delete mode 100644 src/__pycache__/fragment_dataclass.cpython-314.pyc delete mode 100644 src/__pycache__/macro_lactone_analyzer.cpython-314.pyc delete mode 100644 src/__pycache__/macrolactone_fragmenter.cpython-312.pyc delete mode 100644 src/__pycache__/macrolactone_fragmenter.cpython-314.pyc delete mode 100644 src/__pycache__/ring_numbering.cpython-314.pyc delete mode 100644 src/__pycache__/ring_visualization.cpython-314.pyc delete mode 100644 src/__pycache__/visualizer.cpython-314.pyc diff --git a/.gitignore b/.gitignore index 1117ec1..d33100b 100644 --- a/.gitignore +++ b/.gitignore @@ -8,4 +8,5 @@ extracted_sdf_files/ preprocessed_molecules/ preprocessed_molecules_unlimited/ *.png -*.svg \ No newline at end of file +*.svg +*.pyc \ No newline at end of file diff --git a/src/__pycache__/__init__.cpython-312.pyc b/src/__pycache__/__init__.cpython-312.pyc deleted file mode 100644 index 42fd9478661846016e4d8f2a37daffa1aee98d60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 244 zcmX@j%ge<81e}rFnV~@XF^B^Lj8MjB9w1{nLkdF_LkeRQVkB2l%JKFT%w-~ zvLn8@ASbg#zqlw_KR!M)FS8^*Uaz3?7l%!5eoARhs$CH~P&dfk#ezWM12ZEd<3}bY RMwSm84E$n^+(oQFQ2;=%LHYmy diff --git a/src/__pycache__/__init__.cpython-314.pyc b/src/__pycache__/__init__.cpython-314.pyc deleted file mode 100644 index 1b128621ab090ea04e57a3ee7db23fc8f9f0a5cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 247 zcmdPq diff --git a/src/__pycache__/fragment_cleaver.cpython-314.pyc b/src/__pycache__/fragment_cleaver.cpython-314.pyc deleted file mode 100644 index 2e9580902526cc4c37e4bbe5b0faf6105f70064e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7869 zcmbtZYit`=cD_Rn$r0a@Xi>IkY4nI3N-||{Tc0>HU+G7gGRw-v01c5{Ub&5BQ1&|1-3wch^B0E2Lfy~3l#k)Lr&8N z3iO;ioFT<1&bE7jxpVHFbI*OAbH00K)a!8)NNsPpvcV7`pJTyDmO8QX$3T=woT%hF ziE~kI#-dvKkhVmvGrY>r*i;)UTch?Fhw7LSRAHt~ZJTkbPN?VNeAG4LR^2lm)x*lR zsCUMv`eyv9zmLT2K@xWaNzSjf#|5C<7~K(f0_|dSXWR|6htYw!caVgAcV2PMWizsv zUP@*2Vmc?M-byXXVk(~z7iem6SBqB+cd*llhh98!}Q_`=YGsb;W{`#WuhzT&xdIYlm*+^h!=PYLqkwD~%7PHh8S? z?ED#IB_fgQmXm)#NCxUcx$!r)#rB}F{u$!w9Fg3MI>&bP8Y2b=O-7h5mMwO62m=g zNfK}J+9X>HSEMCP)XN~}Fvzh>_L!rE1&Rh&(UDM2LGO#~Y|Qo$B3WX1ep*uE(n}Vj z=RPt!j)$z5%qH}=WPzRJ?o^%83}{bw;kKxl8m5RTRZXRrTA*!xK_K0TXNkz@y3EZo2iWS<+SVp2qH5(^6;v#=~?^OuHZgYvLm9wEQ>d#*P z;Pq`rf11|cn{UkP#Ma@X9}oWJ8{1ao-#UH%v-5v@<|!-atIdNrBjJ3RrTG=qmdNw% zd_VXGL#vs^*~6YBIwtCttOyoof!T>TH%R79t0GxV8TLkP!@@|G2v-!q=Cw(}q53#8 z_s|zf!d|xKdSgt^#LrGa3*B?g_JehD#PB?|B*|%vppQsxF;B~9DDL7QG1SbK)Zi$( zBv%agxg{Ah0?P_y(Ji@SxcM!~;3|3&k9J$uM760r2xAiV9I2-4z_Z!)_q^C-J`WP1}CO9N$uw7I;0NCC;3q&X920A zNBh655zONGrzG=hos!3R!khfBU-Fy;%Tliyg87oY{JaEwO`7SA!HH^3IJ;(Rm-wIN z65xjyT3a-b!31bJCh+zP^;1}1qaGr8W5!|BnOJV@K+)TDdR}Z|sFQGdyv82%HCw2W z=kpdjrOrVj!iWySWnz$=wjLx|E^J95lyY9sA-kAr!X6Dkp8^;n&Rveac41Bg3;q8^ zAm|4s#b`bw-$E2(pcx&G+*|_a(cF8sfqfW|*~_c6NMq2$KsQW2Hq!4ZUk`?IIRAYIVXI_=n zo3floNTg6ybIn>T6g6uqlcA`$6fX=EHJyg=E03HEH6f8rUs+k!d~>pT5m9{Z{8EZ8 z%9;;^@2cs*mpK?V`*;84lSsm&(IE>W<6` zkXG$DOv&@u<`OTwBm1oK#ImjbG(&>iF*&w7d5|HH}ePu@-c;9O}M0G``dbq$nV z1M6ohu1lrqn#1+I@BY%)`Ai`Dx^>XFJ()ZG)Fj4F1t#%BTJBHV9RXUD9C%rGMI`5vS2t7|d(Cbdeo?U5|E0L$y!>M9Omu|&(}*QHZrugx5lW+b z*!ezWrQa~X@U@V>0o_e%cQ66qy$R}DfxPA^rkFPBs-v~li`k6UX2w~*issR+QS45~ z^|%VpL-Qs0uAG4k(fny{|5MD~n|^=h-I;A9Kb~W+&-B;U!0?C4Uz}gR_0!0<6~1mA zyZ98}Uq$hFAAtqtcSNSGjab1|%T-RY?iCp@ysw{Jk$90gKyXdtg|}XRIdPW3F>!=1Reiw9Wpcj#2G{u(y5nJ6ekF0A2C6=&E=XJ9w!CCD@{3+b3c(Cp0dCc_R2C$7%ZZiJeX zMod?88REd*GijO=u|zUmSjnrJAFu)rDn*kwF&db+(I=7g%b0l=Ba0Xk)I zES#r4<0!InZ))6Ing@nxaw>X+q!&N?&6%;e$droMo&l`ONa4C@0&+1(#3&5CE2!43 z7)Qr99eU8V3En6)3EU-klo8MXfHfhqZ@AXcQ|lV6MNa%x;pc_T$hpnnE9JIei z_pEDEKen%Pf7%8W4}z~ebMX7@rOVIUq@(L@_Fn$&e5Gr+(tfD)?Je-`N~PmOY4%C5 z8(_}oXh9jm3sx$4^%h`Z;3 zYe4@9Zo2b@2c0jh7b=~{0c^NBAGmtzpF*|JXzjqETJLzRXJ~D7UD_CXd1LgD}em(LCWn*oi~- zO@1AI5`b&bQ?n0m1m&79n|iRH1==)w-6y;22V7>5nMKxkcB*yfi=$x&{&^nw?|?}` zO+XJELJthtd*E;3^|6(`J{2~n;tx;Gu}`|MH3tq2?eM^)`JI1YQsSJ%fiJK?gdWOz z+B>?^6g#s@)&&@Uh&23c9J~q2X;}0)M9CZRv8JdQFY!17OpC2j_&ueV{y1?YF=YBj zh|fVZ({|^-oiSQ~z&PG{6|h`6*)+eCqW;6F$z0-(FI}^m-Nr6Apzqh$7Cl zxTD6^RyT{xyysKPXi4i9{fKz@Y_nP49k0Lqbtbv#t_uHoaGof0LBFeNcHK=}xifHq z(gK|n&lgs584-T)pkq;F!%N|Ry*r~{;i)eV+ViG0LgxCfD0&sPNwXD!L#4P6%mzV7 zIEC~L%$Q$bMiWgX{cXq;JZ1XDO*dx#`q0t(G0#I6fP)7v5{Q;AKXHM5>tQ2PT z=m`GvWR8OJFhtF+-Y&v2>A`QDAB%wN=y?{4Y<18dX&t6J$fV$BP!3j^xgw_Cy5GVJ zDqBjn5I-kuMEY6@FE1A|@VE0UT?QsF^h7xZ*|wGAxTh8i$A4ibT<|fOcuXP{5_wFf eACuEx*x^sz7soMV{)K7*l>Oy*Ij{*#?EeCcL%i(( diff --git a/src/__pycache__/fragment_dataclass.cpython-314.pyc b/src/__pycache__/fragment_dataclass.cpython-314.pyc deleted file mode 100644 index 6581675bc8e6056fa1e1d305acc03e4ba02fd706..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6933 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 J^+aj&{{~y5Nag?l diff --git a/src/__pycache__/macrolactone_fragmenter.cpython-312.pyc b/src/__pycache__/macrolactone_fragmenter.cpython-312.pyc deleted file mode 100644 index 53713987b4b8288b3d0a9e39235665595eb85ff4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29410 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 of8d%TT+`okwg14?UE?KglO8@`> diff --git a/src/__pycache__/macrolactone_fragmenter.cpython-314.pyc b/src/__pycache__/macrolactone_fragmenter.cpython-314.pyc deleted file mode 100644 index 41ad4d517540fee36c0ae3b2b22c9f01751d7c91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31080 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 diff --git a/src/__pycache__/ring_visualization.cpython-314.pyc b/src/__pycache__/ring_visualization.cpython-314.pyc deleted file mode 100644 index b7f2b2aa65df1623d1ea4bfe33d414ca8eb5929e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21507 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