summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2013-03-09 00:09:38 -0600
committerJesse Luehrs <doy@tozt.net>2013-03-09 00:09:38 -0600
commit00e7efaee4bb250758563289ef509101b43715f1 (patch)
tree0d95ed37e7fa9186be930aa726e32e0c1a133a05
parent8cc12384694f26af5d8cd928c1dc9d552204ac94 (diff)
downloadrosalind-00e7efaee4bb250758563289ef509101b43715f1.tar.gz
rosalind-00e7efaee4bb250758563289ef509101b43715f1.zip
grph
-rw-r--r--GRPH.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/GRPH.rs b/GRPH.rs
new file mode 100644
index 0000000..867aade
--- /dev/null
+++ b/GRPH.rs
@@ -0,0 +1,22 @@
+use str::{len,view};
+
+extern mod rosalind;
+use rosalind::fasta::FASTAReader;
+
+fn main() {
+ let mut dna: ~[(~str, ~str)] = ~[];
+ let 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));
+ }
+}