Skip to content

Error evaluating HELM string #8

@azech-hqs

Description

@azech-hqs

Hi there!

First of all, great work, and thanks for this neat tool!

I recently encountered some issues using pyPept with HELM strings. I installed the pyPept package as recommended in a fresh conda environment with Python 3.9. When trying run_pyPept with the first HELM string example from the README via

run_pyPept --helm "PEPTIDE1{P.E.P.T.I.D.E}$$$$V2.0"

I get the following error

/Users/alex/software/micromamba/envs/pypept/lib/python3.9/site-packages/pyPept/converter.py:217: UserWarning: problem with HELM string - not enough sections: PEPTIDE1{P.E.P.T.I.D.E}1731717317V2.0
  warnings.warn(f'problem with HELM string - not enough sections: {helm}')
Traceback (most recent call last):
  File "/Users/alex/software/micromamba/envs/pypept/lib/python3.9/site-packages/pyPept/converter.py", line 214, in eval_helm
    version = self.__split_helm(helm)
  File "/Users/alex/software/micromamba/envs/pypept/lib/python3.9/site-packages/pyPept/converter.py", line 112, in __split_helm
    list_of_connections = helm_parts[1]
IndexError: list index out of range

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/alex/software/micromamba/envs/pypept/bin/run_pyPept", line 8, in <module>
    sys.exit(main())
  File "/Users/alex/software/micromamba/envs/pypept/lib/python3.9/site-packages/pyPept/interfaces/run_pyPept.py", line 141, in main
    b = Converter(helm=args.helm)
  File "/Users/alex/software/micromamba/envs/pypept/lib/python3.9/site-packages/pyPept/converter.py", line 54, in __init__
    self.eval_helm(helm=helm)
  File "/Users/alex/software/micromamba/envs/pypept/lib/python3.9/site-packages/pyPept/converter.py", line 218, in eval_helm
    warnings.warn(f'need 5, have {len(self.__split_helm(helm))}')
  File "/Users/alex/software/micromamba/envs/pypept/lib/python3.9/site-packages/pyPept/converter.py", line 112, in __split_helm
    list_of_connections = helm_parts[1]
IndexError: list index out of range

Unfortunately, none of the HELM strings listed in the README.md seem to work.

In another attempt, I created a HELM string (oxytocin) myself using the HELM web editor. However, the resulting HELM string, PEPTIDE1{C.Y.I.Q.N.C.P.L.G.[am]}$PEPTIDE1,PEPTIDE1,1:R3-6:R3$$$V2.0, leads to the same "not enough sections" error as shown above.

As a workaround, I could successfully run pyPept with the oxytocin example by converting the HELM string to BILN format. This was achieved with the BILN-converter script.

The problem seems to occur in the __split_helm function in converter.py. For the case of oxytocin, the helm_parts list has only one item after the splitting loop: ['PEPTIDE1{C.Y.I.Q.N.C.P.L.G.[am]},PEPTIDE1,1:R3-6:R317317.0']. Hence, helm_parts[1] throws an IndexError. I can try to work on a bug fix in the coming weeks, but I would first have to familiarize myself with the HELM format and the possible variations.

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