diff --git a/docs/userguide.rst b/docs/userguide.rst
index 52556ecdbad87df044d2e73e7bed86c75461600d..466f952d3b90c282d1bacec3a00a2feee4c10249 100644
--- a/docs/userguide.rst
+++ b/docs/userguide.rst
@@ -174,7 +174,7 @@ Here are all available options in **RPG**:
 
 **-o, -\\-outputfile**: Result file to output resulting peptides (default './peptides.xxx' depending of -\\-fmt).
 
-**-p, -\\-pka**: Define pKa values. Either 'ipc' or 'stryer' (default: ipc). IPC values come from `IPC_peptide <http://isoelectric.org/theory.html>`_ and Stryer values from Biochemistry Stryer, 7th edition.
+**-p, -\\-pka**: Define pKa values. Either 'ipc2', 'stryer' or 'ipc' (default: ipc2, ipc is deprecated). IPC2 values come from `IPC_peptide in Supplementary Table S1 <https://doi.org/10.1093/nar/gkab295>`_, Stryer values from Biochemistry Stryer, 7th edition and IPC values from `IPC_peptide <http://isoelectric.org/theory.html>`_.
 
 **-r, -\\-randomname**: Random (not used) output name file. See :ref:`random` for more information.
 
@@ -399,13 +399,13 @@ Option **-a, -\\-addenzyme** allows the user to define new enzymes. An enzyme co
 
 In the following, nomenclature of `Schechter and Berger <https://www.ncbi.nlm.nih.gov/pubmed/6035483>`_ is used. Amino acids before the cleavage site are designated as `P1`, `P2`, `P3`, etc in the N-terminal direction, and as `P1'`, `P2'`, `P3'`, etc in the C-terminal direction. For example, with cleavage site represented as '|':
 
-.. code-block:: shell
+.. code-block:: none
 
     ...P3-P2-P1-|-P1'-P2'-P3'...
 
 In **RPG**, this nomenclature is represented as:
 
-.. code-block:: shell
+.. code-block:: none
 
     ...(P3)(P2)(P1)(,)(P1')(P2')(P3')...
 
@@ -417,25 +417,25 @@ A rule specifies which amino acid is targeted by the enzyme, the cleavage positi
 
 For example, to define a cleavage occurring **before** A, one must input:
 
-.. code-block:: shell
+.. code-block:: none
 
     (,A)
 
 To define a cleavage occurring **after** B, one must input:
 
-.. code-block:: shell
+.. code-block:: none
 
     (B,)
 
 The surrounding context is specified by adding other amino acids, before or after the targeted one. For example, to define a cleavage occurring **before** A, position `P1'`, preceded by B in position `P1`, C in position `P3` and followed by D in position `P2'`, one must input:
 
-.. code-block:: shell
+.. code-block:: none
 
     (C)()(B)(,A)(D)
 
 Note that this enzyme will only cleave if it finds the motif C*BAD, where * could be **any** amino acid. It will **not** cleave BAD, nor C*BA, BA, etc. For example, creating and using enzyme `rpg_example_userguide` (enzyme id 43):
 
-.. code-block:: shell
+.. code-block:: none
 
     $ rpg -a    
     Name of the new enzyme?
@@ -462,7 +462,7 @@ Note that this enzyme will only cleave if it finds the motif C*BAD, where * coul
 
 In order for this enzyme to also cleave before AD (before A in `P1'` followed by D in `P2'` ), on top of the previous rule, one has to define one more rule in **RPG**:
 
-.. code-block:: shell
+.. code-block:: none
 
     (,A)(D)
     (C)()(B)(,A)(D)
@@ -506,14 +506,14 @@ It is important to note that for each enzyme, it is enough that one of the rule
 
 The order of inputted rules is not relevant. In other words, this enzyme:
 
-.. code-block:: shell
+.. code-block:: none
 
     (,A)(D)
     (C)()(B)(,A)(D)
 
 and this second one:
 
-.. code-block:: shell
+.. code-block:: none
 
     (C)()(B)(,A)(D)
     (,A)(D)
@@ -522,7 +522,7 @@ are identical.
 
 It is possible to define none-related cleavage rules for the same enzyme, for example:
 
-.. code-block:: shell
+.. code-block:: none
 
     (G,)(G)
     (P)(W,)(E)(T)
@@ -531,13 +531,13 @@ This enzyme will cleave after G (position `P1`) followed by G in `P1'` and also
 
 Note that each rule must concern only **one** cleavage site. It is not possible to input rule like:
 
-.. code-block:: shell
+.. code-block:: none
 
     (A,)(B,)
 
 This would define an enzyme cleaving after A in `P1` followed by B in `P1'` but also cleaving after B in `P1` preceded by A in `P2`. The proper way to input this is by using two separate rules:
 
-.. code-block:: shell
+.. code-block:: none
 
     (A,)(B)
     (A)(B,)
@@ -552,13 +552,13 @@ An exception specifies when a cleavage should **not** occur. **Exceptions must a
 
 For example, to define a cleavage occurring **before** A (`P1'` ), one must input:
 
-.. code-block:: shell
+.. code-block:: none
 
     (,A)
 
 Exceptions can then be inputted. For example, to define "a cleavage occurs before A, except when P is in `P2'` ", the following exception needs to be added:
 
-.. code-block:: shell
+.. code-block:: none
 
     (,A)(P)
 
@@ -594,7 +594,7 @@ This enzyme will always cleave before A when not followed by P:
 
 It is possible to input complex exceptions. For the previous enzyme, we can add the following exception:
 
-.. code-block:: shell
+.. code-block:: none
 
     (G)(T)()(,A)()(F)
 
@@ -648,13 +648,13 @@ This enzyme will always cleave before A (`P1'` ) when not followed by P (`P2'` )
 
 It is important to understand that an exception should always be linked to a rule. If one inputs this rule:
 
-.. code-block:: shell
+.. code-block:: none
 
     (A,)
 
 followed by this exception:
 
-.. code-block:: shell
+.. code-block:: none
 
     (B,)(C)
 
@@ -671,26 +671,26 @@ To make enzyme creation easier to use, two tricks are available.
 
 The first one simplifies the definition of enzymes cleaving **before** and **after** a given amino acid. Defining an enzyme cleaving, for example, before **and** after A, can be done with two rules:
 
-.. code-block:: shell
+.. code-block:: none
 
     (,A)
     (A,)
 
 or simply using:
 
-.. code-block:: shell
+.. code-block:: none
 
     (,A,)
 
 The second trick is the use of the keyword `or`. This allows multiple possibilities for on position. For example:
 
-.. code-block:: shell
+.. code-block:: none
 
     (,A or B)
 
 is equivalent to:
 
-.. code-block:: shell
+.. code-block:: none
 
     (,A)
     (,B)
@@ -701,7 +701,7 @@ Those two tricks help on complex enzymes. For example, :ref:`peps13` preferentia
 
 It can be defined either by:
 
-.. code-block:: shell
+.. code-block:: none
 
     cleaving rules:
 
@@ -737,7 +737,7 @@ It can be defined either by:
 
 or, in a condensed way:
 
-.. code-block:: shell
+.. code-block:: none
 
     cleaving rule: