Skip to content

Commit fbdfcac

Browse files
authored
Merge pull request #475 from Jeremi-Maciejewski/semi-specific_digestion
Semi-specific digestion
2 parents 34e29de + dcec44b commit fbdfcac

File tree

1 file changed

+55
-1
lines changed

1 file changed

+55
-1
lines changed

docs/source/user_guide/digestion.rst

Lines changed: 55 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,35 @@ The usual enzyme of choice for bottom-up proteomics is ``Trypsin`` (sometimes in
1616
We will now learn how to do digestion of protein sequences in-silico, so you can predict which
1717
peptides you can expect to observe in the data and even generate theoretical spectra for them.
1818

19+
Overview of the tool
20+
********************
21+
22+
Proteolytic digestion can be performed through class ``ProteaseDigestion`` and its method ``.digest``.
23+
This method has two variants.
24+
Simple variant:
25+
26+
.. code-block:: cython
27+
28+
digest(protein : pyopenms.AASequence, output : list) -> int
29+
# protein - Sequence of the protein to be digested. (pyopenms.AASequence)
30+
# output - Empty list. This is where produced peptides will be stored. Warning: if the list is not empty, all its contents will be deleted! (list)
31+
#
32+
# -> returns number of peptides which did not meet length restrictions and were discarded. (int)
33+
34+
The other variant allows you to specify minimum and maximum length of peptides produced:
35+
36+
.. code-block:: cython
37+
38+
digest(protein : pyopenms.AASequence, output : list, min_length : int, max_length : int) -> int
39+
# protein - Sequence of the protein to be digested. (pyopenms.AASequence)
40+
# output - Empty list. This is where produced peptides will be stored. Warning: if the list is not empty, all its contents will be deleted! (list)
41+
# min_length - Minimum length of produced peptide. Shorter products will be discarded. (int)
42+
# max_length - Maximum length of produced peptide. Longer products will be discarded. (int)
43+
#
44+
# -> returns number of peptides which did not meet length restrictions and were discarded. (int)
45+
46+
.. @todo : Overview of RNaseDigestion.digest()
47+
1948
Proteolytic Digestion with Trypsin
2049
**********************************
2150

@@ -63,10 +92,35 @@ We now allow up to two missed cleavages.
6392
for s in result:
6493
print(s.toString())
6594
95+
Semi-specific Digestion
96+
***********************
97+
98+
Sometimes digestion is only specific to a cleavage site on one end of resulting peptide, while the other end is cut unspecifically.
99+
It is possible to generate a range of peptides that could be produced as a result of such semi-specific digestion:
100+
101+
.. code-block:: python
102+
103+
# Check current specificity
104+
dig.getSpecificity() # 2
105+
# Set specificity parameter to semi-specific
106+
# dig.setSpecificity(1) is also supported (1 specific end)
107+
dig.setSpecificity(oms.EnzymaticDigestion.Specificity.SPEC_SEMI)
108+
109+
# Short sample sequence
110+
seq = oms.AASequence.fromString("MCRTLH")
111+
112+
dig.digest(seq, result)
113+
len(result) # 10
114+
# Discard single-aa results
115+
dig.digest(seq, result, 2, len(seq.toString()) )
116+
for pep in result:
117+
print(pep.toString())
118+
# MCR, TLH, CR, TL, LH, MC
119+
66120
Proteolytic Digestion with Lys-C
67121
********************************
68122

69-
In the previous example we used Trypsin as our enzyme of choice.
123+
In the previous examples we used Trypsin as our enzyme of choice.
70124
We can of course also use different enzymes, these are defined in the ``Enzymes.xml``
71125
file and can be accessed using the :py:class:`~.EnzymesDB` object
72126

0 commit comments

Comments
 (0)