Skip to content

recipe.bake() potential issue and question about setting the temperature #23

@riccardoprosdocimi

Description

@riccardoprosdocimi
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-62-fee7e33c9404> in <cell line: 1>()
----> 1 results = recipe.bake()

10 frames
/usr/local/lib/python3.10/dist-packages/pyplate/pyplate.py in bake(self)
   2235                     source, dest = Container.transfer(source, dest, quantity)
   2236                 elif isinstance(dest, PlateSlicer):
-> 2237                     source, dest = Plate.transfer(source, dest, quantity)
   2238 
   2239                 self.results[source_name] = source if not isinstance(source, PlateSlicer) else source.plate

/usr/local/lib/python3.10/dist-packages/pyplate/pyplate.py in transfer(source, destination, quantity)
   1637             destination = destination[:]
   1638         # noinspection PyProtectedMember
-> 1639         return PlateSlicer._transfer(source, destination, quantity)
   1640 
   1641     def remove(self, what=Substance.LIQUID) -> Plate:

/usr/local/lib/python3.10/dist-packages/pyplate/pyplate.py in _transfer(frm, to, quantity)
   2794 
   2795             frm_array = [frm]
-> 2796             to.apply(helper_func)
   2797             return frm_array[0], to.plate
   2798         if not isinstance(frm, (Plate, PlateSlicer)):

/usr/local/lib/python3.10/dist-packages/pyplate/slicer.py in apply(self, func)
    253                 self.array.__setitem__(elem, result)
    254         else:
--> 255             self.array.__setitem__(self.slices, numpy.vectorize(func, cache=True)(self.array.__getitem__(self.slices)))
    256 
    257     def set(self, values):

/usr/local/lib/python3.10/dist-packages/numpy/lib/function_base.py in __call__(self, *args, **kwargs)
   2370             return self
   2371 
-> 2372         return self._call_as_normal(*args, **kwargs)
   2373 
   2374     def _get_ufunc_and_otypes(self, func, args):

/usr/local/lib/python3.10/dist-packages/numpy/lib/function_base.py in _call_as_normal(self, *args, **kwargs)
   2363             vargs.extend([kwargs[_n] for _n in names])
   2364 
-> 2365         return self._vectorize_call(func=func, args=vargs)
   2366 
   2367     def __call__(self, *args, **kwargs):

/usr/local/lib/python3.10/dist-packages/numpy/lib/function_base.py in _vectorize_call(self, func, args)
   2448             res = func()
   2449         else:
-> 2450             ufunc, otypes = self._get_ufunc_and_otypes(func=func, args=args)
   2451 
   2452             # Convert args to object arrays first

/usr/local/lib/python3.10/dist-packages/numpy/lib/function_base.py in _get_ufunc_and_otypes(self, func, args)
   2408 
   2409             inputs = [arg.flat[0] for arg in args]
-> 2410             outputs = func(*inputs)
   2411 
   2412             # Performance note: profiling indicates that -- for simple

/usr/local/lib/python3.10/dist-packages/pyplate/pyplate.py in helper_func(elem)
   2790             def helper_func(elem):
   2791                 """ @private """
-> 2792                 frm_array[0], elem = Container.transfer(frm_array[0], elem, quantity)
   2793                 return elem
   2794 

/usr/local/lib/python3.10/dist-packages/pyplate/pyplate.py in transfer(source, destination, quantity)
    971             raise TypeError("You can only use Container.transfer into a Container")
    972         if isinstance(source, Container):
--> 973             return destination._transfer(source, quantity)
    974         if isinstance(source, (Plate, PlateSlicer)):
    975             return destination._transfer_slice(source, quantity)

/usr/local/lib/python3.10/dist-packages/pyplate/pyplate.py in _transfer(self, source_container, quantity)
    783 
    784             if volume_to_transfer > source_container.volume:
--> 785                 raise ValueError(f"Not enough mixture left in source container ({source_container.name}). " +
    786                                  f"Only {Unit.convert_from_storage(source_container.volume, 'mL')} mL available, " +
    787                                  f"{Unit.convert_from_storage(volume_to_transfer, 'mL')} mL needed.")

ValueError: Not enough mixture left in source container (A1_mol_weight: 174.9080237694725 + B1_mol_weight: 216.48852816008434 + XPhos + toluene). Only 0.2 mL available, 0.2 mL needed.

As shown above, I have enough mixture left, but it still throws the error. I'm just a computer scientist, so please bear with me if I'm missing something from a biology standpoint.

On a different note, I can't find documentation on how to set the temperature for a cross-coupling reaction experiment. Is there a method for it?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions