samsift icon indicating copy to clipboard operation
samsift copied to clipboard

Python keywords cause errors when used as tag names

Open karel-brinda opened this issue 5 years ago • 1 comments

$ samsift -i filtered.sam -f 'is>50'
...
Traceback (most recent call last):
  File "/home/kb219/miniconda/bin/samsift", line 11, in <module>
    sys.exit(main())
  File "/home/kb219/miniconda/lib/python3.6/site-packages/samsift/samsift.py", line 418, in main
    sam_sift.run()
  File "/home/kb219/miniconda/lib/python3.6/site-packages/samsift/samsift.py", line 283, in run
    self.process_alignment(alignment)
  File "/home/kb219/miniconda/lib/python3.6/site-packages/samsift/samsift.py", line 248, in process_alignment
    self._filter()
  File "/home/kb219/miniconda/lib/python3.6/site-packages/samsift/samsift.py", line 182, in _filter
    self.passes=eval(self.filter, self.vardict)
  File "<string>", line 1
    is>50
     ^
SyntaxError: invalid syntax

karel-brinda avatar Apr 23 '19 15:04 karel-brinda

Solution:

samsift -i filtered.sam -f 'locals()["is"]>50'

karel-brinda avatar Apr 24 '19 14:04 karel-brinda