diff --git a/source/Collection_Data_Types.rst b/source/Collection_Data_Types.rst
index def15ef4426562772fd6f4835a42d80d4b45fc02..968c933c1b51dd442b4c6526760050bb2936fcc1 100644
--- a/source/Collection_Data_Types.rst
+++ b/source/Collection_Data_Types.rst
@@ -292,7 +292,7 @@ So we can use the specificity of set ::
Exercise
--------
-We need to compute the occurrence of all kmers of a given length present in a sequence.
+We need to compute the number of occurrences of all kmers of a given length present in a sequence.
Below we propose 2 algorithms.
@@ -431,8 +431,8 @@ Print the kmers by ordered by occurrences.
Exercise
--------
-| Write a function which take a sequence as parameter and return it's reversed complement.
-| Write the pseudocode before to propose an implementation.
+| Write a function which takes a sequence as parameter and returns its reversed complement.
+| Write the pseudocode before proposing an implementation.
pseudocode:
"""""""""""
@@ -462,17 +462,17 @@ pseudocode:
other solution
""""""""""""""
-python provide an interesting method for our problem.
+Python provides an interesting method for our problem.
The ``translate`` method works on a string and needs a parameter which is an object
that can do the correspondence between characters in the old string and the new one.
-``maketrans`` is a function in module ``string`` that allow us to build this object.
-``maketrans`` take 2 arguments, two strings, the first string contains the characters
-to change, the second string the corresponding characters in the new string.
+``maketrans`` is a function in module ``string`` that allows us to build this object.
+``maketrans`` takes two strings as arguments, the first one contains the characters
+to change, the second contains the corresponding characters in the new string.
Thus the two strings **must** have the same length. The correspondence between
the characters to change and their new values is made in function of their position.
-the first character of the first string will be replaced by the first character of the second string,
-the second character of the first string will be replaced by the second character of the second string, on so on.
-So we can write the reverse complement without loop.
+The first character of the first string will be replaced by the first character of the second string,
+the second character of the first string will be replaced by the second character of the second string, and so on.
+So we can write the reverse complement without a loop.
.. literalinclude:: _static/code/rev_comp2.py
:linenos:
@@ -490,8 +490,8 @@ So we can write the reverse complement without loop.
Exercise
--------
-let the following enzymes collection:
-We decide to implement enzymes as tuple with the following structure
+We have a collection of restriction enzymes.
+We decide to implement enzymes as tuples with the following structure
("name", "comment", "sequence", "cut", "end")
::
@@ -506,7 +506,7 @@ We decide to implement enzymes as tuple with the following structure
hae3 = ("HaeIII", "Haemophilus aegyptius", "ggcc", 2 , "blunt")
sma1 = ("SmaI", "Serratia marcescens", "cccggg", 3 , "blunt")
-and the 2 dna fragments: ::
+We have the 2 dna fragments: ::
dna_1 = """tcgcgcaacgtcgcctacatctcaagattcagcgccgagatccccgggggttgagcgatccccgtcagttggcgtgaattcag
cagcagcgcaccccgggcgtagaattccagttgcagataatagctgatttagttaacttggatcacagaagcttccaga
@@ -516,9 +516,9 @@ and the 2 dna fragments: ::
attcagtggcttcagaattcctcccgggagaagctgaatagtgaaacgattgaggtgttgtggtgaaccgagtaag
agcagcttaaatcggagagaattccatttactggccagggtaagagttttggtaaatatatagtgatatctggcttg"""
-| which enzymes cut the dna_1 ?
-| the dna_2 ?
-| the dna_1 but not the dna_2?
+| Which enzymes cut the dna_1 ?
+| the dna_2 ?
+| the dna_1 but not the dna_2?
* In a file <my_file.py>
@@ -548,7 +548,7 @@ and the 2 dna fragments: ::
:download:`enzymes_1.py <_static/code/enzyme_1.py>`.
-with this algorithm we find if an enzyme cut the dna but we cannot find all cuts in the dna for an enzyme. ::
+With this algorithm we find if an enzyme cut the dna but we cannot find all cuts in the dna for an enzyme. ::
enzymes = [ecor1, ecor5, bamh1, hind3, taq1, not1, sau3a1, hae3, sma1]
digest_1 = []