Skip to content

XMLSyntaxError with .wsp import #273

@dylkot

Description

@dylkot

Describe the bug
Hi, thanks for this great tool. Flowkit version 1.3.0 in Python 3.10 has been working well for me for importing .wsp files made in Flowjo 10. I am now being forced by my institution to upgrade to Flowjo 11. I exported a Flowjo10-style .wsp file from a Flowjo 11 project. When I try to import it now with the following code:

import flowkit as fk
wsp_file = "20260119_Fortessa_24H.wsp"
wk_fortessa = fk.Workspace(wsp_file, find_fcs_files_from_wsp=True)

I get the following error:

Traceback (most recent call last):

  File ~/mamba/envs/py310mac/lib/python3.10/site-packages/IPython/core/interactiveshell.py:3579 in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)

  Cell In[8], [line 3](vscode-notebook-cell:?execution_count=8&line=3)
    wk_fortessa = fk.Workspace(wsp_file, find_fcs_files_from_wsp=True)

  File ~/mamba/envs/py310mac/lib/python3.10/site-packages/flowkit/_models/workspace.py:81 in __init__
    wsp_data = wsp_utils.parse_wsp(wsp_file_path)

  File ~/mamba/envs/py310mac/lib/python3.10/site-packages/flowkit/_utils/wsp_utils.py:657 in parse_wsp
    doc_type, root_xml, gating_ns, data_type_ns, transform_ns = _get_xml_type(workspace_file_or_path)

  File ~/mamba/envs/py310mac/lib/python3.10/site-packages/flowkit/_utils/xml_common.py:10 in _get_xml_type
    xml_document = etree.parse(xml_file_or_path)

  File src/lxml/etree.pyx:3711 in lxml.etree.parse

  File src/lxml/parser.pxi:2031 in lxml.etree._parseDocument

  File src/lxml/parser.pxi:2057 in lxml.etree._parseDocumentFromURL

  File src/lxml/parser.pxi:1958 in lxml.etree._parseDocFromFile

  File src/lxml/parser.pxi:1230 in lxml.etree._BaseParser._parseDocFromFile

  File src/lxml/parser.pxi:647 in lxml.etree._ParserContext._handleParseResultDoc

  File src/lxml/parser.pxi:765 in lxml.etree._handleParseResult

  File src/lxml/parser.pxi:689 in lxml.etree._raiseParseError

  File 20260119_Fortessa_24H.wsp:1
    <?xml version="1.0" encoding="UTF-8"?><Workspace flowJoVersion="10.10.0"><Matrices><transforms:spilloverMatrix spectral="1" weightOptAlgorithmType="OLS" prefix="Comp-"  name="Matrix_PDL1"  editable="0" color="#c0c0c0" version="FlowJo-10.10.0" status="FINALIZED" transforms:id="2426f191-f6fb-4115-8c4c-caeae907eba8" suffix="">
                                                                                                                                                                                                                                                                                                                                       ^
XMLSyntaxError: Namespace prefix transforms for id on spilloverMatrix is not defined, line 1, column 325

I have a similar issue when I try to load another .wsp file generated by exporting from Flowjo 11:

import flowkit as fk
wsp_file = "20260119_Sony_24H.wsp"
wk_fortessa = fk.Workspace(wsp_file, find_fcs_files_from_wsp=True)

gives

Traceback (most recent call last):

  File ~/mamba/envs/py310mac/lib/python3.10/site-packages/IPython/core/interactiveshell.py:3579 in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)

  Cell In[10], [line 3](vscode-notebook-cell:?execution_count=10&line=3)
    wk_fortessa = fk.Workspace(wsp_file, find_fcs_files_from_wsp=True)

  File ~/mamba/envs/py310mac/lib/python3.10/site-packages/flowkit/_models/workspace.py:81 in __init__
    wsp_data = wsp_utils.parse_wsp(wsp_file_path)

  File ~/mamba/envs/py310mac/lib/python3.10/site-packages/flowkit/_utils/wsp_utils.py:657 in parse_wsp
    doc_type, root_xml, gating_ns, data_type_ns, transform_ns = _get_xml_type(workspace_file_or_path)

  File ~/mamba/envs/py310mac/lib/python3.10/site-packages/flowkit/_utils/xml_common.py:10 in _get_xml_type
    xml_document = etree.parse(xml_file_or_path)

  File src/lxml/etree.pyx:3711 in lxml.etree.parse

  File src/lxml/parser.pxi:2031 in lxml.etree._parseDocument

  File src/lxml/parser.pxi:2057 in lxml.etree._parseDocumentFromURL

  File src/lxml/parser.pxi:1958 in lxml.etree._parseDocFromFile

  File src/lxml/parser.pxi:1230 in lxml.etree._BaseParser._parseDocFromFile

  File src/lxml/parser.pxi:647 in lxml.etree._ParserContext._handleParseResultDoc

  File src/lxml/parser.pxi:765 in lxml.etree._handleParseResult

  File src/lxml/parser.pxi:689 in lxml.etree._raiseParseError

  File 20260119_Sony_24H.wsp:1
    <?xml version="1.0" encoding="UTF-8"?><Workspace flowJoVersion="10.10.0"><Matrices /><Groups><GroupNode name="All Samples" owningGroup="All Samples" expanded="1" sortPriority="0" count="-1"><Group name="All Samples" live="1" synchronized="0" role="ws.group.dlog.undefined" key="" foreground="default"><Criteria/><SampleRefs><SampleRef sampleID="76ee0069-4e64-46b8-9de7-c496c0bd935a" /><SampleRef sampleID="68fc71df-606e-4768-af45-f0ebb469f345" /><SampleRef sampleID="dfcaa895-0c97-471d-8fd7-abf15cd624e7" /><SampleRef sampleID="cca4c404-87a6-4a3e-abc7-83f2ec8a4e74" /></SampleRefs><Keywords/></Group></GroupNode><GroupNode name="Compensation" owningGroup="Compensation" expanded="1" sortPriority="0" count="-1"><Group name="Compensation" live="1" synchronized="0" role="ws.group.dlog.compensation" key="" foreground="default"><Criteria/><Keywords/></Group></GroupNode></Groups><SampleList><Sample><DataSet uri="/Users/dkotliar/Library/CloudStorage/GoogleDrive-dylkot@gmail.com/My Drive/srlab/AIM-Seq/AIMSeq_24-25/2026.01.19 Healthy Donor - CEFX /CEFX_Sony_20260120_24H/24_Tube_Rack_5mL/Sample_Group_1/Unmixing/DK8_Mock_24H_WLSM.fcs" sampleID="cca4c404-87a6-4a3e-abc7-83f2ec8a4e74" /><Transformations><transforms:log transforms:offset="1" transforms:decades="7.2247199" >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ^
XMLSyntaxError: Namespace prefix transforms for offset on log is not defined, line 1, column 1270

Any suggestions on what to do except for seeing if I can go back to analyzing the data entirely in Flowjo 10?

Thanks!

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