blob: e98e2c831002e46aa381cae3ab29f1e723f86af9 (
plain) (
tree)
|
|
use core::str::{len,view};
extern mod rosalind;
use rosalind::fasta::FASTAReader;
fn main() {
let mut dna: ~[(~str, ~str)] = ~[];
let mut reader = FASTAReader::new();
for reader.each_sequence |cur_name, cur_seq| {
let cur_len = len(cur_seq);
for dna.each |&(prev_name, prev_seq)| {
let prev_len = len(prev_seq);
if view(cur_seq, 0, 3) == view(prev_seq, prev_len - 3, prev_len) {
io::println(fmt!("%s %s", prev_name, cur_name));
}
if view(prev_seq, 0, 3) == view(cur_seq, cur_len - 3, cur_len) {
io::println(fmt!("%s %s", cur_name, prev_name));
}
}
dna.push((cur_name, cur_seq));
}
}
|