servalcat 0.4.72__cp38-cp38-win_amd64.whl → 0.4.99__cp38-cp38-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of servalcat might be problematic. Click here for more details.
- servalcat/__init__.py +2 -2
- servalcat/ext.cp38-win_amd64.pyd +0 -0
- servalcat/refine/refine.py +152 -67
- servalcat/refine/refine_geom.py +32 -13
- servalcat/refine/refine_spa.py +70 -40
- servalcat/refine/refine_xtal.py +45 -13
- servalcat/refine/spa.py +15 -4
- servalcat/refine/xtal.py +147 -98
- servalcat/refmac/exte.py +7 -5
- servalcat/refmac/refmac_keywords.py +11 -9
- servalcat/refmac/refmac_wrapper.py +87 -60
- servalcat/spa/fofc.py +20 -3
- servalcat/spa/fsc.py +11 -11
- servalcat/spa/run_refmac.py +27 -12
- servalcat/spa/translate.py +2 -2
- servalcat/utils/commands.py +154 -4
- servalcat/utils/fileio.py +20 -10
- servalcat/utils/hkl.py +43 -29
- servalcat/utils/logger.py +25 -1
- servalcat/utils/maps.py +2 -2
- servalcat/utils/model.py +23 -10
- servalcat/utils/refmac.py +20 -1
- servalcat/utils/restraints.py +34 -25
- servalcat/utils/symmetry.py +5 -5
- servalcat/xtal/french_wilson.py +39 -31
- servalcat/xtal/sigmaa.py +382 -152
- servalcat/xtal/twin.py +121 -0
- {servalcat-0.4.72.dist-info → servalcat-0.4.99.dist-info}/METADATA +4 -4
- servalcat-0.4.99.dist-info/RECORD +45 -0
- {servalcat-0.4.72.dist-info → servalcat-0.4.99.dist-info}/WHEEL +1 -1
- servalcat-0.4.72.dist-info/RECORD +0 -44
- {servalcat-0.4.72.dist-info → servalcat-0.4.99.dist-info}/entry_points.txt +0 -0
- {servalcat-0.4.72.dist-info → servalcat-0.4.99.dist-info}/licenses/LICENSE +0 -0
servalcat/xtal/twin.py
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Author: "Keitaro Yamashita, Garib N. Murshudov"
|
|
3
|
+
MRC Laboratory of Molecular Biology
|
|
4
|
+
|
|
5
|
+
This software is released under the
|
|
6
|
+
Mozilla Public License, version 2.0; see LICENSE.
|
|
7
|
+
"""
|
|
8
|
+
from __future__ import absolute_import, division, print_function, generators
|
|
9
|
+
import argparse
|
|
10
|
+
import gemmi
|
|
11
|
+
import numpy
|
|
12
|
+
import pandas
|
|
13
|
+
from servalcat.utils import logger
|
|
14
|
+
from servalcat import utils
|
|
15
|
+
from servalcat import ext
|
|
16
|
+
|
|
17
|
+
def find_twin_domains_from_data(hkldata, max_oblique=5, min_alpha=0.05):
|
|
18
|
+
logger.writeln("Finding possible twin operators from data")
|
|
19
|
+
ops = gemmi.find_twin_laws(hkldata.cell, hkldata.sg, max_oblique, False)
|
|
20
|
+
logger.writeln(f" {len(ops)} possible twin operator(s) found")
|
|
21
|
+
#for op in ops:
|
|
22
|
+
# logger.writeln(f" {op.triplet()}")
|
|
23
|
+
if not ops:
|
|
24
|
+
return
|
|
25
|
+
twin_data = ext.TwinData()
|
|
26
|
+
twin_data.setup(hkldata.miller_array(), hkldata.df.bin, hkldata.sg, hkldata.cell, ops)
|
|
27
|
+
if "I" in hkldata.df:
|
|
28
|
+
Io = hkldata.df.I.to_numpy()
|
|
29
|
+
else:
|
|
30
|
+
Io = hkldata.df.FP.to_numpy()**2
|
|
31
|
+
alphas = []
|
|
32
|
+
ccs, nums = [], []
|
|
33
|
+
for i_bin, bin_idxes in hkldata.binned():
|
|
34
|
+
ratios = [1.]
|
|
35
|
+
ccs.append([])
|
|
36
|
+
nums.append([])
|
|
37
|
+
for i_op, op in enumerate(ops):
|
|
38
|
+
ii = numpy.array(twin_data.pairs(i_op, i_bin))
|
|
39
|
+
val = numpy.all(numpy.isfinite(Io[ii]), axis=1)
|
|
40
|
+
if numpy.sum(val) == 0:
|
|
41
|
+
cc = numpy.nan
|
|
42
|
+
else:
|
|
43
|
+
cc = numpy.corrcoef(Io[ii][val].T)[0,1]
|
|
44
|
+
rr = (1 - numpy.sqrt(1 - cc**2)) / cc
|
|
45
|
+
ratios.append(rr)
|
|
46
|
+
ccs[-1].append(cc)
|
|
47
|
+
nums[-1].append(len(val))
|
|
48
|
+
alphas.append(numpy.array(ratios) / numpy.nansum(ratios))
|
|
49
|
+
alphas = numpy.maximum(0, numpy.mean(alphas, axis=0))
|
|
50
|
+
alphas /= numpy.nansum(alphas)
|
|
51
|
+
ccs = numpy.array(ccs)
|
|
52
|
+
nums = numpy.array(nums)
|
|
53
|
+
tmp = [{"Operator": gemmi.Op().triplet(),
|
|
54
|
+
"R_twin_obs": 0,
|
|
55
|
+
"CC_mean": 1,
|
|
56
|
+
"Alpha_from_CC": alphas[0]}]
|
|
57
|
+
for i_op, op in enumerate(ops):
|
|
58
|
+
ii = numpy.array(twin_data.pairs(i_op))
|
|
59
|
+
val = numpy.all(numpy.isfinite(Io[ii]), axis=1)
|
|
60
|
+
if numpy.sum(val) == 0:
|
|
61
|
+
r_obs = numpy.nan
|
|
62
|
+
else:
|
|
63
|
+
r_obs = numpy.sum(numpy.abs(Io[ii][val, 0] - Io[ii][val, 1])) / numpy.sum(Io[ii][val])
|
|
64
|
+
tmp.append({"Operator": op.triplet(),
|
|
65
|
+
"CC_mean": numpy.sum(nums[:,i_op] * ccs[:,i_op]) / numpy.sum(nums[:,i_op]),
|
|
66
|
+
"R_twin_obs": r_obs,
|
|
67
|
+
"Alpha_from_CC": alphas[i_op+1],
|
|
68
|
+
})
|
|
69
|
+
df = pandas.DataFrame(tmp)
|
|
70
|
+
logger.writeln(df.to_string(float_format="%.2f"))
|
|
71
|
+
|
|
72
|
+
sel_idxes = [i for i, a in enumerate(alphas) if i > 0 and a > min_alpha]
|
|
73
|
+
if not sel_idxes:
|
|
74
|
+
logger.writeln(" No twinning detected")
|
|
75
|
+
return
|
|
76
|
+
|
|
77
|
+
if len(sel_idxes) + 1 != len(alphas):
|
|
78
|
+
ops = [ops[i-1] for i in sel_idxes]
|
|
79
|
+
logger.writeln(" Twin operators after filtering small fractions")
|
|
80
|
+
alphas = numpy.array([alphas[0]] + [alphas[i] for i in sel_idxes])
|
|
81
|
+
alphas /= numpy.sum(alphas)
|
|
82
|
+
df = pandas.DataFrame({"Operator": [x.triplet() for x in [gemmi.Op()]+ops],
|
|
83
|
+
"Alpha": alphas})
|
|
84
|
+
logger.writeln(df.to_string(float_format="%.2f"))
|
|
85
|
+
twin_data = ext.TwinData()
|
|
86
|
+
twin_data.setup(hkldata.miller_array(), hkldata.df.bin, hkldata.sg, hkldata.cell, ops)
|
|
87
|
+
twin_data.alphas = alphas
|
|
88
|
+
if "I" not in hkldata.df:
|
|
89
|
+
logger.writeln('Generating "observed" intensities for twin refinement: Io = Fo**2, SigIo = 2*F*SigFo')
|
|
90
|
+
hkldata.df["I"] = hkldata.df.FP**2
|
|
91
|
+
hkldata.df["SIGI"] = 2 * hkldata.df.FP * hkldata.df.SIGFP
|
|
92
|
+
return twin_data
|
|
93
|
+
|
|
94
|
+
# find_twin_domains_from_data()
|
|
95
|
+
|
|
96
|
+
def estimate_twin_fractions_from_model(twin_data, hkldata):
|
|
97
|
+
logger.writeln("Estimating twin fractions")
|
|
98
|
+
Ic = numpy.abs(twin_data.f_calc.sum(axis=1))**2
|
|
99
|
+
Ic_all = Ic[twin_data.twin_related(hkldata.sg)]
|
|
100
|
+
rr = twin_data.obs_related_asu()
|
|
101
|
+
tmp = []
|
|
102
|
+
for i_bin, bin_idxes in hkldata.binned():
|
|
103
|
+
cc_o_c = []
|
|
104
|
+
i_tmp = Ic_all[numpy.asarray(twin_data.bin)==i_bin,:]
|
|
105
|
+
P = numpy.corrcoef(i_tmp.T)
|
|
106
|
+
iobs = hkldata.df.I.to_numpy()[bin_idxes]
|
|
107
|
+
ic_bin = Ic[rr[bin_idxes,:]]
|
|
108
|
+
val = numpy.isfinite(iobs) & numpy.isfinite(ic_bin).all(axis=1)
|
|
109
|
+
iobs, ic_bin = iobs[val], ic_bin[val,:]
|
|
110
|
+
cc_o_c = [numpy.corrcoef(iobs, ic_bin[:,i])[0,1] for i in range(len(twin_data.ops)+1)]
|
|
111
|
+
frac_est = numpy.dot(numpy.linalg.pinv(P), cc_o_c)
|
|
112
|
+
tmp.append(frac_est.tolist())
|
|
113
|
+
|
|
114
|
+
df = pandas.DataFrame(tmp)
|
|
115
|
+
df.iloc[:,:] /= df.sum(axis=1).to_numpy()[:,None]
|
|
116
|
+
mean_alphas = numpy.maximum(0, df.mean())
|
|
117
|
+
mean_alphas /= numpy.sum(mean_alphas)
|
|
118
|
+
logger.write(" Estimated fractions from data-model correlations: ")
|
|
119
|
+
logger.writeln(" ".join("%.2f"%x for x in mean_alphas))
|
|
120
|
+
twin_data.alphas = mean_alphas
|
|
121
|
+
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: servalcat
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.99
|
|
4
4
|
Summary: Structure refinement and validation for crystallography and single particle analysis
|
|
5
5
|
Author: Keitaro Yamashita, Garib N. Murshudov
|
|
6
6
|
License: MPL-2.0
|
|
7
7
|
Project-URL: Repository, https://github.com/keitaroyam/servalcat
|
|
8
|
-
Requires-Python: >=3.
|
|
8
|
+
Requires-Python: >=3.8
|
|
9
9
|
Requires-Dist: packaging
|
|
10
10
|
Requires-Dist: numpy>=1.15
|
|
11
11
|
Requires-Dist: scipy
|
|
12
12
|
Requires-Dist: pandas>=1.1.0
|
|
13
|
-
Requires-Dist: gemmi==0.
|
|
13
|
+
Requires-Dist: gemmi==0.7.0
|
|
14
14
|
Description-Content-Type: text/markdown
|
|
15
15
|
|
|
16
16
|
# Servalcat
|
|
@@ -40,7 +40,7 @@ pip install servalcat
|
|
|
40
40
|
```
|
|
41
41
|
will install the stable version.
|
|
42
42
|
|
|
43
|
-
The required GEMMI version is now [v0.
|
|
43
|
+
The required GEMMI version is now [v0.7.0](https://github.com/project-gemmi/gemmi/releases/tag/v0.7.0). It may not work with the latest gemmi code from the github. The policy is in the main branch I only push the code that works with the latest package of GEMMI.
|
|
44
44
|
|
|
45
45
|
To use the Refmac5 related commands, you also need to install [CCP4](https://www.ccp4.ac.uk/). For "No Refmac5" commands, you may just need [the monomer library](https://github.com/MonomerLibrary/monomers) if CCP4 is not installed.
|
|
46
46
|
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
servalcat/__init__.py,sha256=HJt3p1jXzt-hnlShh1LfxHF3WRNM7hyk1FY-B4EqExc,241
|
|
2
|
+
servalcat/__main__.py,sha256=XUM193aDwZAEQY02VzvZasAzD6AYEM-_A4wqy93KDWE,4190
|
|
3
|
+
servalcat/ext.cp38-win_amd64.pyd,sha256=b3XA-uj4P_eMgKwSrIG3jDYCQU49xOMqosymXrWmaFs,1334784
|
|
4
|
+
servalcat/refine/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
|
+
servalcat/refine/cgsolve.py,sha256=Xz7EwGI-mr4nnbfARyfFjAqbJbPWGH9qNWQ0GpltDuc,3172
|
|
6
|
+
servalcat/refine/refine.py,sha256=P6epHQZLpz3Tl2fuGrdCp6WOxuzvik7YJJTBsd4zuHg,44941
|
|
7
|
+
servalcat/refine/refine_geom.py,sha256=RMfhmBb-jlSFZoMhV3QONev9U2ZuHuPyjSslhECMYXo,11585
|
|
8
|
+
servalcat/refine/refine_spa.py,sha256=BFoJPNhyLVUWl2U2aDufkRJheYmzhnP4iEdE9DZ5JWc,19528
|
|
9
|
+
servalcat/refine/refine_xtal.py,sha256=kI6oqE2u8E82KUqk6zg4Y9JVLC2PIE9LG227rXWlYM8,15017
|
|
10
|
+
servalcat/refine/spa.py,sha256=7aYSnSty0fSe46P_RQ79Bd_8RwD88k3uAaLHVsz6yHc,6616
|
|
11
|
+
servalcat/refine/xtal.py,sha256=qusNpwRdBie9pnHol_NTDgou08reuiERWBujyhREFbc,14893
|
|
12
|
+
servalcat/refmac/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
13
|
+
servalcat/refmac/exte.py,sha256=LRPej2yCZ4RoWJnEQldILEiUED6S_w1lgutWAdhu9_o,9201
|
|
14
|
+
servalcat/refmac/refmac_keywords.py,sha256=WPLDQdk91i5yKZ0QcfaTQ6qL-_qBv7_91eUv4Is9j54,27288
|
|
15
|
+
servalcat/refmac/refmac_wrapper.py,sha256=7FuYyWqN1UvSilFECWOSmWmYObXFLvO49PWkRbwBPHQ,18233
|
|
16
|
+
servalcat/spa/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
|
+
servalcat/spa/fofc.py,sha256=DONPNvHPP9odKGNekpo781D_skjReUEytQ1wHBJxGwc,23592
|
|
18
|
+
servalcat/spa/fsc.py,sha256=Rszx-zzJiX5iSY-Qp6q5uCrEhE3a5eyW-m_szT5itLA,17839
|
|
19
|
+
servalcat/spa/localcc.py,sha256=FJMXiC0Po5eb1Le404mgNDj9VcxH5CRR9F5B7uDZn5w,8173
|
|
20
|
+
servalcat/spa/realspcc_from_var.py,sha256=x3NaqGKpGmQyh3qp-SJ9kTA_hP2EvxBOIszYbV2EPKk,5403
|
|
21
|
+
servalcat/spa/run_refmac.py,sha256=bHSj-8_RLdrfHTCyNWoMtXsrNT37AfpONZ8D3jR01ZE,50527
|
|
22
|
+
servalcat/spa/shift_maps.py,sha256=G_EddBcdyncl2bhW7I-4YF0ZFtX9Q95a2SIJ9rpPeR4,13561
|
|
23
|
+
servalcat/spa/shiftback.py,sha256=EtITj8Nllz-MWE6oJrxruDWeT0q7tS3RXCKtpWMuHNg,4801
|
|
24
|
+
servalcat/spa/translate.py,sha256=PGf1vHh_b_mxDta_CAghY7QBRVPzHSaGLDhrnafqCdA,5228
|
|
25
|
+
servalcat/utils/__init__.py,sha256=4umrD2fhG1QAQppDBQM95-6y8QYbtxr7Mi_-Nkc3XOA,1172
|
|
26
|
+
servalcat/utils/commands.py,sha256=fEWF6HesIAuxnzbaKAPws_QaIPxJUQc6DVthHeex_Vk,72503
|
|
27
|
+
servalcat/utils/fileio.py,sha256=3fyHTQ62sibP3cUYtX8D9G7cC6qelkfPKnbA47MqPOo,30246
|
|
28
|
+
servalcat/utils/generate_operators.py,sha256=fCrcTcciRn-6fpFtHYvf1oPXAObjuqR3WQejz5d0RrA,10980
|
|
29
|
+
servalcat/utils/hkl.py,sha256=sMaXJprnceVLDHWfwPSTWmbVbAJEPfj86tF3C0S2g_o,28776
|
|
30
|
+
servalcat/utils/logger.py,sha256=VXSkn54Rp2dxnCQ-Smb5T0NZqysvw8GGb4bKyA8Vuig,4729
|
|
31
|
+
servalcat/utils/maps.py,sha256=1Gm54nEvPj4peCuo0Rx-8_gvRD1pr2qECq7U9N6mrVw,13570
|
|
32
|
+
servalcat/utils/model.py,sha256=YPqYNCPZrbtUPbtMROQUA1RowEC7zrBlUvAEFNfoW5k,30959
|
|
33
|
+
servalcat/utils/refmac.py,sha256=dY92UZo2orgZJOEmPacCek8PMj-ydCp6-pR0rdsAVG8,31682
|
|
34
|
+
servalcat/utils/restraints.py,sha256=hclAJ3CKzIqeyC-I0rH8TSwikwQN1k8dUtYWKC0OAnU,37741
|
|
35
|
+
servalcat/utils/symmetry.py,sha256=PSSD-S_j_t1m4E9F8Fd9RJqTWyKf92zLCjSED7iXFkU,12164
|
|
36
|
+
servalcat/xtal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
37
|
+
servalcat/xtal/french_wilson.py,sha256=u4wzHuotO8-avPkhuEylg9WmMZYdGHYz1IvG07uqW3M,12045
|
|
38
|
+
servalcat/xtal/run_refmac_small.py,sha256=_Rw7wz7_yAlQgDqjJ_njeK6ZqN_r7KAakoor9WeNhxI,10634
|
|
39
|
+
servalcat/xtal/sigmaa.py,sha256=uF552XnFyaBKfN36c8ajMOxFGrW_r3p9FFQ4T5nB1wg,76970
|
|
40
|
+
servalcat/xtal/twin.py,sha256=gsDyyeC5jxsY8wepcB9lnNNPgVCvqlGVj9_kQZkkdWg,5021
|
|
41
|
+
servalcat-0.4.99.dist-info/METADATA,sha256=OxT6LeODHswv4-Yg1Xtv6pjkvHjriRcZNFfq5asJObs,2741
|
|
42
|
+
servalcat-0.4.99.dist-info/WHEEL,sha256=kwS-TzWMc793MQ545g1AsDhyMUJrOZEAGChkok6pUJs,104
|
|
43
|
+
servalcat-0.4.99.dist-info/entry_points.txt,sha256=G1mDxhOCdF3umYz4k0kfwJbSdYSKqhvQdGCmrP8FRAY,111
|
|
44
|
+
servalcat-0.4.99.dist-info/licenses/LICENSE,sha256=JoTeFzAOCkNGhvHsf4r2BFIHpLRXo_4EsrnOZV58XVA,17098
|
|
45
|
+
servalcat-0.4.99.dist-info/RECORD,,
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
servalcat/__init__.py,sha256=38MjgJlCYiBGXs6xPMoSqHeHNYgnEGdawRSdJ63BoBI,241
|
|
2
|
-
servalcat/__main__.py,sha256=XUM193aDwZAEQY02VzvZasAzD6AYEM-_A4wqy93KDWE,4190
|
|
3
|
-
servalcat/ext.cp38-win_amd64.pyd,sha256=DOpCEuK7oph-WerCALRXzVDXMyo-I5_KPJQIityugX8,1861120
|
|
4
|
-
servalcat/refine/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
|
-
servalcat/refine/cgsolve.py,sha256=Xz7EwGI-mr4nnbfARyfFjAqbJbPWGH9qNWQ0GpltDuc,3172
|
|
6
|
-
servalcat/refine/refine.py,sha256=mC7iSnY5TwEoGeYSc_Wx-tXSY7rxp91HzF--SuSUzqc,39048
|
|
7
|
-
servalcat/refine/refine_geom.py,sha256=K5rXXZGiNobcWo2rVUCWeTZW24iJhRDMY7ggYuZp7AU,10580
|
|
8
|
-
servalcat/refine/refine_spa.py,sha256=ZU8arWp_3TJ7v2BFBf1Vp07gl16yeV3Rv6LrvzGEqPk,17676
|
|
9
|
-
servalcat/refine/refine_xtal.py,sha256=IrOOni5156efry4DBJ83sGTnAZ072n4sUJjxn0tDyiA,12844
|
|
10
|
-
servalcat/refine/spa.py,sha256=4_USXJEzbRXmIEf9nmS1spi-hWdqTEAfuMPCyIT59uA,6327
|
|
11
|
-
servalcat/refine/xtal.py,sha256=X7a_U9j7DTl1-OekvC0WmHcjt_ARF7Bp5ee-Rs3_thU,12075
|
|
12
|
-
servalcat/refmac/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
13
|
-
servalcat/refmac/exte.py,sha256=nTXTy9dXENnsXHq_1CgnCt6eJelBXBVhDq8vq1Ji_Ok,9027
|
|
14
|
-
servalcat/refmac/refmac_keywords.py,sha256=U15TArxqL-2sVOmEu4lp6PMrYjZoZyyFQSCOYysa7IY,27149
|
|
15
|
-
servalcat/refmac/refmac_wrapper.py,sha256=X3ZkqNoTxaxrVARVfK8cC-47rArlX15kmpZv2TxThM0,17026
|
|
16
|
-
servalcat/spa/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
|
-
servalcat/spa/fofc.py,sha256=J1Zv8REWS931aP0W-D7HWuadMSdMdSLWAe6rg2xXNxw,22650
|
|
18
|
-
servalcat/spa/fsc.py,sha256=rxynKDqMjoX8w7i4Ub4l7DQ8gRFXsthGn0AWykQvsBw,17663
|
|
19
|
-
servalcat/spa/localcc.py,sha256=FJMXiC0Po5eb1Le404mgNDj9VcxH5CRR9F5B7uDZn5w,8173
|
|
20
|
-
servalcat/spa/realspcc_from_var.py,sha256=x3NaqGKpGmQyh3qp-SJ9kTA_hP2EvxBOIszYbV2EPKk,5403
|
|
21
|
-
servalcat/spa/run_refmac.py,sha256=NX3tC8cePXfCsJVqHvZ2IB_VhOOdYSgDVZ7lmCJov9w,49553
|
|
22
|
-
servalcat/spa/shift_maps.py,sha256=G_EddBcdyncl2bhW7I-4YF0ZFtX9Q95a2SIJ9rpPeR4,13561
|
|
23
|
-
servalcat/spa/shiftback.py,sha256=EtITj8Nllz-MWE6oJrxruDWeT0q7tS3RXCKtpWMuHNg,4801
|
|
24
|
-
servalcat/spa/translate.py,sha256=8Cwxvxb_Ooi14ZcBaGu2xky0IFS92PHWzCzEDS6u2vY,5220
|
|
25
|
-
servalcat/utils/__init__.py,sha256=4umrD2fhG1QAQppDBQM95-6y8QYbtxr7Mi_-Nkc3XOA,1172
|
|
26
|
-
servalcat/utils/commands.py,sha256=7tE6fr8NZ7NR7-sIMU4YztU5aFb72ZApdLQ_q2x_IMk,65434
|
|
27
|
-
servalcat/utils/fileio.py,sha256=OiycZdfHkNwIzvXRIJlIrOTM216J7INVhVn0OnuFOjE,29709
|
|
28
|
-
servalcat/utils/generate_operators.py,sha256=fCrcTcciRn-6fpFtHYvf1oPXAObjuqR3WQejz5d0RrA,10980
|
|
29
|
-
servalcat/utils/hkl.py,sha256=bgZXDs6V6Nnwta5zJykn75iupLAv38UTbdzwO26jM14,28465
|
|
30
|
-
servalcat/utils/logger.py,sha256=2XKMrcc-COGBscVsLNqY9VEHN-AEJW_qFc8xJxs7W7U,3944
|
|
31
|
-
servalcat/utils/maps.py,sha256=UXOGPr-uELKiHCbm6OHNBzTALpfDxm1TZFQjYFOQzcw,13562
|
|
32
|
-
servalcat/utils/model.py,sha256=cqISbfdYm1Aixlvf7XMb9F3SAG1chq6E2I53ezjdOoc,30610
|
|
33
|
-
servalcat/utils/refmac.py,sha256=LvynWy0D110Ikk9YzVMGfAZSj0vlBNEL-TAzmTnCF_Y,30814
|
|
34
|
-
servalcat/utils/restraints.py,sha256=BeWa-PQEuaaInE_qU9oFC5W-pX9imIvnhMxWzkz1Wk4,36804
|
|
35
|
-
servalcat/utils/symmetry.py,sha256=vDzGPza7PhmohTNf6OPTsMyUHvHJx7CEyl5Ob8OhukY,12232
|
|
36
|
-
servalcat/xtal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
37
|
-
servalcat/xtal/french_wilson.py,sha256=OixZuMkCanLn4L3g7CZSVkNzhYVMwUgqPBRcZnwWQ-0,11323
|
|
38
|
-
servalcat/xtal/run_refmac_small.py,sha256=_Rw7wz7_yAlQgDqjJ_njeK6ZqN_r7KAakoor9WeNhxI,10634
|
|
39
|
-
servalcat/xtal/sigmaa.py,sha256=Xd4lfOu9lwhSrSGxEe_bF3NhSEV6zBXkNG45v3XAC4U,66206
|
|
40
|
-
servalcat-0.4.72.dist-info/METADATA,sha256=TZYkYT2ZTIau48irzZGbtp_ceVKiJm0iTG0N8x5MPn8,2741
|
|
41
|
-
servalcat-0.4.72.dist-info/WHEEL,sha256=tcTF5BioUrOQaIPw5ryS5QMH_eju0kHydhlu3iIK_Go,103
|
|
42
|
-
servalcat-0.4.72.dist-info/entry_points.txt,sha256=G1mDxhOCdF3umYz4k0kfwJbSdYSKqhvQdGCmrP8FRAY,111
|
|
43
|
-
servalcat-0.4.72.dist-info/licenses/LICENSE,sha256=JoTeFzAOCkNGhvHsf4r2BFIHpLRXo_4EsrnOZV58XVA,17098
|
|
44
|
-
servalcat-0.4.72.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|