blob: a2ee73d5232fe100af7f0d782b77039f219b98b6 (
plain) (
tree)
|
|
use str = core::str;
pure fn gc_content(dna: ~str) -> float {
let mut content = 0;
for str::each_char(dna) |ch| {
match ch {
'C' | 'G' => content += 1,
_ => (),
}
}
(content as float) / (str::len(dna) as float)
}
pure fn complement(base: char) -> char {
match base {
'A' => 'T',
'C' => 'G',
'G' => 'C',
'T' => 'A',
_ => fail ~"Unknown character found",
}
}
pure fn transcribe(base: char) -> char {
match base {
'T' => 'U',
'A' | 'C' | 'G' => base,
_ => fail ~"Unknown character found",
}
}
|