Een DNA sequentie kan voorgesteld worden als een string die enkel bestaat uit de letters (basen) A, G, C en T. Het invers complement van een DNA sequentie bekomt men door eerst elk voorkomen van de base A te vervangen door de complentaire base T (en andersom) en elk voorkomen van de base G te vervangen door de complementaire base C (en andersom) en vervolgens de volgorde van de letters om te keren.

Opgave

  1. Schrijf een functie complement die het complement teruggeeft voor een gegeven base die als parameter aan de functie wordt doorgegeven. Zo moet de functie de letter G teruggeven indien de letter C aan de functie doorgegeven wordt. Denk na hoe je best gebruik kan maken van een dictionary om deze functie te implementeren.

  2. Gebruik de functie complement om een functie inversComplement te schrijven, die het invers complement teruggeeft van een gegeven DNA sequentie die als parameter aan de functie moet doorgegeven worden. Maak gebruik van een list comprehension om het invers complement in één enkel return statement terug te geven. Zo moet de functie voor de gegeven DNA sequentie CAATAACTT de string AAGTTATTG teruggeven.

Voorbeeld

>>> complement('A')
'T'
>>> complement('C')
'G'
>>> complement('G')
'C'
>>> complement('T')
'A'
>>> inversComplement('CAATAACTT')
'AAGTTATTG'
>>> inversComplement('GAACCTTGT')
'ACAAGGTTC'
>>> inversComplement('TAACCGAAGGAATC')
'GATTCCTTCGGTTA'
>>> inversComplement('CTTAGCTGCCCGATTACATACACAC')
'GTGTGTATGTAATCGGGCAGCTAAG'
>>> inversComplement('TTAATTGGG')
'CCCAATTAA'