[cctbxbb] conda cctbx on Mac 10.15.2 working with python3.8

Tristan Croll tic20 at cam.ac.uk
Sun Jan 5 02:13:05 PST 2020


Hi Blaine,

The speed issue is probably because this list comprehension:

[print(hkl) for hkl in ms.indices()]

... is calling print() (and returning None) a million times over. I 
think something like the following should be much faster:

print('\n'.join([str(hkl) for hkl in ms.indices()]))

Best regards,

Tristan

On 2020-01-04 22:00, Mooers, Blaine H.M.  (HSC) wrote:
> Hi Billy,
> 
> Gergely's post yesterday stimulated me to check my conda cctbx setup.
> I had earlier reported success with conda cctbx for Python3.6, 3.7, and 
> 3.8.
> This morning I found in my path an earlier python3.6 build of cctbx 
> that may
> have given me false positives with my conda installs of cctbx.
> After removing the old build of cctbx from my path, I modified my zshrc 
> file
> as Gergely suggested. I can confirm that results that Gergely reported
> yesterday.
> 
> I used a Mac OS X 10.15.2 with zsh as my shell and anaconda3 installed
> as /opt/anaconda. I did my testing in a conda env named cctbx38.
> I added 'export LIBTBX_BUILD=$CONDA_PREFIX' in my .zshrc file.
> After sourcing my .zshrc file,  'echo $LIBTBX_BUILD' returns
> '/opt/anaconda/envs/cctbx38' as expected.
> 
> The toy script  below prints the calculated Miller indices as a tuples
> in a terminal window.
> It was run using 'python millerSet.py'.
> 
> Note that the printing of 1 million indices to a jupyter notebook cell
> is disappointingly slow!!
> Reduce each unit cell dimension by two orders of magnitude before
> trying this at home!
> The following code also worked with Python3.6 and Python3.7 in their
> corresponding cctbx36 and cctbx37 envs.
> 
> from cctbx import crystal
> from cctbx import miller
> 
> ms = miller.build_set(
>     crystal_symmetry=crystal.symmetry(
>         space_group_symbol='P4',
>         unit_cell=(150.8,150.8,250.4,90.0,90.0,90.0)),
>     anomalous_flag=False,
>     d_min=1.4)
> 
> [print(hkl) for hkl in ms.indices()]
> 
> I used conda python3.8.0 built on November 22. Python3.8.1 does not 
> seem to be
> available yet from Anaconda.
> 
> Best regards,
> 
> Blaine
> 
> Blaine Mooers, Ph.D.
> Associate Professor
> Department of Biochemistry and Molecular Biology
> College of Medicine
> University of Oklahoma Health Sciences Center
> S.L. Young Biomedical Research Center (BRC) Rm. 466
> 975 NE 10th Street, BRC 466
> Oklahoma City, OK 73104-5419
> 
> ________________________________________
> From: cctbxbb-bounces at phenix-online.org
> [cctbxbb-bounces at phenix-online.org] on behalf of
> cctbxbb-request at phenix-online.org [cctbxbb-request at phenix-online.org]
> Sent: Saturday, January 04, 2020 2:00 PM
> To: cctbxbb at phenix-online.org
> Subject: [EXTERNAL] cctbxbb Digest, Vol 130, Issue 2
> 
> Send cctbxbb mailing list submissions to
>         cctbxbb at phenix-online.org
> 
> To subscribe or unsubscribe via the World Wide Web, visit
> 
> https://urldefense.proofpoint.com/v2/url?u=http-3A__phenix-2Donline.org_mailman_listinfo_cctbxbb&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=Ti1nnpC9106KFO2KdIcwPujIFcsZwVLMx7pKoumCBx0&e=
> or, via email, send a message with subject or body 'help' to
>         cctbxbb-request at phenix-online.org
> 
> You can reach the person managing the list at
>         cctbxbb-owner at phenix-online.org
> 
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of cctbxbb digest..."
> 
> 
> Today's Topics:
> 
>    1. Re: some thoughts on cctbx and pip (Billy Poon)
> 
> 
> ----------------------------------------------------------------------
> 
> Message: 1
> Date: Fri, 3 Jan 2020 21:04:25 +0100
> From: Billy Poon <BKPoon at lbl.gov>
> To: cctbx mailing list <cctbxbb at phenix-online.org>
> Subject: Re: [cctbxbb] some thoughts on cctbx and pip
> Message-ID:
>         
> <CAHmYUcbWS7FXA6EPUx=AC2X6m6gPY=GqH-MwGD+uzpTaOKSyjQ at mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
> 
> Hi Gergely,
> 
> Happy New Year!
> 
> Can you provide the output to "conda list" for each environment?
> 
> I suspect that the old version of cctbx might still be around. Is there 
> a
> file named PYTHON_VERSION_MAJOR_MINOR in "/home/gergely/anaconda3/lib"? 
> If
> so, delete that file. To make sure you are downloading a new copy of 
> the
> package, clear the cache where conda keeps copies of all the packages. 
> To
> do that, you can run "conda clean -y --all". You can remove the "-y" 
> flag
> if you want to see what will be deleted. The hash for the new linux 
> package
> should be h8b68381_0.
> 
> The last error looks like an incompatible version of boost or gcc 
> library
> was installed. The output from "conda list" should show the boost and
> boost-cpp packages coming from conda-forge. I would avoid installing 
> into
> the root or base environment because that usually pulls from the 
> default
> channels. All the dependencies should be pulled from the conda-forge
> channel.
> 
> --
> Billy K. Poon
> Research Scientist, Molecular Biophysics and Integrated Bioimaging
> Lawrence Berkeley National Laboratory
> 1 Cyclotron Road, M/S 33R0345
> Berkeley, CA 94720
> Tel: (510) 486-5709
> Fax: (510) 486-5909
> Web:
> https://urldefense.proofpoint.com/v2/url?u=https-3A__phenix-2Donline.org&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=c-5sC2_Edn5Vxnj97Qf6f-IoSGnKKf5ZC1fy_jJS77k&e=
> 
> 
> On Fri, Jan 3, 2020 at 2:20 PM Gergely Katona <gkatona at gmail.com> 
> wrote:
> 
>> I found some other errors when using the test environment.
>> 
>> 
>> ---------------------------------------------------------------------------
>> RuntimeError                              Traceback (most recent call 
>> last)
>> <ipython-input-1-fe308b345b3f> in <module>
>>      10 import scipy as sp
>>      11 from scipy import linalg
>> ---> 12 import iotbx.pdb
>>      13 import cctbx
>>      14 import pandas as pd
>> 
>> ~/anaconda3/envs/test/lib/python3.8/site-packages/iotbx/pdb/https://urldefense.proofpoint.com/v2/url?u=http-3A__-5F-5Finit-5F-5F.py&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=9NiF4LTTyEpDCh-vdb5bXVIJ4i9E6HmD6eWJg_3SjzE&e=
>> in <module>
>>       8
>>       9 import iotbx.pdb.records
>> ---> 10 import iotbx.pdb.hierarchy
>>      11 from scitbx import matrix
>>      12
>> 
>> ~/anaconda3/envs/test/lib/python3.8/site-packages/iotbx/pdb/https://urldefense.proofpoint.com/v2/url?u=http-3A__hierarchy.py&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=QlonHINbJqyu1vTwlBJWKyChCMCCJxpIWIaT5_rrkLc&e=
>> in <module>
>>      14 from six.moves import cStringIO as StringIO
>>      15 from iotbx.pdb import hy36encode, hy36decode
>> ---> 16 import iotbx.cif.model
>>      17 from cctbx import crystal
>>      18 from libtbx import group_args
>> 
>> ~/anaconda3/envs/test/lib/python3.8/site-packages/iotbx/cif/https://urldefense.proofpoint.com/v2/url?u=http-3A__-5F-5Finit-5F-5F.py&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=9NiF4LTTyEpDCh-vdb5bXVIJ4i9E6HmD6eWJg_3SjzE&e=
>> in <module>
>>      19
>>      20 from cctbx.array_family import flex
>> ---> 21 from cctbx import miller
>>      22 from iotbx.cif import model, builders, geometry
>>      23 from libtbx.containers import OrderedDict
>> 
>> ~/anaconda3/envs/test/lib/python3.8/site-packages/cctbx/miller/https://urldefense.proofpoint.com/v2/url?u=http-3A__-5F-5Finit-5F-5F.py&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=9NiF4LTTyEpDCh-vdb5bXVIJ4i9E6HmD6eWJg_3SjzE&e=
>> in <module>
>>      11
>>      12 from cctbx import crystal
>> ---> 13 from cctbx import maptbx
>>      14 from cctbx import sgtbx
>>      15 from cctbx.sgtbx import lattice_symmetry
>> 
>> ~/anaconda3/envs/test/lib/python3.8/site-packages/cctbx/maptbx/https://urldefense.proofpoint.com/v2/url?u=http-3A__-5F-5Finit-5F-5F.py&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=9NiF4LTTyEpDCh-vdb5bXVIJ4i9E6HmD6eWJg_3SjzE&e=
>> in <module>
>>      15 from libtbx import adopt_init_args
>>      16 from libtbx.utils import Sorry
>> ---> 17 import libtbx.load_env
>>      18 import math
>>      19 import sys, os
>> 
>> ~/anaconda3/envs/test/lib/python3.8/site-packages/libtbx/https://urldefense.proofpoint.com/v2/url?u=http-3A__load-5Fenv.py&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=rJbfdPr3ymiz7Ir508_VGIhspAKCOwozKhY5I6OXux0&e= 
>>  in
>> <module>
>>       3 import libtbx.env_config
>>       4 import os
>> ----> 5 libtbx.env = libtbx.env_config.unpickle()
>>       6 libtbx.env.set_os_environ_all_dist()
>>       7 libtbx.env.dispatcher_name =
>> os.environ.get("LIBTBX_DISPATCHER_NAME")
>> 
>> ~/anaconda3/envs/test/lib/python3.8/site-packages/libtbx/https://urldefense.proofpoint.com/v2/url?u=http-3A__env-5Fconfig.py&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=UrsFhQ0dxNNuzXmOT3D6pnGJ5lXko4mfrKceNgBaQV4&e=
>> in unpickle()
>>    2736   env = pickle.load(libtbx_env)
>>    2737   if (env.python_version_major_minor != sys.version_info[:2]):
>> -> 2738     env.raise_python_version_incompatible()
>>    2739   if (op.realpath(build_path) != 
>> op.realpath(abs(env.build_path))):
>>    2740     env.build_path.reset(build_path)
>> 
>> ~/anaconda3/envs/test/lib/python3.8/site-packages/libtbx/https://urldefense.proofpoint.com/v2/url?u=http-3A__env-5Fconfig.py&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=UrsFhQ0dxNNuzXmOT3D6pnGJ5lXko4mfrKceNgBaQV4&e=
>> in raise_python_version_incompatible(self, prev_pvmm)
>>     469     if (prev_pvmm is None):
>>     470       prev_pvmm = "%d.%d" % self.python_version_major_minor
>> --> 471     raise RuntimeError("Python version incompatible with this
>> build:\n"
>>     472       + "  Build directory: %s\n" %
>> show_string(abs(self.build_path))
>>     473       + "  Python version used initially: %s\n" % prev_pvmm
>> 
>> RuntimeError: Python version incompatible with this build:
>>   Build directory: "/home/gergely/anaconda3"
>>   Python version used initially: 3.6
>>   Python version in use now:     3.8
>> 
>> 
>> Interestingly in the base environment all import worked, but I got an
>> error at:
>> 
>> 
>> ArgumentError                             Traceback (most recent call 
>> last)
>> <ipython-input-4-5bc71c36e121> in <module>
>>      33         atm_odd.set_b(0)
>>      34
>> ---> 35 odd.write_pdb_file("bdiff_in_even_000.pdb") #skriver ny pdb
>> med dessa inkluderade
>>      36 dfWBvals=pd.DataFrame(rows_list)
>> 
>> ~/anaconda3/lib/python3.6/site-packages/iotbx/pdb/https://urldefense.proofpoint.com/v2/url?u=http-3A__-5F-5Finit-5F-5F.py&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=9NiF4LTTyEpDCh-vdb5bXVIJ4i9E6HmD6eWJg_3SjzE&e= 
>>  in
>> write_pdb_file(self, file_name, open_append, crystal_symmetry,
>> cryst1_z, write_scale_records, append_end, atom_hetatm, sigatm,
>> anisou, siguij)
>>     930         siguij=True):
>>     931     if (crystal_symmetry is Auto):
>> --> 932       crystal_symmetry = self.crystal_symmetry()
>>     933     if (cryst1_z is Auto):
>>     934       cryst1_z = self.extract_cryst1_z_columns()
>> 
>> ~/anaconda3/lib/python3.6/site-packages/iotbx/pdb/https://urldefense.proofpoint.com/v2/url?u=http-3A__-5F-5Finit-5F-5F.py&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=9NiF4LTTyEpDCh-vdb5bXVIJ4i9E6HmD6eWJg_3SjzE&e= 
>>  in
>> crystal_symmetry(self, crystal_symmetry, weak_symmetry)
>>    1218         crystal_symmetry=None,
>>    1219         weak_symmetry=False):
>> -> 1220     self_symmetry = self.crystal_symmetry_from_cryst1()
>>    1221     if (self_symmetry is None):
>>    1222       self_symmetry = 
>> self._crystal_symmetry_from_cns_remark_sg()
>> 
>> ~/anaconda3/lib/python3.6/site-packages/iotbx/pdb/https://urldefense.proofpoint.com/v2/url?u=http-3A__-5F-5Finit-5F-5F.py&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=9NiF4LTTyEpDCh-vdb5bXVIJ4i9E6HmD6eWJg_3SjzE&e= 
>>  in
>> crystal_symmetry_from_cryst1(self)
>>    1195     for line in self.crystallographic_section():
>>    1196       if (line.startswith("CRYST1")):
>> -> 1197         return
>> cryst1_interpretation.crystal_symmetry(cryst1_record=line)
>>    1198     return None
>>    1199
>> 
>> ~/anaconda3/lib/python3.6/site-packages/iotbx/pdb/https://urldefense.proofpoint.com/v2/url?u=http-3A__cryst1-5Finterpretation.py&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=3OchLb18AMp3YpXOuEb8BDOwhl2XLrV1QAfZByH-l2E&e=
>> in crystal_symmetry(cryst1_record)
>>     136       space_group_info=None)
>>     137   space_group_info =
>> categorize(cryst1_record.sgroup).space_group_info(
>> --> 138     unit_cell=u)
>>     139   return crystal.symmetry(unit_cell=u,
>> space_group_info=space_group_info)
>> 
>> ~/anaconda3/lib/python3.6/site-packages/iotbx/pdb/https://urldefense.proofpoint.com/v2/url?u=http-3A__cryst1-5Finterpretation.py&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=3OchLb18AMp3YpXOuEb8BDOwhl2XLrV1QAfZByH-l2E&e=
>> in space_group_info(self, unit_cell)
>>      85     if (self.symbol is None): return None
>>      86     if (self.category is None):
>> ---> 87       try: return sgtbx.space_group_info(self.symbol)
>>      88       except RuntimeError: return None
>>      89     if (isinstance(unit_cell, uctbx.ext.unit_cell)):
>> 
>> ~/anaconda3/lib/python3.6/site-packages/cctbx/sgtbx/https://urldefense.proofpoint.com/v2/url?u=http-3A__-5F-5Finit-5F-5F.py&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=9NiF4LTTyEpDCh-vdb5bXVIJ4i9E6HmD6eWJg_3SjzE&e= 
>>  in
>> __init__(self, symbol, table_id, group, number, space_group_t_den)
>>     100       assert group is None
>>     101       if (table_id is None):
>> --> 102         symbols = space_group_symbols(symbol)
>>     103       else:
>>     104         if (isinstance(symbol, int)): symbol = str(symbol)
>> 
>> ArgumentError: Python argument types in
>>     space_group_symbols.__init__(space_group_symbols, str)
>> did not match C++ signature:
>>     __init__(_object*, int space_group_number)
>>     __init__(_object*, int space_group_number,
>> std::__cxx11::basic_string<char, std::char_traits<char>,
>> std::allocator<char> > extension='')
>>     __init__(_object*, int space_group_number,
>> std::__cxx11::basic_string<char, std::char_traits<char>,
>> std::allocator<char> > extension='', std::__cxx11::basic_string<char,
>> std::char_traits<char>, std::allocator<char> > table_id='')
>>     __init__(_object*, std::__cxx11::basic_string<char,
>> std::char_traits<char>, std::allocator<char> > symbol)
>>     __init__(_object*, std::__cxx11::basic_string<char,
>> std::char_traits<char>, std::allocator<char> > symbol,
>> std::__cxx11::basic_string<char, std::char_traits<char>,
>> std::allocator<char> > table_id='')
>> 
>> 
>> Gergely
>> 
>> 
>> 
>> On Fri, Jan 3, 2020 at 1:44 PM Gergely Katona <gkatona at gmail.com> 
>> wrote:
>> >
>> > Dear Billy,
>> >
>> > I did some tests installing in my base conda was not troublefree in
>> > python 3.8. Running iotbx.fetch_pdb --all --mtz 1kp8 resulted in boost
>> > related error when converting to mtz. Installing into a test
>> > environment went fine with iotbx.fetch_pdb --all --mtz 1kp8 running
>> > successfully. I could add pymc3, jupyter and seaborn and iotbx still
>> > did not break. My LIBTBX_BUILD is not set however in the test
>> > environment, which breaks miller when I was trying to import it.
>> > Manually setting the LIBTBX_BUILD to CONDA_PREFIX (setenv LIBTBX_BUILD
>> > $CONDA_PREFIX) fixes this and one of my script works fine! I will come
>> > back if I find some problems with my other scripts, but so far this
>> > looks promising!
>> >
>> >
>> > Happy new year!
>> >
>> > Gergely
>> >
>> >
>> >
>> >
>> >
>> > On Fri, Dec 20, 2019 at 8:16 PM Billy Poon <BKPoon at lbl.gov> wrote:
>> > >
>> > > Hi everyone,
>> > >
>> > > I updated the conda packages on the cctbx-dev channel and there are
>> also now packages for macOS. The old packages have been removed so you 
>> can
>> create a new environment with
>> > >
>> > > conda create -n test -c cctbx-dev cctbx python=2.7
>> > > conda activate test
>> > >
>> > > where "test" is the environment name and 2.7 is the python version.
>> For the python version, you can also pick 3.6, 3.7, or 3.8. I think 
>> the
>> latest conda will install 3.8 as the default python if the python 
>> argument
>> is not provided. Or install into an existing environment (with python
>> already installed) with the same command as before,
>> > >
>> > > conda install -c cctbx-dev cctbx
>> > >
>> > > Again, your .condarc file should have conda-forge as the first channel
>> so that dependencies can be pulled correctly.
>> > >
>> > > The dispatchers should work now and $LIBTBX_BUILD will be set on
>> activation of an environment (and unset on environment deactivation) 
>> or
>> after installing into an existing environment, so you can do more
>> interesting things like
>> > >
>> > > iotbx.fetch_pdb --all --mtz 1kp8
>> > >
>> > > However, this package does not install databases, so
>> > >
>> > > molprobity.molprobity 1kp8.pdb 1kp8.mtz
>> > >
>> > > will fail because the database is not available (also probe and reduce
>> are not built).
>> > >
>> > > Some known issues in no particular order,
>> > >
>> > > 1) You can run "libtbx.run_tests_parallel module=cctbx nproc=Auto" to
>> run tests, but not all the test files were copied, so I got 30 
>> failures
>> here. The final package will probably not have the test files.
>> > > 2) The other python dispatchers, like "cctbx.python", were not
>> updated, so those will fail. But you can just run "python" in the 
>> active
>> environment.
>> > > 3) Parts of mmtbx still need to be updated for Python 3.
>> > > 4) The LIBTBX_BUILD variable should be set for sh and csh shells. Let
>> me know if it's not working for your shell (i.e. "echo $LIBTBX_BUILD"
>> should show the same thing as $CONDA_PREFIX).
>> > > 5) One future step is to enable building other CCTBX-like modules with
>> this conda package. This will require some bookkeeping updates so that
>> modules in the conda environment and the modules being built are 
>> tracked
>> properly. Also, making sure that all the necessary headers exist in
>> $PREFIX/include.
>> > >
>> > > Gergely, let me know if your scripts are working.
>> > >
>> > > Happy holidays!
>> > >
>> > > --
>> > > Billy K. Poon
>> > > Research Scientist, Molecular Biophysics and Integrated Bioimaging
>> > > Lawrence Berkeley National Laboratory
>> > > 1 Cyclotron Road, M/S 33R0345
>> > > Berkeley, CA 94720
>> > > Tel: (510) 486-5709
>> > > Fax: (510) 486-5909
>> > > Web: https://urldefense.proofpoint.com/v2/url?u=https-3A__phenix-2Donline.org&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=c-5sC2_Edn5Vxnj97Qf6f-IoSGnKKf5ZC1fy_jJS77k&e=
>> > >
>> > >
>> > > On Wed, Dec 18, 2019 at 11:25 AM Billy Poon <BKPoon at lbl.gov> wrote:
>> > >>
>> > >> Hi Gergely,
>> > >>
>> > >> That's the other information that hasn't been updated yet in the
>> conda package. :)
>> > >>
>> > >> For LIBTBX_BUILD, I can set up environment variables sort of how the
>> conda gcc package sets up environment variables. I have to double 
>> check to
>> see if they're set after installation of the package and after 
>> activation
>> of an environment. The variable will just be a copy of $CONDA_PREFIX.
>> > >>
>> > >> The libtbx_env file is a file that exists in $LIBTBX_BUILD that
>> basically stores configuration information. I'll have to modify the
>> contents to update the locations of the different modules since the 
>> conda
>> package will not have a "modules" directory.
>> > >>
>> > >> --
>> > >> Billy K. Poon
>> > >> Research Scientist, Molecular Biophysics and Integrated Bioimaging
>> > >> Lawrence Berkeley National Laboratory
>> > >> 1 Cyclotron Road, M/S 33R0345
>> > >> Berkeley, CA 94720
>> > >> Tel: (510) 486-5709
>> > >> Fax: (510) 486-5909
>> > >> Web: https://urldefense.proofpoint.com/v2/url?u=https-3A__phenix-2Donline.org&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=c-5sC2_Edn5Vxnj97Qf6f-IoSGnKKf5ZC1fy_jJS77k&e=
>> > >>
>> > >>
>> > >> On Wed, Dec 18, 2019 at 2:08 AM Gergely Katona <gkatona at gmail.com>
>> wrote:
>> > >>>
>> > >>> Hi Billy,
>> > >>>
>> > >>> Conda install went fine with your instructions after rearranging the
>> > >>> channels by putting cctbx last. I removed all environmental variables
>> > >>> and previous build of cctbx.
>> > >>>
>> > >>> import sys
>> > >>> print (sys.path, sys.prefix)
>> > >>>
>> > >>> ['/home/gergely/anaconda3/lib/https://urldefense.proofpoint.com/v2/url?u=http-3A__python36.zip&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=cUHL8qgeloeUO3oYTQcr9d56RegJk01wJ2i-c3Zo6oE&e= ',
>> > >>> '/home/gergely/anaconda3/lib/python3.6',
>> > >>> '/home/gergely/anaconda3/lib/python3.6/lib-dynload', '',
>> > >>> '/home/gergely/anaconda3/lib/python3.6/site-packages',
>> > >>>
>> '/home/gergely/anaconda3/lib/python3.6/site-packages/IPython/extensions',
>> > >>> '/home/gergely/.ipython'] /home/gergely/anaconda3
>> > >>>
>> > >>> Many imports went fine including pymc3, but I encountered problems
>> > >>> with these three:
>> > >>>
>> > >>> from cctbx import miller
>> > >>> import iotbx.pdb
>> > >>> from iotbx import reflection_file_reader, mtz
>> > >>>
>> > >>>
>> > >>> I also got type error when handling space groups.
>> > >>>
>> > >>>
>> > >>>
>> > >>>
>> ---------------------------------------------------------------------------
>> > >>> KeyError                                  Traceback (most recent
>> call last)
>> > >>> <ipython-input-5-cedbd4f84f3d> in <module>
>> > >>>      25 from cctbx import uctbx
>> > >>>      26 from cctbx import sgtbx
>> > >>> ---> 27 from cctbx import miller
>> > >>>      28 #from iotbx import reflection_file_reader, mtz
>> > >>>      29 sns.set_context("poster")
>> > >>>
>> > >>> ~/anaconda3/lib/python3.6/site-packages/cctbx/miller/https://urldefense.proofpoint.com/v2/url?u=http-3A__-5F-5Finit-5F-5F.py&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=9NiF4LTTyEpDCh-vdb5bXVIJ4i9E6HmD6eWJg_3SjzE&e=  in
>> <module>
>> > >>>      11
>> > >>>      12 from cctbx import crystal
>> > >>> ---> 13 from cctbx import maptbx
>> > >>>      14 from cctbx import sgtbx
>> > >>>      15 from cctbx.sgtbx import lattice_symmetry
>> > >>>
>> > >>> ~/anaconda3/lib/python3.6/site-packages/cctbx/maptbx/https://urldefense.proofpoint.com/v2/url?u=http-3A__-5F-5Finit-5F-5F.py&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=9NiF4LTTyEpDCh-vdb5bXVIJ4i9E6HmD6eWJg_3SjzE&e=  in
>> <module>
>> > >>>      15 from libtbx import adopt_init_args
>> > >>>      16 from libtbx.utils import Sorry
>> > >>> ---> 17 import libtbx.load_env
>> > >>>      18 import math
>> > >>>      19 import sys, os
>> > >>>
>> > >>> ~/anaconda3/lib/python3.6/site-packages/libtbx/https://urldefense.proofpoint.com/v2/url?u=http-3A__load-5Fenv.py&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=rJbfdPr3ymiz7Ir508_VGIhspAKCOwozKhY5I6OXux0&e=  in
>> <module>
>> > >>>       3 import libtbx.env_config
>> > >>>       4 import os
>> > >>> ----> 5 libtbx.env = libtbx.env_config.unpickle()
>> > >>>       6 libtbx.env.set_os_environ_all_dist()
>> > >>>       7 libtbx.env.dispatcher_name =
>> os.environ.get("LIBTBX_DISPATCHER_NAME")
>> > >>>
>> > >>> ~/anaconda3/lib/python3.6/site-packages/libtbx/https://urldefense.proofpoint.com/v2/url?u=http-3A__env-5Fconfig.py&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=UrsFhQ0dxNNuzXmOT3D6pnGJ5lXko4mfrKceNgBaQV4&e=  in
>> unpickle()
>> > >>>    2603
>> > >>>    2604 def unpickle():
>> > >>> -> 2605   build_path = os.environ["LIBTBX_BUILD"]
>> > >>>    2606
>>  set_preferred_sys_prefix_and_sys_executable(build_path=build_path)
>> > >>>    2607   libtbx_env = open(op.join(build_path, "libtbx_env"), "rb")
>> > >>>
>> > >>> ~/anaconda3/lib/python3.6/https://urldefense.proofpoint.com/v2/url?u=http-3A__os.py&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=hA1zo5wap0c9wK3DrlWIKqYBIqqbfKXca5jQ9aX5pYU&e=  in __getitem__(self, key)
>> > >>>     667         except KeyError:
>> > >>>     668             # raise KeyError with the original key value
>> > >>> --> 669             raise KeyError(key) from None
>> > >>>     670         return self.decodevalue(value)
>> > >>>     671
>> > >>>
>> > >>> KeyError: 'LIBTBX_BUILD'
>> > >>>
>> > >>>
>> > >>>
>> > >>>
>> ---------------------------------------------------------------------------
>> > >>> ArgumentError                             Traceback (most recent
>> call last)
>> > >>> <ipython-input-7-2acd3a9ce26a> in <module>
>> > >>>      26     return
>> ms,msnam,mscent,msacent,msnamacent,msnamcent,msnamacent_dstar
>> > >>>      27
>> > >>> ---> 28
>> ms,msnam,mscent,msacent,msnamacent,msnamcent,msnamacent_dstar=initializecrystal()
>> > >>>
>> > >>> <ipython-input-7-2acd3a9ce26a> in initializecrystal()
>> > >>>      11     uc = uctbx.unit_cell(unit_cell)
>> > >>>      12     wavelength = 1.54980
>> > >>> ---> 13     xtal_symm = crystal.symmetry(unit_cell=unit_cell,
>> > >>> space_group_symbol="P 43 21 2")
>> > >>>      14
>> > >>>      15     ms =
>> > >>> miller.build_set(crystal_symmetry=xtal_symm,anomalous_flag=True,
>> > >>> d_min=1.61)
>> > >>>
>> > >>> ~/anaconda3/lib/python3.6/site-packages/cctbx/crystal/https://urldefense.proofpoint.com/v2/url?u=http-3A__-5F-5Finit-5F-5F.py&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=9NiF4LTTyEpDCh-vdb5bXVIJ4i9E6HmD6eWJg_3SjzE&e=  in
>> > >>> __init__(self, unit_cell, space_group_symbol, space_group_info,
>> > >>> space_group, correct_rhombohedral_setting_if_necessary,
>> > >>> assert_is_compatible_unit_cell,
>> raise_sorry_if_incompatible_unit_cell,
>> > >>> force_compatible_unit_cell)
>> > >>>      74       if (space_group_symbol is not None):
>> > >>>      75         self._space_group_info = sgtbx.space_group_info(
>> > >>> ---> 76           symbol=space_group_symbol)
>> > >>>      77       elif (space_group is not None):
>> > >>>      78         if (isinstance(space_group, sgtbx.space_group)):
>> > >>>
>> > >>> ~/anaconda3/lib/python3.6/site-packages/cctbx/sgtbx/https://urldefense.proofpoint.com/v2/url?u=http-3A__-5F-5Finit-5F-5F.py&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=9NiF4LTTyEpDCh-vdb5bXVIJ4i9E6HmD6eWJg_3SjzE&e=  in
>> > >>> __init__(self, symbol, table_id, group, number, space_group_t_den)
>> > >>>     100       assert group is None
>> > >>>     101       if (table_id is None):
>> > >>> --> 102         symbols = space_group_symbols(symbol)
>> > >>>     103       else:
>> > >>>     104         if (isinstance(symbol, int)): symbol = str(symbol)
>> > >>>
>> > >>> ArgumentError: Python argument types in
>> > >>>     space_group_symbols.__init__(space_group_symbols, str)
>> > >>> did not match C++ signature:
>> > >>>     __init__(_object*, int space_group_number)
>> > >>>     __init__(_object*, int space_group_number,
>> > >>> std::__cxx11::basic_string<char, std::char_traits<char>,
>> > >>> std::allocator<char> > extension='')
>> > >>>     __init__(_object*, int space_group_number,
>> > >>> std::__cxx11::basic_string<char, std::char_traits<char>,
>> > >>> std::allocator<char> > extension='', std::__cxx11::basic_string<char,
>> > >>> std::char_traits<char>, std::allocator<char> > table_id='')
>> > >>>     __init__(_object*, std::__cxx11::basic_string<char,
>> > >>> std::char_traits<char>, std::allocator<char> > symbol)
>> > >>>     __init__(_object*, std::__cxx11::basic_string<char,
>> > >>> std::char_traits<char>, std::allocator<char> > symbol,
>> > >>> std::__cxx11::basic_string<char, std::char_traits<char>,
>> > >>> std::allocator<char> > table_id='')
>> > >>>
>> > >>>
>> > >>> When I tried to set LIBTBX_BUILD to /home/gergely/anaconda3 (this is
>> > >>> sys.prefix on my system), I got other problems when importing. Can
>> > >>> LIBTBX_BUILD be set in the conda package?
>> > >>>
>> > >>>
>> > >>>
>> > >>>
>> ---------------------------------------------------------------------------
>> > >>> FileNotFoundError                         Traceback (most recent
>> call last)
>> > >>> <ipython-input-1-7e2b144826cc> in <module>
>> > >>>      26 from cctbx import sgtbx
>> > >>>      27 #from cctbx import miller
>> > >>> ---> 28 from iotbx import reflection_file_reader, mtz
>> > >>>      29 sns.set_context("poster")
>> > >>>      30 plt.rcParams.update({'figure.autolayout': True})
>> > >>>
>> > >>>
>> ~/anaconda3/lib/python3.6/site-packages/iotbx/https://urldefense.proofpoint.com/v2/url?u=http-3A__reflection-5Ffile-5Freader.py&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=U5BvLmuCgufvN_LRxQw9n78p33jNaRrXVbH1BRSXgxg&e=
>> > >>> in <module>
>> > >>>      53
>> > >>>      54 from __future__ import absolute_import, division,
>> print_function
>> > >>> ---> 55 from iotbx import mtz
>> > >>>      56 from iotbx.scalepack import merge as scalepack_merge
>> > >>>      57 from iotbx.scalepack import no_merge_original_index as
>> > >>> scalepack_no_merge
>> > >>>
>> > >>> ~/anaconda3/lib/python3.6/site-packages/iotbx/mtz/https://urldefense.proofpoint.com/v2/url?u=http-3A__-5F-5Finit-5F-5F.py&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=9NiF4LTTyEpDCh-vdb5bXVIJ4i9E6HmD6eWJg_3SjzE&e=  in
>> <module>
>> > >>>       9 import iotbx_mtz_ext as ext
>> > >>>      10
>> > >>> ---> 11 from iotbx.mtz import extract_from_symmetry_lib
>> > >>>      12 from cctbx import xray
>> > >>>      13 import cctbx.xray.observation_types
>> > >>>
>> > >>>
>> ~/anaconda3/lib/python3.6/site-packages/iotbx/mtz/https://urldefense.proofpoint.com/v2/url?u=http-3A__extract-5Ffrom-5Fsymmetry-5Flib.py&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=k3WR6VZd4-PDULPXl4O0Vwz9q3LCaocUUhK_ehTn9UE&e=
>> > >>> in <module>
>> > >>>       1 from __future__ import absolute_import, division,
>> print_function
>> > >>>       2 from cctbx import sgtbx
>> > >>> ----> 3 import libtbx.load_env
>> > >>>       4 import os.path as op
>> > >>>       5 from six.moves import range
>> > >>>
>> > >>> ~/anaconda3/lib/python3.6/site-packages/libtbx/https://urldefense.proofpoint.com/v2/url?u=http-3A__load-5Fenv.py&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=rJbfdPr3ymiz7Ir508_VGIhspAKCOwozKhY5I6OXux0&e=  in
>> <module>
>> > >>>       3 import libtbx.env_config
>> > >>>       4 import os
>> > >>> ----> 5 libtbx.env = libtbx.env_config.unpickle()
>> > >>>       6 libtbx.env.set_os_environ_all_dist()
>> > >>>       7 libtbx.env.dispatcher_name =
>> os.environ.get("LIBTBX_DISPATCHER_NAME")
>> > >>>
>> > >>> ~/anaconda3/lib/python3.6/site-packages/libtbx/https://urldefense.proofpoint.com/v2/url?u=http-3A__env-5Fconfig.py&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=UrsFhQ0dxNNuzXmOT3D6pnGJ5lXko4mfrKceNgBaQV4&e=  in
>> unpickle()
>> > >>>    2605   build_path = os.environ["LIBTBX_BUILD"]
>> > >>>    2606
>>  set_preferred_sys_prefix_and_sys_executable(build_path=build_path)
>> > >>> -> 2607   libtbx_env = open(op.join(build_path, "libtbx_env"), "rb")
>> > >>>    2608   env = pickle.load(libtbx_env)
>> > >>>    2609   if (env.python_version_major_minor !=
>> sys.version_info[:2]):
>> > >>>
>> > >>> FileNotFoundError: [Errno 2] No such file or directory:
>> > >>> '/home/gergely/anaconda3/libtbx_env'
>> > >>>
>> > >>> On Wed, Dec 18, 2019 at 9:10 AM Billy Poon <BKPoon at lbl.gov> wrote:
>> > >>> >
>> > >>> > Hi Gergely,
>> > >>> >
>> > >>> > I've uploaded linux packages to a new channel, cctbx-dev, and you
>> can install it with
>> > >>> >
>> > >>> > conda install -c cctbx-dev cctbx
>> > >>> >
>> > >>> > in your current environment. You should set your ~/.condarc file
>> to pull the other dependencies from the conda-forge channel first, so 
>> put
>> conda-forge above cctbx. Mine looks like
>> > >>> >
>> > >>> > channels:
>> > >>> >   - conda-forge
>> > >>> >   - defaults
>> > >>> >   - cctbx
>> > >>> >
>> > >>> > Do you need dxtbx for your scripts? This package does not build
>> that part. I think the plan is to build a separate conda package for 
>> dxtbx
>> so that it can be updated more frequently. I can rebuild the packages 
>> to
>> include it for testing, but the one being submitted to conda-forge 
>> will not
>> have it.
>> > >>> >
>> > >>> > Also, your error message is probably due to version of HDF5 that
>> the development build installs. The 
>> https://urldefense.proofpoint.com/v2/url?u=http-3A__bootstrap.py&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=bt_bS5majJbOBt0MQ5A0UJNxCAHR9nzX5sOsNeglug8&e= 
>>  script will install
>> 1.10.4, but your other dependency is looking for 1.10.5. Installing 
>> this
>> cctbx conda package should install 1.10.5, which should fix the issue.
>> Also, I'm updating those environments and 1.10.5 will be the new 
>> default
>> version.
>> > >>> >
>> > >>> > Lastly, the dispatchers will not work in these packages because
>> the old paths during the build process are still in them and many of 
>> them
>> expect some additional information that has not been updated in the
>> packages yet. I'm in the process of doing that and will update the
>> cctbx-dev channel when that's done. However, by starting python, you 
>> can
>> import cctbx modules. So you can run commands like
>> > >>> >
>> > >>> > from scitbx.array_family import flex
>> > >>> > a = flex.random_double(1000000)
>> > >>> > b = flex.min_max_mean_double(a)
>> > >>> > b.min
>> > >>> > b.max
>> > >>> > b.mean
>> > >>> >
>> > >>> > Thanks!
>> > >>> >
>> > >>> > --
>> > >>> > Billy K. Poon
>> > >>> > Research Scientist, Molecular Biophysics and Integrated Bioimaging
>> > >>> > Lawrence Berkeley National Laboratory
>> > >>> > 1 Cyclotron Road, M/S 33R0345
>> > >>> > Berkeley, CA 94720
>> > >>> > Tel: (510) 486-5709
>> > >>> > Fax: (510) 486-5909
>> > >>> > Web: https://urldefense.proofpoint.com/v2/url?u=https-3A__phenix-2Donline.org&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=c-5sC2_Edn5Vxnj97Qf6f-IoSGnKKf5ZC1fy_jJS77k&e=
>> > >>> >
>> > >>> >
>> > >>> > On Tue, Dec 17, 2019 at 5:39 AM Gergely Katona <gkatona at gmail.com>
>> wrote:
>> > >>> >>
>> > >>> >> Dear Billy,
>> > >>> >>
>> > >>> >> Thank you for the detailed explanation, I look forward to do
>> further
>> > >>> >> testing! I aim to pool all modules under the same environment, if
>> > >>> >> there are conflicts then I just try to reshuffle the order of
>> imports.
>> > >>> >> So far this did not cause problems for me even when I was using
>> system
>> > >>> >> python, but of course it is not the most prudent thing to do. With
>> > >>> >> anaconda everything is much more standardized and isolated
>> already and
>> > >>> >> without being superuser I can have my familiar environment at any
>> > >>> >> synchrotron based cluster. It is great that cctbx will be an
>> integral
>> > >>> >> part of this ecosystem and this was also the last thing holding me
>> > >>> >> back from adopting python3. About hdf5, pymc3 requires it and
>> > >>> >> importing causes a kernel restart with the following error
>> messages,
>> > >>> >> curiously if I import h5py first this can be avoided.
>> > >>> >>
>> > >>> >> Best wishes,
>> > >>> >>
>> > >>> >> Gergely
>> > >>> >>
>> > >>> >> import pymc3 as pm
>> > >>> >>
>> > >>> >> Warning! ***HDF5 library version mismatched error***
>> > >>> >> The HDF5 header files used to compile this application do not
>> match
>> > >>> >> the version used by the HDF5 library to which this application is
>> linked.
>> > >>> >> Data corruption or segmentation faults may occur if the
>> application continues.
>> > >>> >> This can happen when an application was compiled by one version
>> of HDF5 but
>> > >>> >> linked with a different version of static or shared HDF5 library.
>> > >>> >> You should recompile the application or check your shared library
>> related
>> > >>> >> settings such as 'LD_LIBRARY_PATH'.
>> > >>> >> You can, at your own risk, disable this warning by setting the
>> environment
>> > >>> >> variable 'HDF5_DISABLE_VERSION_CHECK' to a value of '1'.
>> > >>> >> Setting it to 2 or higher will suppress the warning messages
>> totally.
>> > >>> >> Headers are 1.10.4, library is 1.10.5
>> > >>> >>         SUMMARY OF THE HDF5 CONFIGURATION
>> > >>> >>         =================================
>> > >>> >>
>> > >>> >> General Information:
>> > >>> >> -------------------
>> > >>> >>                    HDF5 Version: 1.10.5
>> > >>> >>                   Configured on: Tue Oct 22 12:02:13 UTC 2019
>> > >>> >>                   Configured by: conda at 16247e67ecd5
>> > >>> >>                     Host system: x86_64-conda_cos6-linux-gnu
>> > >>> >>               Uname information: Linux 16247e67ecd5
>> 4.15.0-1059-azure
>> > >>> >> #64-Ubuntu SMP Fri Sep 13 17:02:44 UTC 2019 x86_64 x86_64 x86_64
>> > >>> >> GNU/Linux
>> > >>> >>                        Byte sex: little-endian
>> > >>> >>              Installation point: /home/gergely/anaconda3
>> > >>> >>
>> > >>> >> Compiling Options:
>> > >>> >> ------------------
>> > >>> >>                      Build Mode: production
>> > >>> >>               Debugging Symbols: no
>> > >>> >>                         Asserts: no
>> > >>> >>                       Profiling: no
>> > >>> >>              Optimization Level: high
>> > >>> >>
>> > >>> >> Linking Options:
>> > >>> >> ----------------
>> > >>> >>                       Libraries: static, shared
>> > >>> >>   Statically Linked Executables:
>> > >>> >>                         LDFLAGS: -Wl,-O2 -Wl,--sort-common
>> > >>> >> -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags
>> > >>> >> -Wl,--gc-sections -Wl,-rpath,/home/gergely/anaconda3/lib
>> > >>> >> -Wl,-rpath-link,/home/gergely/anaconda3/lib
>> > >>> >> -L/home/gergely/anaconda3/lib
>> > >>> >>                      H5_LDFLAGS:
>> > >>> >>                      AM_LDFLAGS:  -L/home/gergely/anaconda3/lib
>> > >>> >>                 Extra libraries: -lrt -lpthread -lz -ldl -lm
>> > >>> >>                        Archiver:
>> > >>> >>
>> /home/conda/feedstock_root/build_artifacts/hdf5_split_1571745596770/_build_env/bin/x86_64-conda_cos6-linux-gnu-ar
>> > >>> >>                        AR_FLAGS: cr
>> > >>> >>                          Ranlib:
>> > >>> >>
>> /home/conda/feedstock_root/build_artifacts/hdf5_split_1571745596770/_build_env/bin/x86_64-conda_cos6-linux-gnu-ranlib
>> > >>> >>
>> > >>> >> Languages:
>> > >>> >> ----------
>> > >>> >>                               C: yes
>> > >>> >>                      C Compiler:
>> > >>> >>
>> /home/conda/feedstock_root/build_artifacts/hdf5_split_1571745596770/_build_env/bin/x86_64-conda_cos6-linux-gnu-cc
>> > >>> >>                        CPPFLAGS: -DNDEBUG -D_FORTIFY_SOURCE=2 -O2
>> > >>> >> -I/home/gergely/anaconda3/include
>> > >>> >>                     H5_CPPFLAGS: -D_GNU_SOURCE
>> > >>> >> -D_POSIX_C_SOURCE=200809L   -DNDEBUG -UH5_DEBUG_API
>> > >>> >>                     AM_CPPFLAGS:
>> -I/home/gergely/anaconda3/include
>> > >>> >>                         C Flags: -march=nocona -mtune=haswell
>> > >>> >> -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2
>> > >>> >> -ffunction-sections -pipe -I/home/gergely/anaconda3/include
>> > >>> >>
>> -fdebug-prefix-map=/home/conda/feedstock_root/build_artifacts/hdf5_split_1571745596770/work=/usr/local/src/conda/hdf5_split-1.10.5
>> > >>> >>
>> -fdebug-prefix-map=/home/gergely/anaconda3=/usr/local/src/conda-prefix
>> > >>> >>                      H5 C Flags:  -std=c99  -pedantic -Wall
>> -Wextra
>> > >>> >> -Wbad-function-cast -Wc++-compat -Wcast-align -Wcast-qual
>> -Wconversion
>> > >>> >> -Wdeclaration-after-statement -Wdisabled-optimization
>> -Wfloat-equal
>> > >>> >> -Wformat=2 -Winit-self -Winvalid-pch -Wmissing-declarations
>> > >>> >> -Wmissing-include-dirs -Wmissing-prototypes -Wnested-externs
>> > >>> >> -Wold-style-definition -Wpacked -Wpointer-arith -Wredundant-decls
>> > >>> >> -Wshadow -Wstrict-prototypes -Wswitch-default -Wswitch-enum
>> -Wundef
>> > >>> >> -Wunused-macros -Wunsafe-loop-optimizations -Wwrite-strings
>> > >>> >> -finline-functions -s -Wno-inline -Wno-aggregate-return
>> > >>> >> -Wno-missing-format-attribute -Wno-missing-noreturn -O
>> > >>> >>                      AM C Flags:
>> > >>> >>                Shared C Library: yes
>> > >>> >>                Static C Library: yes
>> > >>> >>
>> > >>> >>
>> > >>> >>                         Fortran: yes
>> > >>> >>                Fortran Compiler:
>> > >>> >>
>> /home/conda/feedstock_root/build_artifacts/hdf5_split_1571745596770/_build_env/bin/x86_64-conda_cos6-linux-gnu-gfortran
>> > >>> >>                   Fortran Flags:
>> > >>> >>                H5 Fortran Flags:  -pedantic -Wall -Wextra
>> -Wunderflow
>> > >>> >> -Wimplicit-interface -Wsurprising -Wno-c-binding-type  -s -O2
>> > >>> >>                AM Fortran Flags:
>> > >>> >>          Shared Fortran Library: yes
>> > >>> >>          Static Fortran Library: yes
>> > >>> >>
>> > >>> >>                             C++: yes
>> > >>> >>                    C++ Compiler:
>> > >>> >>
>> /home/conda/feedstock_root/build_artifacts/hdf5_split_1571745596770/_build_env/bin/x86_64-conda_cos6-linux-gnu-c++
>> > >>> >>                       C++ Flags: -fvisibility-inlines-hidden
>> > >>> >> -std=c++17 -fmessage-length=0 -march=nocona -mtune=haswell
>> > >>> >> -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2
>> > >>> >> -ffunction-sections -pipe -I/home/gergely/anaconda3/include
>> > >>> >>
>> -fdebug-prefix-map=/home/conda/feedstock_root/build_artifacts/hdf5_split_1571745596770/work=/usr/local/src/conda/hdf5_split-1.10.5
>> > >>> >>
>> -fdebug-prefix-map=/home/gergely/anaconda3=/usr/local/src/conda-prefix
>> > >>> >>                    H5 C++ Flags:   -pedantic -Wall -W -Wundef
>> -Wshadow
>> > >>> >> -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings
>> -Wconversion
>> > >>> >> -Wredundant-decls -Winline -Wsign-promo -Woverloaded-virtual
>> > >>> >> -Wold-style-cast -Weffc++ -Wreorder -Wnon-virtual-dtor
>> > >>> >> -Wctor-dtor-privacy -Wabi -finline-functions -s -O
>> > >>> >>                    AM C++ Flags:
>> > >>> >>              Shared C++ Library: yes
>> > >>> >>              Static C++ Library: yes
>> > >>> >>
>> > >>> >>                            Java: no
>> > >>> >>
>> > >>> >>
>> > >>> >> Features:
>> > >>> >> ---------
>> > >>> >>                    Parallel HDF5: no
>> > >>> >> Parallel Filtered Dataset Writes: no
>> > >>> >>               Large Parallel I/O: no
>> > >>> >>               High-level library: yes
>> > >>> >>                     Threadsafety: yes
>> > >>> >>              Default API mapping: v110
>> > >>> >>   With deprecated public symbols: yes
>> > >>> >>           I/O filters (external): deflate(zlib)
>> > >>> >>                              MPE: no
>> > >>> >>                       Direct VFD: no
>> > >>> >>                          dmalloc: no
>> > >>> >>   Packages w/ extra debug output: none
>> > >>> >>                      API tracing: no
>> > >>> >>             Using memory checker: yes
>> > >>> >>  Memory allocation sanity checks: no
>> > >>> >>           Function stack tracing: no
>> > >>> >>        Strict file format checks: no
>> > >>> >>     Optimization instrumentation: no
>> > >>> >>
>> > >>> >> On Tue, Dec 17, 2019 at 8:35 AM Billy Poon <BKPoon at lbl.gov>
>> wrote:
>> > >>> >> >
>> > >>> >> > Hi Gergely,
>> > >>> >> >
>> > >>> >> > Let me build the test package tomorrow. All the gritty details
>> for building with conda is being finalized and the official 
>> documentation
>> will be updated to describe the steps. It would be too confusing to 
>> keep
>> changing the documentation as the process evolves. You do have the 
>> general
>> process, though, which is summarized as follows.
>> > >>> >> >
>> > >>> >> > 1) Installing dependencies. The cctbx_dependencies metapackage
>> was an initial approach for managing the CCTBX dependencies, but after
>> contacting the conda-forge folks, they recommended using the 
>> --only-deps
>> flag. So when the CCTBX conda package is available, you'll be able to 
>> get a
>> set of dependencies with,
>> > >>> >> >
>> > >>> >> > conda install -c conda-forge --only-deps cctbx
>> > >>> >> >
>> > >>> >> > By default, the https://urldefense.proofpoint.com/v2/url?u=http-3A__bootstrap.py&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=bt_bS5majJbOBt0MQ5A0UJNxCAHR9nzX5sOsNeglug8&e=  file will automatically install a
>> set of dependencies in the "conda_base" directory (and a conda 
>> installation
>> if one is not found). It just uses standard conda environment files 
>> located
>> in libtbx/auto_build/conda_envs, so you do not need to install
>> cctbx_dependencies as a separate step. The environment files avoid 
>> channel
>> issues by explicitly defining the channel to pull the packages from 
>> and the
>> cctbx channel just stores copies of packages from conda-forge. There 
>> were
>> issues earlier where the conda-forge packages would sometimes be moved 
>> to a
>> different label. The --use-conda flag also accepts a path to 
>> $CONDA_PREFIX
>> if you want to use a specific environment for testing.
>> > >>> >> >
>> > >>> >> > 2) Building. The https://urldefense.proofpoint.com/v2/url?u=http-3A__bootstrap.py&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=bt_bS5majJbOBt0MQ5A0UJNxCAHR9nzX5sOsNeglug8&e=  file handles that with SCons.
>> > >>> >> >
>> > >>> >> > 3) Running. After building, there should be a https://urldefense.proofpoint.com/v2/url?u=http-3A__setpaths.sh&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=jdLrRP40_yWUf0wRYzKtzCKGcxskN9ROwtX498mqAOM&e=  (and
>> .csh) file that adds build/bin to your path. The build/bin directory 
>> has
>> our dispatchers, which are just scripts that set up the environment
>> variables for you. This prevents other programs from loading our 
>> libraries,
>> whose versions may conflict. You should see that there is a "python"
>> dispatcher, which is a convenience for developers. Otherwise, you can 
>> use
>> libtbx.python, which will be able to import CCTBX modules.
>> > >>> >> >
>> > >>> >> > The running part is where the conda package for CCTBX will be
>> different than this build. Since our Python files and extensions 
>> modules
>> will be in the "site-packages" directory for Python, the PYTHONPATH
>> variable will not be needed (and conda suggests that that variable not 
>> be
>> set). The other CCTBX libraries will be in $CONDA_PREFIX/lib, so
>> LD_LIBRARY_PATH is not needed. In an active environment, PATH will 
>> already
>> be modified. And then our LIBTBX_BUILD directory can be set to 
>> sys.prefix.
>> > >>> >> >
>> > >>> >> > So with the conda package, you would only need to activate your
>> conda environment and CCTBX should integrate with other conda 
>> packages.
>> What is the conflict with hdf5? That's something that should be fixed.
>> Thanks!
>> > >>> >> >
>> > >>> >> > --
>> > >>> >> > Billy K. Poon
>> > >>> >> > Research Scientist, Molecular Biophysics and Integrated
>> Bioimaging
>> > >>> >> > Lawrence Berkeley National Laboratory
>> > >>> >> > 1 Cyclotron Road, M/S 33R0345
>> > >>> >> > Berkeley, CA 94720
>> > >>> >> > Tel: (510) 486-5709
>> > >>> >> > Fax: (510) 486-5909
>> > >>> >> > Web: https://urldefense.proofpoint.com/v2/url?u=https-3A__phenix-2Donline.org&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=c-5sC2_Edn5Vxnj97Qf6f-IoSGnKKf5ZC1fy_jJS77k&e=
>> > >>> >> >
>> > >>> >> >
>> > >>> >> > On Mon, Dec 16, 2019 at 2:53 AM Gergely Katona <
>> gkatona at gmail.com> wrote:
>> > >>> >> >>
>> > >>> >> >> Dear Billy,
>> > >>> >> >>
>> > >>> >> >> Thank you for this update and for your efforts! I found a
>> solution and
>> > >>> >> >> indeed most things already work in anaconda3. The steps I took
>> (even
>> > >>> >> >> if these instructions will have short expiry date):
>> > >>> >> >>
>> > >>> >> >> Modified .condarc with:
>> > >>> >> >> channels:
>> > >>> >> >>   - cctbx
>> > >>> >> >>   - conda-forge
>> > >>> >> >>   - defaults
>> > >>> >> >>
>> > >>> >> >> run
>> > >>> >> >> conda conda install cctbx_dependencies python=3.6
>> > >>> >> >>
>> > >>> >> >> I expect this will work without python=3.6 in the near future.
>> > >>> >> >>
>> > >>> >> >> Then compiling cctbx with anaconda3 python went without any
>> problem
>> > >>> >> >> when using these flags:
>> > >>> >> >> python https://urldefense.proofpoint.com/v2/url?u=http-3A__bootstrap.py&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=bt_bS5majJbOBt0MQ5A0UJNxCAHR9nzX5sOsNeglug8&e=  --use-conda --python3 --nproc=12
>> > >>> >> >>
>> > >>> >> >> Then I probably did the unorthodox thing and sourced these
>> directories:
>> > >>> >> >>
>> > >>> >> >> setenv LIBTBX_BUILD /home/gergely/cctbx/build
>> > >>> >> >> setenv PATH ${PATH}:/home/gergely/cctbx/build/bin
>> > >>> >> >> setenv PYTHONPATH
>> > >>> >> >>
>> /home/gergely/cctbx/modules/cctbx_project:/home/gergely/cctbx/modules:/home/gergely/cctbx/modules/cctbx_project/boost_adaptbx:/home/gergely/cctbx/build/lib:/home/gergely/cctbx/conda_base/lib/python3.6/site-packages:$PYTHONPATH
>> > >>> >> >> setenv LD_LIBRARY_PATH
>> > >>> >> >>
>> /home/gergely/cctbx/conda_base/lib:/home/gergely/cctbx/build/lib:$LD_LIBRARY_PATH
>> > >>> >> >>
>> > >>> >> >> There is probably a better way to put this into conda
>> environment.
>> > >>> >> >> With these steps I could run one of my scripts depending on
>> cctbx. The
>> > >>> >> >> only problem I found is that hdf5 library had conflict with
>> another
>> > >>> >> >> package in conda, but I does not find this as a showstopper.
>> > >>> >> >>
>> > >>> >> >> Best wishes,
>> > >>> >> >>
>> > >>> >> >> Gergely
>> > >>> >> >>
>> > >>> >> >>
>> > >>> >> >>
>> > >>> >> >>
>> > >>> >> >>
>> > >>> >> >>
>> > >>> >> >> On Fri, Dec 13, 2019 at 7:23 PM Billy Poon <BKPoon at lbl.gov>
>> wrote:
>> > >>> >> >> >
>> > >>> >> >> > Hi Gergely,
>> > >>> >> >> >
>> > >>> >> >> > It's still a work in progress. I'm sorting out some Windows
>> issues right now. I can probably build a test package on a separate 
>> channel
>> for people that want to test it (let's say next week?). I'll provide
>> instructions, but basically, the test conda package will be in its own
>> separate channel and the dependencies will be pulled from the 
>> conda-forge
>> channel. I want most things to be working correctly on Python 2.7, 
>> 3.6,
>> 3.7, and 3.8 on all 3 platforms.
>> > >>> >> >> >
>> > >>> >> >> > Thanks!
>> > >>> >> >> >
>> > >>> >> >> > --
>> > >>> >> >> > Billy K. Poon
>> > >>> >> >> > Research Scientist, Molecular Biophysics and Integrated
>> Bioimaging
>> > >>> >> >> > Lawrence Berkeley National Laboratory
>> > >>> >> >> > 1 Cyclotron Road, M/S 33R0345
>> > >>> >> >> > Berkeley, CA 94720
>> > >>> >> >> > Tel: (510) 486-5709
>> > >>> >> >> > Fax: (510) 486-5909
>> > >>> >> >> > Web: https://urldefense.proofpoint.com/v2/url?u=https-3A__phenix-2Donline.org&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=c-5sC2_Edn5Vxnj97Qf6f-IoSGnKKf5ZC1fy_jJS77k&e=
>> > >>> >> >> >
>> > >>> >> >> >
>> > >>> >> >> > On Fri, Dec 13, 2019 at 5:44 AM Gergely Katona <
>> gkatona at gmail.com> wrote:
>> > >>> >> >> >>
>> > >>> >> >> >> Dear Billy,
>> > >>> >> >> >>
>> > >>> >> >> >> This sounds very promising and exciting. I am not sure if
>> cctbx is
>> > >>> >> >> >> already functional as a conda package in anaconda3 (Linux)
>> or this is
>> > >>> >> >> >> still work in progress. My technical expertise does not
>> allow me to
>> > >>> >> >> >> tell the difference. What I tried:
>> > >>> >> >> >>
>> > >>> >> >> >> Fresh install of anaconda3. Adding - cctbx and -
>> conda-forge to
>> > >>> >> >> >> .condarc . Installing pyside2 with conda. Running conda
>> install
>> > >>> >> >> >> conda_dependencies .  I get a lot package version conflict,
>> and I
>> > >>> >> >> >> cannot import cctbx or iotbx to anaconda python. Am I
>> following the
>> > >>> >> >> >> right instructions? Or it is too early to expect that cctbx
>> works when
>> > >>> >> >> >> installed through conda?
>> > >>> >> >> >>
>> > >>> >> >> >> Best wishes,
>> > >>> >> >> >>
>> > >>> >> >> >> Gergely
>> > >>> >> >> >>
>> > >>> >> >> >> On Wed, Nov 27, 2019 at 3:56 PM Billy Poon <BKPoon at lbl.gov>
>> wrote:
>> > >>> >> >> >> >
>> > >>> >> >> >> > Hi all,
>> > >>> >> >> >> >
>> > >>> >> >> >> > For a brief update, I have submitted a recipe for
>> cctbxlite to conda-forge (
>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_conda-2Dforge_staged-2Drecipes_pull_10021&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=uPteSh0sovoqW00_UboKZdbEomi9DvxJcyFGCL-3XGw&e= 
>> ) and support for
>> Python 3.7 and 3.8 is being added (
>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cctbx_cctbx-5Fproject_pull_409&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=vJRw_RsofbmTidC7cfMBgYyjBBnPVLTqqDjSQqWhbI8&e= 
>> ). With some fixes for
>> Windows 
>> (https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cctbx_cctbx-5Fproject_pull_416&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=-In07B2uX5dd1lZsYqkki89edSNt_RGyn8Exkj_P22s&e= 
>> ), all platforms
>> (macOS, linux, and Windows) can build for Python 2.7, 3.6, 3.7, and 
>> 3.8.
>> Some additional changes will be needed to get Windows to work with 
>> Python 3
>> and for tests to pass with Boost 1.70.0. That will enable the 
>> conda-forge
>> recipe to build for all platforms and for all supported versions of 
>> Python.
>> > >>> >> >> >> >
>> > >>> >> >> >> > Currently, the conda-forge recipe will install into the
>> conda python and cctbx imports can be done without sourcing the 
>> environment
>> scripts. It looks like a lot of the environment variables being set in 
>> the
>> dispatchers can be removed since the Python files and C++ extensions 
>> are in
>> the right places. I'll update the libtbx_env file so that commands 
>> that
>> load the environment can work correctly.
>> > >>> >> >> >> >
>> > >>> >> >> >> > --
>> > >>> >> >> >> > Billy K. Poon
>> > >>> >> >> >> > Research Scientist, Molecular Biophysics and Integrated
>> Bioimaging
>> > >>> >> >> >> > Lawrence Berkeley National Laboratory
>> > >>> >> >> >> > 1 Cyclotron Road, M/S 33R0345
>> > >>> >> >> >> > Berkeley, CA 94720
>> > >>> >> >> >> > Tel: (510) 486-5709
>> > >>> >> >> >> > Fax: (510) 486-5909
>> > >>> >> >> >> > Web: https://urldefense.proofpoint.com/v2/url?u=https-3A__phenix-2Donline.org&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=c-5sC2_Edn5Vxnj97Qf6f-IoSGnKKf5ZC1fy_jJS77k&e=
>> > >>> >> >> >> >
>> > >>> >> >> >> >
>> > >>> >> >> >> > On Sun, Aug 25, 2019 at 2:33 PM Tristan Croll <
>> tic20 at cam.ac.uk> wrote:
>> > >>> >> >> >> >>
>> > >>> >> >> >> >> Hi Luc,
>> > >>> >> >> >> >>
>> > >>> >> >> >> >> That sounds promising. From there, I?d need to work out
>> how to make a fully-packaged installer (basically a modified wheel 
>> file)
>> for the ChimeraX ToolShed - the aim is for the end user to not have to
>> worry about any of this. That adds a couple of complications - e.g.
>> $LIBTBX_BUILD would need to be set dynamically before first import - 
>> but
>> doesn?t seem insurmountable.
>> > >>> >> >> >> >>
>> > >>> >> >> >> >> Thanks,
>> > >>> >> >> >> >>
>> > >>> >> >> >> >> Tristan
>> > >>> >> >> >> >>
>> > >>> >> >> >> >>
>> > >>> >> >> >> >>
>> > >>> >> >> >> >> Tristan Croll
>> > >>> >> >> >> >> Research Fellow
>> > >>> >> >> >> >> Cambridge Institute for Medical Research
>> > >>> >> >> >> >> University of Cambridge CB2 0XY
>> > >>> >> >> >> >>
>> > >>> >> >> >> >>
>> > >>> >> >> >> >>
>> > >>> >> >> >> >>
>> > >>> >> >> >> >> > On 25 Aug 2019, at 18:31, Luc Bourhis <
>> luc_j_bourhis at mac.com> wrote:
>> > >>> >> >> >> >> >
>> > >>> >> >> >> >> > Hi Tristan,
>> > >>> >> >> >> >> >
>> > >>> >> >> >> >> > cctbx could be built to use your ChimeraX python, now
>> that cctbx is moving to Python 3. The option ?with-python is there for 
>> that
>> with the bootstrap script. The specific environment setup boil down to
>> setting two environment variable LIBTBX_BUILD and either 
>> LD_LIBRARY_PATH on
>> Linux, PATH on Win32, or DYLIB_LIBRARY_PATH on MacOS. If you work 
>> within a
>> framework such as ChimeraX, that should not be difficult to ensure 
>> those
>> two variables are set.
>> > >>> >> >> >> >> >
>> > >>> >> >> >> >> > Best wishes,
>> > >>> >> >> >> >> >
>> > >>> >> >> >> >> > Luc
>> > >>> >> >> >> >> >
>> > >>> >> >> >> >> >
>> > >>> >> >> >> >> >> On 23 Aug 2019, at 19:02, Tristan Croll <
>> tic20 at cam.ac.uk> wrote:
>> > >>> >> >> >> >> >>
>> > >>> >> >> >> >> >> To add my two cents on this: probably the second-most
>> common question I've had about ISOLDE's implementation is, "why didn't 
>> you
>> use CCTBX?". The honest answer to that is, "I didn't know how."
>> > >>> >> >> >> >> >>
>> > >>> >> >> >> >> >> Still don't, really - although the current
>> developments are rather promising. The problem I've faced is that 
>> CCTBX was
>> designed as its own self-contained Python (2.7, until very recently)
>> environment, with its own interpreter and a lot of very specific
>> environment setup. Meanwhile I'm developing ISOLDE in ChimeraX, which 
>> is
>> *also* its own self-contained Python (3.7) environment. To plug one 
>> into
>> the other in that form... well, I don't think I'm a good enough 
>> programmer
>> to really know where to start.
>> > >>> >> >> >> >> >>
>> > >>> >> >> >> >> >> The move to Conda and a more modular CCTBX
>> architecture should make a lot more possible in that direction. Pip 
>> would
>> be even better for me personally (ChimeraX can install directly from 
>> the
>> PyPI, but doesn't interact with Conda) - but I understand pretty well 
>> the
>> substantial challenge that would amount to (not least being that the 
>> PyPI
>> imposes a limit - around 100MB from memory? - on the size of an 
>> individual
>> package).
>> > >>> >> >> >> >> >>
>> > >>> >> >> >> >> >> Best regards,
>> > >>> >> >> >> >> >>
>> > >>> >> >> >> >> >> Tristan
>> > >>> >> >> >> >> >>
>> > >>> >> >> >> >> >>> On 2019-08-23 09:28, Luc Bourhis wrote:
>> > >>> >> >> >> >> >>> Hi Graeme,
>> > >>> >> >> >> >> >>> Yes, I know. But ?black" is a program doing a very
>> particular task
>> > >>> >> >> >> >> >>> (code formatting from the top of my head). Requiring
>> to use a wrapper
>> > >>> >> >> >> >> >>> for python itself is another level. But ok, I think
>> I am mellowing to
>> > >>> >> >> >> >> >>> the idea after all! Talking with people around me,
>> and extrapolating,
>> > >>> >> >> >> >> >>> I would bet that, right now, a great majority of
>> people interested by
>> > >>> >> >> >> >> >>> cctbx in pip have already used the cctbx, so they
>> know about the
>> > >>> >> >> >> >> >>> Python wrapper, and they would not be too sanguine
>> about that. My
>> > >>> >> >> >> >> >>> concern is for the future, when pip will be the
>> first time some people
>> > >>> >> >> >> >> >>> use cctbx. Big fat warning notices on PyPI page and
>> a better error
>> > >>> >> >> >> >> >>> message when cctbx fails because LIBTBX_BUILD is not
>> set would be
>> > >>> >> >> >> >> >>> needed but that could be all right.
>> > >>> >> >> >> >> >>> If we do a pip installer, we should aim at a minimal
>> install: cctbx,
>> > >>> >> >> >> >> >>> iotbx and their dependencies, and that?s it.
>> > >>> >> >> >> >> >>> Best wishes,
>> > >>> >> >> >> >> >>> Luc
>> > >>> >> >> >> >> >>>> On 23 Aug 2019, at 07:17,
>> Graeme.Winter at Diamond.ac.uk <Graeme.Winter at diamond.ac.uk> wrote:
>> > >>> >> >> >> >> >>>> Without discussing the merits of this or whether we
>> _choose_ to make the move to supporting PIP, I am certain it would be
>> _possible_ - many other packages make dispatcher scripts when you pip
>> install them e.g.
>> > >>> >> >> >> >> >>>> Silver-Surfer rescale_f2 :) $ which black; cat
>> $(which black)
>> > >>> >> >> >> >> >>>>
>> /Library/Frameworks/Python.framework/Versions/3.6/bin/black
>> > >>> >> >> >> >> >>>>
>> #!/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6
>> > >>> >> >> >> >> >>>> # -*- coding: utf-8 -*-
>> > >>> >> >> >> >> >>>> import re
>> > >>> >> >> >> >> >>>> import sys
>> > >>> >> >> >> >> >>>> from black import main
>> > >>> >> >> >> >> >>>> if __name__ == '__main__':
>> > >>> >> >> >> >> >>>>  sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$',
>> '', sys.argv[0])
>> > >>> >> >> >> >> >>>>  sys.exit(main())
>> > >>> >> >> >> >> >>>> So we _could_ work around the absence of
>> LIBTBX_BUILD etc. in the system. Whether or not we elect to do the 
>> work is
>> a different question, and it seems clear that here are very mixed 
>> opinions
>> on this.
>> > >>> >> >> >> >> >>>> Best wishes Graeme
>> > >>> >> >> >> >> >>>> On 23 Aug 2019, at 01:21, Luc Bourhis <
>> luc_j_bourhis at mac.com<mailto:luc_j_bourhis at mac.com>> wrote:
>> > >>> >> >> >> >> >>>> Hi,
>> > >>> >> >> >> >> >>>> Even if we managed to ship our the boost dynamic
>> libraries with pip, it would still not be pip-like, as we would still 
>> need
>> our python wrappers to set LIBTBX_BUILD and LD_LIBRARY_PATH. Normal 
>> pip
>> packages work with the standard python exe. LD_LIBRARY_PATH, we could 
>> get
>> around that by changing the way we compile, using -Wl,-R, which is the
>> runtime equivalent of build time -L. That?s a significant change that 
>> would
>> need to be tested. But there is no way around setting LIBTBX_BUILD 
>> right
>> now. Leaving that to the user is horrible. Perhaps there is a way to 
>> hack
>> libtbx/https://urldefense.proofpoint.com/v2/url?u=http-3A__env-5Fconfig.py&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=UrsFhQ0dxNNuzXmOT3D6pnGJ5lXko4mfrKceNgBaQV4&e= 
>>  so that we can hardwire LIBTBX_BUILD in there when pip
>> installs?
>> > >>> >> >> >> >> >>>> Best wishes,
>> > >>> >> >> >> >> >>>> Luc
>> > >>> >> >> >> >> >>>> On 16 Aug 2019, at 22:47, Luc Bourhis <
>> luc_j_bourhis at mac.com<mailto:luc_j_bourhis at mac.com>> wrote:
>> > >>> >> >> >> >> >>>> Hi,
>> > >>> >> >> >> >> >>>> I did look into that many years ago, and even toyed
>> with building a pip installer. What stopped me is the exact conclusion 
>> you
>> reached too: the user would not have the pip experience he expects. 
>> You are
>> right that it is a lot of effort but is it worth it? Considering that
>> remark, I don?t think so. Now, Conda was created specifically to go 
>> beyond
>> pip pure-python-only support. Since cctbx has garnered support for 
>> Conda,
>> the best avenue imho is to go the extra length to have a package on
>> https://urldefense.proofpoint.com/v2/url?u=http-3A__Anaconda.org&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=9CHcyWn3-LWReM2OUP6nG0zWCa7YC98zlDOEBrLkbes&e= 
>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__anaconda.org_&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=HOVPiVxtqw3cPaIPsgyGuTEhL-dzqPTi3R8R9WraZ-0&e= 
>> >, and then to advertise it hard to
>> every potential user out there.
>> > >>> >> >> >> >> >>>> Best wishes,
>> > >>> >> >> >> >> >>>> Luc
>> > >>> >> >> >> >> >>>> On 16 Aug 2019, at 21:45, Aaron Brewster <
>> asbrewster at lbl.gov<mailto:asbrewster at lbl.gov>> wrote:
>> > >>> >> >> >> >> >>>> Hi, to avoid clouding Dorothee's documentation
>> email thread, which I think is a highly useful enterprise, here's some
>> thoughts about putting cctbx into pip.  Pip doesn't install non-python
>> dependencies well.  I don't think boost is available as a package on 
>> pip
>> (at least the package version we use).  wxPython4 isn't portable 
>> through
>> pip (
>> https://urldefense.proofpoint.com/v2/url?u=https-3A__wiki.wxpython.org_How-2520to-2520install-2520wxPython-23Installing-5FwxPython-2DPhoenix-5Fusing-5Fpip&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=D7zSUB-oAgRewijSj2GVWIC9iZor67suNQAfHV4I8dA&e= 
>> ).
>> MPI libraries are system dependent.  If cctbx were a pure python 
>> package,
>> pip would be fine, but cctbx is not.
>> > >>> >> >> >> >> >>>> All that said, we could build a manylinux1 version
>> of cctbx and upload it to PyPi (I'm just learning about this).  For a 
>> pip
>> package to be portable (which is a requirement for cctbx), it needs to
>> conform to PEP513, the manylinux1 standard (
>> https://urldefense.proofpoint.com/v2/url?u=https-3A__www.python.org_dev_peps_pep-2D0513_&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=CjakQKmcA0apMQME2kkx69X-T8nuUgqRCmbL4WrFPSI&e= 
>> ).  For example, numpy is built
>> according to this standard (see 
>> https://urldefense.proofpoint.com/v2/url?u=https-3A__pypi.org_project_numpy_-23files&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=9tTcpapBSq5VuQfr6JwVg_MGJJnJZ_Q3ul7KFs4_SoE&e= 
>> ,
>> where you'll see the manylinux1 wheel).  Note, the manylinux1 standard 
>> is
>> built with Centos 5.11 which we no longer support.
>> > >>> >> >> >> >> >>>> There is also a manylinux2010 standard, which is
>> based on Centos 6 
>> (https://urldefense.proofpoint.com/v2/url?u=https-3A__www.python.org_dev_peps_pep-2D0571_&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=bkliO9EJWFKQrM-uTVswT_jOd9v0ZZw-5-DCexzX7BQ&e= 
>> ).  This is
>> likely a more attainable target (note though by default C++11 is not
>> supported on Centos 6).
>> > >>> >> >> >> >> >>>> If we built a manylinuxX version of cctbx and
>> uploaded it to PyPi, the user would need all the non-python 
>> dependencies.
>> There's no way to specify these in pip.  For example, cctbx requires 
>> boost
>> 1.63 or better.  The user will need to have it in a place their python 
>> can
>> find it, or we could package it ourselves and supply it, similar to 
>> how the
>> pip h5py package now comes with an hd5f library, or how the pip numpy
>> package includes an openblas library.  We'd have to do the same for 
>> any
>> packages we depend on that aren't on pip using the manylinux 
>> standards,
>> such as wxPython4.
>> > >>> >> >> >> >> >>>> Further, we need to think about how dials and other
>> cctbx-based packages interact.  If pip install cctbx is set up, how 
>> does
>> pip install dials work, such that any dials shared libraries can find 
>> the
>> cctbx libraries?  Can shared libraries from one pip package link 
>> against
>> libraries in another pip package?  Would each package need to supply 
>> its
>> own boost?  Possibly this is well understood in the pip field, but not 
>> by
>> me :)
>> > >>> >> >> >> >> >>>> Finally, there's the option of providing a source
>> pip package.  This would require the full compiler toolchain for any 
>> given
>> platform (macOS, linux, windows).  These are likely available for
>> developers, but not for general users.
>> > >>> >> >> >> >> >>>> Anyway, these are some of the obstacles.  Not
>> saying it isn't possible, it's just a lot of effort.
>> > >>> >> >> >> >> >>>> Thanks,
>> > >>> >> >> >> >> >>>> -Aaron
>> > >>> >> >> >> >> >>>> _______________________________________________
>> > >>> >> >> >> >> >>>> cctbxbb mailing list
>> > >>> >> >> >> >> >>>> cctbxbb at phenix-online.org<mailto:
>> cctbxbb at phenix-online.org>
>> > >>> >> >> >> >> >>>> https://urldefense.proofpoint.com/v2/url?u=http-3A__phenix-2Donline.org_mailman_listinfo_cctbxbb&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=Ti1nnpC9106KFO2KdIcwPujIFcsZwVLMx7pKoumCBx0&e=
>> > >>> >> >> >> >> >>>> _______________________________________________
>> > >>> >> >> >> >> >>>> cctbxbb mailing list
>> > >>> >> >> >> >> >>>> cctbxbb at phenix-online.org<mailto:
>> cctbxbb at phenix-online.org>
>> > >>> >> >> >> >> >>>> https://urldefense.proofpoint.com/v2/url?u=http-3A__phenix-2Donline.org_mailman_listinfo_cctbxbb&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=Ti1nnpC9106KFO2KdIcwPujIFcsZwVLMx7pKoumCBx0&e=
>> > >>> >> >> >> >> >>>> _______________________________________________
>> > >>> >> >> >> >> >>>> cctbxbb mailing list
>> > >>> >> >> >> >> >>>> cctbxbb at phenix-online.org<mailto:
>> cctbxbb at phenix-online.org>
>> > >>> >> >> >> >> >>>> https://urldefense.proofpoint.com/v2/url?u=http-3A__phenix-2Donline.org_mailman_listinfo_cctbxbb&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=Ti1nnpC9106KFO2KdIcwPujIFcsZwVLMx7pKoumCBx0&e=
>> > >>> >> >> >> >> >>>> --
>> > >>> >> >> >> >> >>>> This e-mail and any attachments may contain
>> confidential, copyright and or privileged material, and are for the 
>> use of
>> the intended addressee only. If you are not the intended addressee or 
>> an
>> authorised recipient of the addressee please notify us of receipt by
>> returning the e-mail and do not use, copy, retain, distribute or 
>> disclose
>> the information in or attached to the e-mail.
>> > >>> >> >> >> >> >>>> Any opinions expressed within this e-mail are those
>> of the individual and not necessarily of Diamond Light Source Ltd.
>> > >>> >> >> >> >> >>>> Diamond Light Source Ltd. cannot guarantee that
>> this e-mail or any attachments are free from viruses and we cannot 
>> accept
>> liability for any damage which you may sustain as a result of software
>> viruses which may be transmitted in or with the message.
>> > >>> >> >> >> >> >>>> Diamond Light Source Limited (company no. 4375679).
>> Registered in England and Wales with its registered office at Diamond
>> House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, 
>> OX11
>> 0DE, United Kingdom
>> > >>> >> >> >> >> >>>> _______________________________________________
>> > >>> >> >> >> >> >>>> cctbxbb mailing list
>> > >>> >> >> >> >> >>>> cctbxbb at phenix-online.org
>> > >>> >> >> >> >> >>>> https://urldefense.proofpoint.com/v2/url?u=http-3A__phenix-2Donline.org_mailman_listinfo_cctbxbb&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=Ti1nnpC9106KFO2KdIcwPujIFcsZwVLMx7pKoumCBx0&e=
>> > >>> >> >> >> >> >>> _______________________________________________
>> > >>> >> >> >> >> >>> cctbxbb mailing list
>> > >>> >> >> >> >> >>> cctbxbb at phenix-online.org
>> > >>> >> >> >> >> >>> https://urldefense.proofpoint.com/v2/url?u=http-3A__phenix-2Donline.org_mailman_listinfo_cctbxbb&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=Ti1nnpC9106KFO2KdIcwPujIFcsZwVLMx7pKoumCBx0&e=
>> > >>> >> >> >> >> >>
>> > >>> >> >> >> >> >>
>> > >>> >> >> >> >> >> _______________________________________________
>> > >>> >> >> >> >> >> cctbxbb mailing list
>> > >>> >> >> >> >> >> cctbxbb at phenix-online.org
>> > >>> >> >> >> >> >> https://urldefense.proofpoint.com/v2/url?u=http-3A__phenix-2Donline.org_mailman_listinfo_cctbxbb&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=Ti1nnpC9106KFO2KdIcwPujIFcsZwVLMx7pKoumCBx0&e=
>> > >>> >> >> >> >> >
>> > >>> >> >> >> >> >
>> > >>> >> >> >> >> > _______________________________________________
>> > >>> >> >> >> >> > cctbxbb mailing list
>> > >>> >> >> >> >> > cctbxbb at phenix-online.org
>> > >>> >> >> >> >> > https://urldefense.proofpoint.com/v2/url?u=http-3A__phenix-2Donline.org_mailman_listinfo_cctbxbb&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=Ti1nnpC9106KFO2KdIcwPujIFcsZwVLMx7pKoumCBx0&e=
>> > >>> >> >> >> >>
>> > >>> >> >> >> >>
>> > >>> >> >> >> >> _______________________________________________
>> > >>> >> >> >> >> cctbxbb mailing list
>> > >>> >> >> >> >> cctbxbb at phenix-online.org
>> > >>> >> >> >> >> https://urldefense.proofpoint.com/v2/url?u=http-3A__phenix-2Donline.org_mailman_listinfo_cctbxbb&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=Ti1nnpC9106KFO2KdIcwPujIFcsZwVLMx7pKoumCBx0&e=
>> > >>> >> >> >> >
>> > >>> >> >> >> > _______________________________________________
>> > >>> >> >> >> > cctbxbb mailing list
>> > >>> >> >> >> > cctbxbb at phenix-online.org
>> > >>> >> >> >> > https://urldefense.proofpoint.com/v2/url?u=http-3A__phenix-2Donline.org_mailman_listinfo_cctbxbb&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=Ti1nnpC9106KFO2KdIcwPujIFcsZwVLMx7pKoumCBx0&e=
>> > >>> >> >> >>
>> > >>> >> >> >>
>> > >>> >> >> >>
>> > >>> >> >> >> --
>> > >>> >> >> >> Gergely Katona, PhD
>> > >>> >> >> >> Associate Professor
>> > >>> >> >> >> Department of Chemistry and Molecular Biology, University
>> of Gothenburg
>> > >>> >> >> >> Box 462, 40530 G?teborg, Sweden
>> > >>> >> >> >> Tel: +46-31-786-3959 / M: +46-70-912-3309 / Fax:
>> +46-31-786-3910
>> > >>> >> >> >> Web: https://urldefense.proofpoint.com/v2/url?u=http-3A__katonalab.eu&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=V-FcxiRTC7MtbnraHvP-9rEwfelDcisXMb0j8rpaCF8&e= , Email: gergely.katona at gu.se
>> > >>> >> >> >>
>> > >>> >> >> >> _______________________________________________
>> > >>> >> >> >> cctbxbb mailing list
>> > >>> >> >> >> cctbxbb at phenix-online.org
>> > >>> >> >> >> https://urldefense.proofpoint.com/v2/url?u=http-3A__phenix-2Donline.org_mailman_listinfo_cctbxbb&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=Ti1nnpC9106KFO2KdIcwPujIFcsZwVLMx7pKoumCBx0&e=
>> > >>> >> >> >
>> > >>> >> >> > _______________________________________________
>> > >>> >> >> > cctbxbb mailing list
>> > >>> >> >> > cctbxbb at phenix-online.org
>> > >>> >> >> > https://urldefense.proofpoint.com/v2/url?u=http-3A__phenix-2Donline.org_mailman_listinfo_cctbxbb&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=Ti1nnpC9106KFO2KdIcwPujIFcsZwVLMx7pKoumCBx0&e=
>> > >>> >> >>
>> > >>> >> >>
>> > >>> >> >>
>> > >>> >> >> --
>> > >>> >> >> Gergely Katona, PhD
>> > >>> >> >> Associate Professor
>> > >>> >> >> Department of Chemistry and Molecular Biology, University of
>> Gothenburg
>> > >>> >> >> Box 462, 40530 G?teborg, Sweden
>> > >>> >> >> Tel: +46-31-786-3959 / M: +46-70-912-3309 / Fax:
>> +46-31-786-3910
>> > >>> >> >> Web: https://urldefense.proofpoint.com/v2/url?u=http-3A__katonalab.eu&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=V-FcxiRTC7MtbnraHvP-9rEwfelDcisXMb0j8rpaCF8&e= , Email: gergely.katona at gu.se
>> > >>> >> >>
>> > >>> >> >> _______________________________________________
>> > >>> >> >> cctbxbb mailing list
>> > >>> >> >> cctbxbb at phenix-online.org
>> > >>> >> >> https://urldefense.proofpoint.com/v2/url?u=http-3A__phenix-2Donline.org_mailman_listinfo_cctbxbb&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=Ti1nnpC9106KFO2KdIcwPujIFcsZwVLMx7pKoumCBx0&e=
>> > >>> >> >
>> > >>> >> > _______________________________________________
>> > >>> >> > cctbxbb mailing list
>> > >>> >> > cctbxbb at phenix-online.org
>> > >>> >> > https://urldefense.proofpoint.com/v2/url?u=http-3A__phenix-2Donline.org_mailman_listinfo_cctbxbb&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=Ti1nnpC9106KFO2KdIcwPujIFcsZwVLMx7pKoumCBx0&e=
>> > >>> >>
>> > >>> >>
>> > >>> >>
>> > >>> >> --
>> > >>> >> Gergely Katona, PhD
>> > >>> >> Associate Professor
>> > >>> >> Department of Chemistry and Molecular Biology, University of
>> Gothenburg
>> > >>> >> Box 462, 40530 G?teborg, Sweden
>> > >>> >> Tel: +46-31-786-3959 / M: +46-70-912-3309 / Fax: +46-31-786-3910
>> > >>> >> Web: https://urldefense.proofpoint.com/v2/url?u=http-3A__katonalab.eu&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=V-FcxiRTC7MtbnraHvP-9rEwfelDcisXMb0j8rpaCF8&e= , Email: gergely.katona at gu.se
>> > >>> >>
>> > >>> >> _______________________________________________
>> > >>> >> cctbxbb mailing list
>> > >>> >> cctbxbb at phenix-online.org
>> > >>> >> https://urldefense.proofpoint.com/v2/url?u=http-3A__phenix-2Donline.org_mailman_listinfo_cctbxbb&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=Ti1nnpC9106KFO2KdIcwPujIFcsZwVLMx7pKoumCBx0&e=
>> > >>> >
>> > >>> > _______________________________________________
>> > >>> > cctbxbb mailing list
>> > >>> > cctbxbb at phenix-online.org
>> > >>> > https://urldefense.proofpoint.com/v2/url?u=http-3A__phenix-2Donline.org_mailman_listinfo_cctbxbb&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=Ti1nnpC9106KFO2KdIcwPujIFcsZwVLMx7pKoumCBx0&e=
>> > >>>
>> > >>>
>> > >>>
>> > >>> --
>> > >>> Gergely Katona, PhD
>> > >>> Associate Professor
>> > >>> Department of Chemistry and Molecular Biology, University of
>> Gothenburg
>> > >>> Box 462, 40530 G?teborg, Sweden
>> > >>> Tel: +46-31-786-3959 / M: +46-70-912-3309 / Fax: +46-31-786-3910
>> > >>> Web: https://urldefense.proofpoint.com/v2/url?u=http-3A__katonalab.eu&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=V-FcxiRTC7MtbnraHvP-9rEwfelDcisXMb0j8rpaCF8&e= , Email: gergely.katona at gu.se
>> > >>>
>> > >>> _______________________________________________
>> > >>> cctbxbb mailing list
>> > >>> cctbxbb at phenix-online.org
>> > >>> https://urldefense.proofpoint.com/v2/url?u=http-3A__phenix-2Donline.org_mailman_listinfo_cctbxbb&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=Ti1nnpC9106KFO2KdIcwPujIFcsZwVLMx7pKoumCBx0&e=
>> > >
>> > > _______________________________________________
>> > > cctbxbb mailing list
>> > > cctbxbb at phenix-online.org
>> > > https://urldefense.proofpoint.com/v2/url?u=http-3A__phenix-2Donline.org_mailman_listinfo_cctbxbb&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=Ti1nnpC9106KFO2KdIcwPujIFcsZwVLMx7pKoumCBx0&e=
>> >
>> >
>> >
>> > --
>> > Gergely Katona, Professor
>> > Department of Chemistry and Molecular Biology, University of Gothenburg
>> > Box 462, 40530 G?teborg, Sweden
>> > Tel: +46-31-786-3959 / M: +46-70-912-3309 / Fax: +46-31-786-3910
>> > Web: https://urldefense.proofpoint.com/v2/url?u=http-3A__katonalab.eu&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=V-FcxiRTC7MtbnraHvP-9rEwfelDcisXMb0j8rpaCF8&e= , Email: gergely.katona at gu.se
>> 
>> 
>> 
>> --
>> Gergely Katona, Professor
>> Department of Chemistry and Molecular Biology, University of 
>> Gothenburg
>> Box 462, 40530 G?teborg, Sweden
>> Tel: +46-31-786-3959 / M: +46-70-912-3309 / Fax: +46-31-786-3910
>> Web: 
>> https://urldefense.proofpoint.com/v2/url?u=http-3A__katonalab.eu&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=V-FcxiRTC7MtbnraHvP-9rEwfelDcisXMb0j8rpaCF8&e= 
>> , Email: gergely.katona at gu.se
>> 
>> _______________________________________________
>> cctbxbb mailing list
>> cctbxbb at phenix-online.org
>> https://urldefense.proofpoint.com/v2/url?u=http-3A__phenix-2Donline.org_mailman_listinfo_cctbxbb&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=Ti1nnpC9106KFO2KdIcwPujIFcsZwVLMx7pKoumCBx0&e=
>> 
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__phenix-2Donline.org_pipermail_cctbxbb_attachments_20200103_1eafb4cd_attachment.html&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=-ioAvXq3B0u8U8uxIiBYf-aE8Ih6zjcmygtl1zmJBnM&e=
> >
> 
> ------------------------------
> 
> _______________________________________________
> cctbxbb mailing list
> cctbxbb at phenix-online.org
> https://urldefense.proofpoint.com/v2/url?u=http-3A__phenix-2Donline.org_mailman_listinfo_cctbxbb&d=DwICAg&c=VjzId-SM5S6aVB_cCGQ0d3uo9UfKByQ3sI6Audoy6dY&r=k0gMbcsdOcdbPUNV5tW66KQSZfXL0ewVDPVBp7tqbks&m=9IjF95nqsrMq_R_HHQ4nsTpGpSpiU2e4ynF8kN3qTHY&s=Ti1nnpC9106KFO2KdIcwPujIFcsZwVLMx7pKoumCBx0&e=
> 
> 
> End of cctbxbb Digest, Vol 130, Issue 2
> ***************************************
> 
> _______________________________________________
> cctbxbb mailing list
> cctbxbb at phenix-online.org
> http://phenix-online.org/mailman/listinfo/cctbxbb



More information about the cctbxbb mailing list