Python People,

I am learning about assertions. I wrote a small script that takes 2 inputs, an amino acid sequence and one residue symbol. The script should return what percent of the sequence is residue in output. The point of this script is to use assert for debugging. My script seems to work correctly, but when I use the assert statements that are supposed to test the script, the assertions indicate there is a problem with the script.


>>> def aminosleft(sequence, res):
...     sequp = sequence.upper()
...     lens1 = len(sequp)
...     rep = res.upper()
...     reps2 = sequp.replace(rep,"")
...     lens2 = len(reps2)
...     resid = 100* (lens1 - lens2) / lens1
...     print(int(resid))
...
...
>>> aminosleft("MSRSLLLRFLLFLLLLPPLP", "M")
5
>>> assert aminosleft("MSRSLLLRFLLFLLLLPPLP", "M") == 5
5
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AssertionError

>>> aminosleft("MSRSLLLRFLLFLLLLPPLP", "r")
10
>>> assert aminosleft("MSRSLLLRFLLFLLLLPPLP", "r") == 10
10
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AssertionError

>>> aminosleft("msrslllrfllfllllpplp", "L")
50
>>> assert aminosleft("msrslllrfllfllllpplp", "L") == 50
50
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AssertionError

>>> aminosleft("MSRSLLLRFLLFLLLLPPLP", "Y")
0
>>> assert aminosleft("MSRSLLLRFLLFLLLLPPLP", "Y") == 0
0
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AssertionError

The script returns an integer. I don't know if the assertion uses an integer or if that matters. What is causing the AssertionError?


John
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to