BINP
  • Home
  • Bioinformatics
    • Rosalind
    • Galaxy
    • Bioinformatics Concepts
  • Biology Concepts
    • Evolution
    • Systematics
    • Molecular Biology
  • Computer Science
    • R
    • Python
    • Computer Basics
  • Research
  • Resources
  • About
  1. Stronghold
  2. Pra-3 The Secondary and Tertiary Structures of DNAclick to expand
  • Rosalind
  • Python Village
    • Pra0 Install Python
    • Pra1 Variables And Some Arithmetic
    • Pra4 working with files
  • Stronghold
    • Pra-1 Count Nucleotides
    • Pra-2 Transcribing DNA Into RNA
    • Pra-3 The Secondary and Tertiary Structures of DNAclick to expand
    • Pra-4 Rabbit And Recurrence Relations
    • Pra-5 Computing GC Content

On this page

    • Thinking prcess
  1. Stronghold
  2. Pra-3 The Secondary and Tertiary Structures of DNAclick to expand

Pra-3 The Secondary and Tertiary Structures of DNAclick to expand

In DNA strings, symbols ‘A’ and ‘T’ are complements of each other, as are ‘C’ and ‘G’.

The reverse complement of a DNA string s is the string sc formed by reversing the symbols of s, then taking the complement of each symbol (e.g., the reverse complement of “GTCA” is “TGAC”).

Given: A DNA string s of length at most 1000 bp.

Return: The reverse complement sc of s.

Thinking prcess

# reverse DNA 
sample_Dataset = 'AAAACCCGGT'
sample_Dataset[::-1]
'TGGCCCAAAA'
# initial thinking of convert 
#    DNA_string.replace('A', 'T')
 #   DNA_string.replace('T', 'A')
  #  DNA_string.replace('T', 'A')
   # DNA_string.replace('T', 'A')
# Can using traslate to convert 
trans_table = str.maketrans('abc', '123')
print(trans_table) # {97: 49, 98: 50, 99: 51}

result = 'abcabc'.translate(trans_table)
print(result)  # 123123

result_2 = 'acabc'.translate(trans_table)
print(result_2)

sample_Dataset = 'AAAACCCGGT'
DNA_trans_table = str.maketrans('ACGT', 'TGCA')

DNA_trans = sample_Dataset.translate(DNA_trans_table)
print(DNA_trans)
{97: 49, 98: 50, 99: 51}
123123
13123
TTTTGGGCCA
# Final 
sample_Dataset = 'AAAACCCGGT'

def DNA_reverse_completion(DNA_string):
    reverse_dna = DNA_string[::-1]
    DNA_trans_table = str.maketrans('ACGT', 'TGCA')
    DNA_trans = reverse_dna.translate(DNA_trans_table)
    return DNA_trans


DNA_reverse_completion(sample_Dataset)
'ACCGGGTTTT'
# Final Result Test (Pass)
sample_Dataset = 'ATAGTGGAGAATTTCAGTCTTCGGACTGGCGGCCACATTAGAAAGTAAGGTACTTGATAGAGGGCGCGCCCGAAGGCGAAAGCGATGGATGCGTCACGTACGTAGGGACATTTGTACCATATATGCTCCCAGAGGTGACCGAAATAATGCTGCAAAGTGATTGAAGGGAAGCCCCTTGGTCCACATTGATTGGAACCCTTTGGCGCATGAATCCTCATCTATTTTCAAATGTACTGAAATCGAAAATAGCTGGGAGTTATTCGTAGCATTTTAATTCCGCGCGATGCTTCTATATAAACGTGATGGCTACCCAATCGAGATACATCATTTAGCGAGTTTGTCGCCTCCCGGGGAGCCCGTCGGGTTTTAACTGGAGCAACACGACAGATGGAGCATAACTTCCTAAATAGCAAACCCATGTCACATACACATACTCTGGACCTCCTGGGAATCCAAAGAACGGGCTTTGAGTCAAGGCAGAATACTTACATCAGTGGCAGCTTCACGGTCTGCGCGAAGTTATCGGAGGTGCGATGCCGCGCGTTTACACTTATACCAATGCGCGTCACGCATATGGGGCTGCTGCGAGAACAAACACAATTTAAACATCGTGACGTCGAACCCGTTATAACCGGTGTCCGGGTCGAACGAGTGGTACAGAGCTCCTTTACTCGTTACCAGTCCGTGGAAGATTTCTGCTATGTTTCCCTCCTCGAAAATAACCTGGTCAGGAGAGGGTGTAATCTGTAACGTGCCGTGGACAACACTAATGCGCCCTTCCGCCCTTGTTTTATAACGGAAGTGGTATGAGGGGGGCCCCTTACTAGATCGTACTACTGGTAT'

def DNA_reverse_completion(DNA_string):
    reverse_dna = DNA_string[::-1]
    DNA_trans_table = str.maketrans('ACGT', 'TGCA')
    DNA_trans = reverse_dna.translate(DNA_trans_table)
    return DNA_trans


DNA_reverse_completion(sample_Dataset)
'ATACCAGTAGTACGATCTAGTAAGGGGCCCCCCTCATACCACTTCCGTTATAAAACAAGGGCGGAAGGGCGCATTAGTGTTGTCCACGGCACGTTACAGATTACACCCTCTCCTGACCAGGTTATTTTCGAGGAGGGAAACATAGCAGAAATCTTCCACGGACTGGTAACGAGTAAAGGAGCTCTGTACCACTCGTTCGACCCGGACACCGGTTATAACGGGTTCGACGTCACGATGTTTAAATTGTGTTTGTTCTCGCAGCAGCCCCATATGCGTGACGCGCATTGGTATAAGTGTAAACGCGCGGCATCGCACCTCCGATAACTTCGCGCAGACCGTGAAGCTGCCACTGATGTAAGTATTCTGCCTTGACTCAAAGCCCGTTCTTTGGATTCCCAGGAGGTCCAGAGTATGTGTATGTGACATGGGTTTGCTATTTAGGAAGTTATGCTCCATCTGTCGTGTTGCTCCAGTTAAAACCCGACGGGCTCCCCGGGAGGCGACAAACTCGCTAAATGATGTATCTCGATTGGGTAGCCATCACGTTTATATAGAAGCATCGCGCGGAATTAAAATGCTACGAATAACTCCCAGCTATTTTCGATTTCAGTACATTTGAAAATAGATGAGGATTCATGCGCCAAAGGGTTCCAATCAATGTGGACCAAGGGGCTTCCCTTCAATCACTTTGCAGCATTATTTCGGTCACCTCTGGGAGCATATATGGTACAAATGTCCCTACGTACGTGACGCATCCATCGCTTTCGCCTTCGGGCGCGCCCTCTATCAAGTACCTTACTTTCTAATGTGGCCGCCAGTCCGAAGACTGAAATTCTCCACTAT'

© 2026 BINP

  • Content: CC BY 4.0

  • Code: MIT