Solve a few problems

This commit is contained in:
Alberto Venturini 2024-09-01 17:02:41 +02:00
commit 59de67963d
14 changed files with 101 additions and 0 deletions

1
03_revc/input.txt Normal file
View file

@ -0,0 +1 @@
AAAACCCGGT

28
03_revc/revc.nim Normal file
View file

@ -0,0 +1,28 @@
import os
proc complement(c: char): char =
return case c:
of 'A': 'T'
of 'T': 'A'
of 'C': 'G'
of 'G': 'C'
else:
raise newException(ValueError, "Invalid letter")
let fileName = paramStr(1)
var dna = readFile(fileName)
for i in 0 .. dna.len div 2:
let j = dna.len - 1 - i
if i > j:
break
elif i == j:
dna[i] = complement(dna[i])
else:
let temp = dna[i]
dna[i] = complement(dna[j])
dna[j] = complement(temp)
echo dna

View file

@ -0,0 +1 @@
GCATCGGTCTTGGTACTGTCGGAACCGATATCTCTCGCCTTCGCTGAGTTGGTGGGCGTTGATACAGCCCAACATCCTCACACAGGAGCATTAAGTGACACCATGTGCGACGGCTGCCTCGCGAGCGAACGCCGCATTTCTCATAGTAGGGACTTGGTGATGGACATGATGTAGGCAGTGGGTCTGTCGCCGCCACCGCGCGCGTACTGGTCATTGACTAGGCTGTGTACTTAGGCATACAGCTTACGACTGACTGGACTTCCAATAACGTTATCGTTCTAGACTTGTTACGTAGGGAATGTACTTTGTTCGACTGACCTTCGTGACCCTGCTGTGCCCCGGGGACTACTACATTTGCTTTCACGCACGGTAGGGTTAACGTGATGGCTTGAAGGGGGCTCACCTCATAGGGATATGCTACACACCGACGAGGCATGACCATATGGGAGTCACACTGGCAAATTAAGGGCAGATCCGTCTCAATATGTCCCAAGTCAATGACTGGCGCCGACAGTGTCTCACGAAGATACACAGGGTCGAACATAGCAAGAGGTGAGAGGGCGGGGCAGCACTGTTAGGCCGCGCAATCCCGCTCGAGGATCACAGGAAGGGGCCCAACAGTAGTGACAGACAATCGGTTATGTCGGCCCTCCAACTGCGGCCTTACGAAAACTACAACTCCGATGAACGCACGGTCTACGGTCGTGTCTATGTGTATCTAACAGTTGTACATATTTCAGGAGTCAGACGCAGAACAACGGAAAAACAGCGCTCGAGACTTTGCCGCTAAGTAATCGCAGATCTTCAAATCGCTAGTCTGAATACACTAATCCGAAACTCTTGATGCACCTTGTTCTGCGTATCCGCTTTATCT