FlowKit icon indicating copy to clipboard operation
FlowKit copied to clipboard

LinAlgError while analysing session

Open ayilmaz52 opened this issue 7 months ago • 1 comments

Hello,

I want to get the frequencies of some populations of my samples via flowkit. I already worked several times with different samples and gating-strategies, but never had such an issue, which confuses me. I have the following gating-strategy:

gating-strategy

I am creating a new session with the gating-strategy of a workspace, which is already available and adding one sample to the new session as example.

import flowkit as fk


wsp = fk.Workspace(wsp_file_name1, fcs_files1)
print(wsp)
gating_strategy = wsp.get_gating_strategy(sample_id1)
session = fk.Session(gating_strategy=gating_strategy, fcs_samples=fcs_files1)
print(session)
session.analyze_samples()

I want to add gates to this session and extract the frequencies of the populations as dataframe, but there is a problem with the shape off the array, which never came in other instances. The following exception is raised:

session started
S:\pICS_0067_test\test\41BB_CD107a_gating_template.wsp
Workspace(1 samples loaded, 1 sample groups)
Session(1 samples)
Traceback (most recent call last):
  File "C:\Users\Abdulkadir.Yilmaz\AppData\Roaming\JetBrains\PyCharmCE2021.2\scratches\TB_scratch.py", line 31, in <module>
    session.analyze_samples()
  File "C:\Users\Abdulkadir.Yilmaz\PycharmProjects\TB_automation\venv\lib\site-packages\flowkit\_models\session.py", line 318, in analyze_samples
    results = gating_utils.gate_samples(
  File "C:\Users\Abdulkadir.Yilmaz\PycharmProjects\TB_automation\venv\lib\site-packages\flowkit\_utils\gating_utils.py", line 115, in gate_samples
    results = sd['gating_strategy'].gate_sample(sd['sample'], verbose=verbose)
  File "C:\Users\Abdulkadir.Yilmaz\PycharmProjects\TB_automation\venv\lib\site-packages\flowkit\_models\gating_strategy.py", line 901, in gate_sample
    df_events = self._preprocess_sample_events(sample, gate, cache_events=cache_events)
  File "C:\Users\Abdulkadir.Yilmaz\PycharmProjects\TB_automation\venv\lib\site-packages\flowkit\_models\gating_strategy.py", line 683, in _preprocess_sample_events
    events = self._compensate_sample(dim_comp_refs, sample)
  File "C:\Users\Abdulkadir.Yilmaz\PycharmProjects\TB_automation\venv\lib\site-packages\flowkit\_models\gating_strategy.py", line 610, in _compensate_sample
    events = matrix.apply(sample)
  File "C:\Users\Abdulkadir.Yilmaz\PycharmProjects\TB_automation\venv\lib\site-packages\flowkit\_models\transforms\_matrix.py", line 82, in apply
    return flowutils.compensate.compensate(
  File "C:\Users\Abdulkadir.Yilmaz\PycharmProjects\TB_automation\venv\lib\site-packages\flowutils\compensate.py", line 273, in compensate
    comp_data = np.linalg.solve(spill_matrix.T, comp_data.T).T
  File "C:\Users\Abdulkadir.Yilmaz\PycharmProjects\TB_automation\venv\lib\site-packages\numpy\linalg\linalg.py", line 396, in solve
    _assert_stacked_square(a)
  File "C:\Users\Abdulkadir.Yilmaz\PycharmProjects\TB_automation\venv\lib\site-packages\numpy\linalg\linalg.py", line 213, in _assert_stacked_square
    raise LinAlgError('Last 2 dimensions of the array must be square')
numpy.linalg.LinAlgError: Last 2 dimensions of the array must be square

Versions:

  • OS: [Windows 10]
  • Python version [3.9]
  • FlowKit version [1.0.1]

ayilmaz52 avatar Nov 10 '23 13:11 ayilmaz52