Skip to content

http://www.unimod.org/xml/unimod_tables.xml empty or not found #6

@mriffle

Description

@mriffle

When Cascadia goes to write its results, it uses the pyteomics unimod library, which will attempt to download http://www.unimod.org/xml/unimod_tables.xml If there is an issue and this file is empty or not found, Cascadia will fail when writing its results. It will produce the error below.

Reviewing pyteomics, it looks like a file can be supplied instead of downloading the XML file from unimod. I think this would be a good idea for a couple reasons 1) Cascadia doesn't fail after many hours of processing and 2) A more reproducible set of results for a given version of Cascadia.

  Writing results to: Dora_20240323_Neo_243_HeLa_8mz_staggered_27NCE_04.ssl
  Traceback (most recent call last):
    File "/opt/conda/envs/cascadia_env/bin/cascadia", line 8, in <module>
      sys.exit(main())
    File "/opt/conda/envs/cascadia_env/lib/python3.10/site-packages/cascadia/cascadia.py", line 202, in main
      sequence()
    File "/opt/conda/envs/cascadia_env/lib/python3.10/site-packages/cascadia/cascadia.py", line 87, in sequence
      write_results(preds, results_file, spectrum_file, isolation_window_size, score_threshold, augmentation_width*cycle_time)
    File "/opt/conda/envs/cascadia_env/lib/python3.10/site-packages/cascadia/utils.py", line 30, in write_results
      unimod_db = mass.unimod.Unimod()
    File "/opt/conda/envs/cascadia_env/lib/python3.10/site-packages/pyteomics/mass/unimod.py", line 716, in __init__
      self.session = load(_unimod_xml_download_url)
    File "/opt/conda/envs/cascadia_env/lib/python3.10/site-packages/pyteomics/mass/unimod.py", line 661, in load
      tree = preprocess_xml(doc_path)
    File "/opt/conda/envs/cascadia_env/lib/python3.10/site-packages/pyteomics/mass/unimod.py", line 98, in preprocess_xml
      tree = etree.parse(doc_path)
    File "src/lxml/etree.pyx", line 3590, in lxml.etree.parse
    File "src/lxml/parser.pxi", line 1958, in lxml.etree._parseDocument
    File "src/lxml/parser.pxi", line 1984, in lxml.etree._parseDocumentFromURL
    File "src/lxml/parser.pxi", line 1887, in lxml.etree._parseDocFromFile
    File "src/lxml/parser.pxi", line 1200, in lxml.etree._BaseParser._parseDocFromFile
    File "src/lxml/parser.pxi", line 633, in lxml.etree._ParserContext._handleParseResultDoc
    File "src/lxml/parser.pxi", line 743, in lxml.etree._handleParseResult
    File "src/lxml/parser.pxi", line 672, in lxml.etree._raiseParseError
    File "http://www.unimod.org/xml/unimod_tables.xml", line 1
  lxml.etree.XMLSyntaxError: Document is empty, line 1, column 1
  exit status 1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions