From 7e229f1728f00bc0603eeaf412f46485fb3c5e02 Mon Sep 17 00:00:00 2001 From: martinahansen Date: Thu, 24 Oct 2013 08:41:23 +0000 Subject: [PATCH] added roche mid module git-svn-id: http://biopieces.googlecode.com/svn/trunk@2245 74ccb610-7750-0410-82ae-013aeee3265d --- code_ruby/lib/maasha/roche/mids.rb | 237 +++++++++++++++++++++++ code_ruby/test/maasha/roche/test_mids.rb | 42 ++++ 2 files changed, 279 insertions(+) create mode 100644 code_ruby/lib/maasha/roche/mids.rb create mode 100755 code_ruby/test/maasha/roche/test_mids.rb diff --git a/code_ruby/lib/maasha/roche/mids.rb b/code_ruby/lib/maasha/roche/mids.rb new file mode 100644 index 0000000..7fac807 --- /dev/null +++ b/code_ruby/lib/maasha/roche/mids.rb @@ -0,0 +1,237 @@ +# Copyright (C) 2013 Martin A. Hansen. + +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +# http://www.gnu.org/copyleft/gpl.html + +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< + +# This software is part of the Biopieces framework (www.biopieces.org). + +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< + +# Module containing Roche's MID tags hashed according to name or barcode. +module Roche + # Hard coded Roche Genome Sequencing MIDs + GSMID_HASH = { + ACGAGTGCGT: "MID1", + TCTCTATGCG: "MID10", + TAGACTGCAC: "MID100", + TAGCGCGCGC: "MID101", + TAGCTCTATC: "MID102", + TATAGACATC: "MID103", + TATGATACGC: "MID104", + TCACTCATAC: "MID105", + TCATCGAGTC: "MID106", + TCGAGCTCTC: "MID107", + TCGCAGACAC: "MID108", + TCTGTCTCGC: "MID109", + TGATACGTCT: "MID11", + TGAGTGACGC: "MID110", + TGATGTGTAC: "MID111", + TGCTATAGAC: "MID112", + TGCTCGCTAC: "MID113", + ACGTGCAGCG: "MID114", + ACTCACAGAG: "MID115", + AGACTCAGCG: "MID116", + AGAGAGTGTG: "MID117", + AGCTATCGCG: "MID118", + AGTCTGACTG: "MID119", + TACTGAGCTA: "MID12", + AGTGAGCTCG: "MID120", + ATAGCTCTCG: "MID121", + ATCACGTGCG: "MID122", + ATCGTAGCAG: "MID123", + ATCGTCTGTG: "MID124", + ATGTACGATG: "MID125", + ATGTGTCTAG: "MID126", + CACACGATAG: "MID127", + CACTCGCACG: "MID128", + CAGACGTCTG: "MID129", + CATAGTAGTG: "MID13", + CAGTACTGCG: "MID130", + CGACAGCGAG: "MID131", + CGATCTGTCG: "MID132", + CGCGTGCTAG: "MID133", + CGCTCGAGTG: "MID134", + CGTGATGACG: "MID135", + CTATGTACAG: "MID136", + CTCGATATAG: "MID137", + CTCGCACGCG: "MID138", + CTGCGTCACG: "MID139", + CGAGAGATAC: "MID14", + CTGTGCGTCG: "MID140", + TAGCATACTG: "MID141", + TATACATGTG: "MID142", + TATCACTCAG: "MID143", + TATCTGATAG: "MID144", + TCGTGACATG: "MID145", + TCTGATCGAG: "MID146", + TGACATCTCG: "MID147", + TGAGCTAGAG: "MID148", + TGATAGAGCG: "MID149", + ATACGACGTA: "MID15", + TGCGTGTGCG: "MID150", + TGCTAGTCAG: "MID151", + TGTATCACAG: "MID152", + TGTGCGCGTG: "MID153", + TCACGTACTA: "MID16", + CGTCTAGTAC: "MID17", + TCTACGTAGC: "MID18", + TGTACTACTC: "MID19", + ACGCTCGACA: "MID2", + ACGACTACAG: "MID20", + CGTAGACTAG: "MID21", + TACGAGTATG: "MID22", + TACTCTCGTG: "MID23", + TAGAGACGAG: "MID24", + TCGTCGCTCG: "MID25", + ACATACGCGT: "MID26", + ACGCGAGTAT: "MID27", + ACTACTATGT: "MID28", + ACTGTACAGT: "MID29", + AGACGCACTC: "MID3", + AGACTATACT: "MID30", + AGCGTCGTCT: "MID31", + AGTACGCTAT: "MID32", + ATAGAGTACT: "MID33", + CACGCTACGT: "MID34", + CAGTAGACGT: "MID35", + CGACGTGACT: "MID36", + TACACACACT: "MID37", + TACACGTGAT: "MID38", + TACAGATCGT: "MID39", + AGCACTGTAG: "MID4", + TACGCTGTCT: "MID40", + TAGTGTAGAT: "MID41", + TCGATCACGT: "MID42", + TCGCACTAGT: "MID43", + TCTAGCGACT: "MID44", + TCTATACTAT: "MID45", + TGACGTATGT: "MID46", + TGTGAGTAGT: "MID47", + ACAGTATATA: "MID48", + ACGCGATCGA: "MID49", + ATCAGACACG: "MID5", + ACTAGCAGTA: "MID50", + AGCTCACGTA: "MID51", + AGTATACATA: "MID52", + AGTCGAGAGA: "MID53", + AGTGCTACGA: "MID54", + CGATCGTATA: "MID55", + CGCAGTACGA: "MID56", + CGCGTATACA: "MID57", + CGTACAGTCA: "MID58", + CGTACTCAGA: "MID59", + ATATCGCGAG: "MID6", + CTACGCTCTA: "MID60", + CTATAGCGTA: "MID61", + TACGTCATCA: "MID62", + TAGTCGCATA: "MID63", + TATATATACA: "MID64", + TATGCTAGTA: "MID65", + TCACGCGAGA: "MID66", + TCGATAGTGA: "MID67", + TCGCTGCGTA: "MID68", + TCTGACGTCA: "MID69", + CGTGTCTCTA: "MID7", + TGAGTCAGTA: "MID70", + TGTAGTGTGA: "MID71", + TGTCACACGA: "MID72", + TGTCGTCGCA: "MID73", + ACACATACGC: "MID74", + ACAGTCGTGC: "MID75", + ACATGACGAC: "MID76", + ACGACAGCTC: "MID77", + ACGTCTCATC: "MID78", + ACTCATCTAC: "MID79", + CTCGCGTGTC: "MID8", + ACTCGCGCAC: "MID80", + AGAGCGTCAC: "MID81", + AGCGACTAGC: "MID82", + AGTAGTGATC: "MID83", + AGTGACACAC: "MID84", + AGTGTATGTC: "MID85", + ATAGATAGAC: "MID86", + ATATAGTCGC: "MID87", + ATCTACTGAC: "MID88", + CACGTAGATC: "MID89", + TAGTATCAGC: "MID9", + CACGTGTCGC: "MID90", + CATACTCTAC: "MID91", + CGACACTATC: "MID92", + CGAGACGCGC: "MID93", + CGTATGCGAC: "MID94", + CGTCGATCTC: "MID95", + CTACGACTGC: "MID96", + CTAGTCACTC: "MID97", + CTCTACGCTC: "MID98", + CTGTACATAC: "MID99" + } + + # Hard coded Roche Rapid Labrary MIDs + RLMID_HASH = { + ACACGACGACT: "RL1", + ACACGTAGTAT: "RL2", + ACACTACTCGT: "RL3", + ACGACACGTAT: "RL4", + ACGAGTAGACT: "RL5", + ACGCGTCTAGT: "RL6", + ACGTACACACT: "RL7", + ACGTACTGTGT: "RL8", + ACGTAGATCGT: "RL9", + ACTACGTCTCT: "RL10", + ACTATACGAGT: "RL11", + ACTCGCGTCGT: "RL12", + AGACTCGACGT: "RL13", + AGTACGAGAGT: "RL14", + AGTACTACTAT: "RL15", + AGTAGACGTCT: "RL16", + AGTCGTACACT: "RL17", + AGTGTAGTAGT: "RL18", + ATAGTATACGT: "RL19", + CAGTACGTACT: "RL20", + CGACGACGCGT: "RL21", + CGACGAGTACT: "RL22", + CGATACTACGT: "RL23", + CGTACGTCGAT: "RL24", + CTACTCGTAGT: "RL25", + GTACAGTACGT: "RL26", + GTCGTACGTAT: "RL27", + GTGTACGACGT: "RL28", + ACACAGTGAGT: "RL29", + ACACTCATACT: "RL30", + ACAGACAGCGT: "RL31", + ACAGACTATAT: "RL32", + ACAGAGACTCT: "RL33", + ACAGCTCGTGT: "RL34", + ACAGTGTCGAT: "RL35", + ACGAGCGCGCT: "RL36", + ACGATGAGTGT: "RL37", + ACGCGAGAGAT: "RL38", + ACGCTCTCTCT: "RL39", + ACGTCGCTGAT: "RL40", + ACGTCTAGCAT: "RL41", + ACTAGTGATAT: "RL42", + ACTCACACTGT: "RL43", + ACTCACTAGCT: "RL44", + ACTCTATATAT: "RL45", + ACTGATCTCGT: "RL46", + ACTGCTGTACT: "RL47", + ACTGTAGCGCT: "RL48", + AGACACTCACT: "RL49", + AGACATATAGT: "RL50" + } +end diff --git a/code_ruby/test/maasha/roche/test_mids.rb b/code_ruby/test/maasha/roche/test_mids.rb new file mode 100755 index 0000000..ad8c722 --- /dev/null +++ b/code_ruby/test/maasha/roche/test_mids.rb @@ -0,0 +1,42 @@ +#!/usr/bin/env ruby +$:.unshift File.join(File.dirname(__FILE__), '..', '..') + +# Copyright (C) 2013 Martin A. Hansen. + +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +# http://www.gnu.org/copyleft/gpl.html + +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< + +# This software is part of the Biopieces framework (www.biopieces.org). + +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< + +require 'test/unit' +require 'test/helper' +require 'maasha/roche' + +class RocheTest < Test::Unit::TestCase + test "Roche::GSMID_HASH returns correctly" do + assert_equal("MID1", Roche::GSMID_HASH[:ACGAGTGCGT]) + assert_equal(nil, Roche::GSMID_HASH[:FOO]) + end + + test "Roche::RLMID_HASH returns correctly" do + assert_equal("RL1", Roche::RLMID_HASH[:ACACGACGACT]) + assert_equal(nil, Roche::RLMID_HASH[:FOO]) + end +end -- 2.39.2