|
Commit message:
planemo upload for repository https://github.com/abims-sbr/tools-abims/tree/master/tools/oligator commit b7e63a01570e9fc381abb01d5b176fcea024e251 |
|
added:
oligator.xml oligator/guimixin.py oligator/launchmodes.py oligator/oligator.py oligator/oligator_cmdLine.py oligator/quitter.py oligator/scrolledtext.py oligator/traitefasta.py oligator/traitefasta.pyc test-data/allseqfasta.fas test-data/oligator_anti-sens.csv test-data/oligator_results.csv test-data/oligator_sens.csv |
| b |
| diff -r 000000000000 -r a811f7256f6e oligator.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/oligator.xml Fri Apr 27 08:42:52 2018 -0400 |
| [ |
| @@ -0,0 +1,40 @@ +<tool id="oligator" name="Oligator" version="1.2.0" > + + <description>Oligator: design PCR primers</description> + + <requirements> + <requirement type="package" version="2.7">python</requirement> + <requirement type="package" version="1.4.0">argparse</requirement> + </requirements> + + <command><![CDATA[ + python $__tool_directory__/oligator/oligator_cmdLine.py --input $input --tm $tm + ]]></command> + <inputs> + <param argument="--input" type="data" format="fasta" label="DNA sequence - fasta format" /> + <param argument="--tm" type="integer" value="70" label="Tm temperature" /> + </inputs> + <outputs> + <data name="oligator_results" format="tabular" from_work_dir="oligator_results.csv" label="Oligator_global" /> + <data name="oligator_sens" format="tabular" from_work_dir="oligator_sens.csv" label="Oligator_sens" /> + <data name="oligator_anti_sens" format="tabular" from_work_dir="oligator_anti-sens.csv" label="Oligator_anti-sens" /> + </outputs> + <tests> + <test> + <param name="input" value="allseqfasta.fas" ftype="fasta" /> + <param name="tm" value="70" /> + <output name="oligator_results" value="oligator_results.csv" /> + <output name="oligator_sens" value="oligator_sens.csv" /> + <output name="oligator_anti_sens" value="oligator_anti-sens.csv" /> + </test> + </tests> + <help><![CDATA[ +.. class:: infomark + +**Authors** +Oligator was written by Frederic Lechauve frederic_lechauve@yahoo.fr +and integrated in Galaxy by ABiMS - Station Biologique de Roscoff - Sorbonne Université / CNRS + + ]]></help> + <citations/> +</tool> |
| b |
| diff -r 000000000000 -r a811f7256f6e oligator/guimixin.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/oligator/guimixin.py Fri Apr 27 08:42:52 2018 -0400 |
| b |
| @@ -0,0 +1,74 @@ +#!/usr/bin/env python +######################################################## +# a "mixin" class for other frames: common methods for +# canned-dialogs, spawning programs, etc; must be mixed +# with a class derived from Frame for its quit method +######################################################## + +from ScrolledText import ScrolledText +from Tkinter import Button, Frame, Toplevel, X + +from launchmodes import PortableLauncher, System + +from tkFileDialog import askopenfilename, asksaveasfilename + +from tkMessageBox import askyesno, showerror, showinfo + + +class GuiMixin: + def infobox(self, title, text, *args): # use standard dialogs + return showinfo(title, text) # *args for bkwd compat + + def errorbox(self, text): + showerror('Error!', text) + + def question(self, title, text, *args): + return askyesno(title, text) + + def notdone(self): + showerror('Not implemented', 'Option not available') + + def quit(self): + ans = self.question('Verify quit', 'Are you sure you want to quit?') + if ans == 1: + Frame.quit(self) # quit not recursive! + + def help(self): + self.infobox('RTFM', 'See figure 1...') # override this better + + def selectOpenFile(self, file="", dir="."): # use standard dialogs + return askopenfilename(initialdir=dir, initialfile=file) + + def selectSaveFile(self, file="", dir="."): + return asksaveasfilename(initialfile=file, initialdir=dir) + + def clone(self): + new = Toplevel() # make a new version of me + myclass = self.__class__ # instance's (lowest) class object + myclass(new) # attach/run instance to new window + + def spawn(self, pycmdline, wait=0): + if not wait: + PortableLauncher(pycmdline, pycmdline)() # run Python progam + else: + System(pycmdline, pycmdline)() # wait for it to exit + + def browser(self, filename): + new = Toplevel() # make new window + text = ScrolledText(new, height=30, width=90) # Text with scrollbar + text.config(font=('courier', 10, 'normal')) # use fixed-width font + text.pack() + new.title("Text Viewer") # set window mgr attrs + new.iconname("browser") + text.insert('0.0', open(filename, 'r').read()) # insert file's text + + +if __name__ == '__main__': + class TestMixin(GuiMixin, Frame): # stand-alone test + def __init__(self, parent=None): + Frame.__init__(self, parent) + self.pack() + Button(self, text='quit', command=self.quit).pack(fill=X) + Button(self, text='help', command=self.help).pack(fill=X) + Button(self, text='clone', command=self.clone).pack(fill=X) + TestMixin().mainloop() |
| b |
| diff -r 000000000000 -r a811f7256f6e oligator/launchmodes.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/oligator/launchmodes.py Fri Apr 27 08:42:52 2018 -0400 |
| [ |
| @@ -0,0 +1,93 @@ +#!/usr/bin/env python +# +# launchmodes.py +# +# $Log: launchmodes.py,v $ +# Revision 1.1.2.1 2003/04/16 18:19:43 nadya +# Multiple changes to incorporate Postgres as an alternative to MySQL +# +# + +############################################################### +# launch Python programs with reusable launcher scheme classes; +# assumes 'python' is on your system path (but see Launcher.py) +############################################################### + +import os +import string +# import sys + +pycmd = 'python' # assume it is on your system path + + +class LaunchMode: + def __init__(self, label, command): + self.what = label + self.where = command + + def __call__(self): # on call, ex: button press callback + self.announce(self.what) + self.run(self.where) # subclasses must define run() + + def announce(self, text): # subclasses may redefine announce() + print(text) # methods instead of if/elif logic + + def run(self, cmdline): + assert 0, 'run must be defined' + + +class System(LaunchMode): # run shell commands + def run(self, cmdline): # caveat: blocks caller + os.system('%s %s' % (pycmd, cmdline)) # unless '&' added on Linux + + +class Popen(LaunchMode): # caveat: blocks caller + def run(self, cmdline): # since pipe closed too soon + os.popen(pycmd + ' ' + cmdline) # 1.5.2 fails in Windows GUI + + +class Fork(LaunchMode): + def run(self, cmdline): + assert hasattr(os, 'fork') # for linux/unix today + cmdline = string.split(cmdline) # convert string to list + if os.fork() == 0: # start new child process + os.execvp(pycmd, [pycmd] + cmdline) # run new program in child + + +class Top_level(LaunchMode): + def run(self, cmdline): # new window, same process + # tbd: need GUI class info + assert 0, 'Sorry - mode not yet implemented' + + +# if sys.platform[:3] == 'win': +# PortableLauncher = Spawn # pick best launcher for platform +# else: # need to tweak this code elsewhere +PortableLauncher = Fork + + +class QuietPortableLauncher(PortableLauncher): + def announce(self, text): + pass + + +def selftest(): + myfile = 'launchmodes.py' + program = 'textEditor.py ' + myfile # assume in cwd + input('default mode...') # raw_input in python 2 + launcher = PortableLauncher('PyEdit', program) + launcher() # no block + + input('system mode...') + System('PyEdit', program)() # blocks + + input('popen mode...') + Popen('PyEdit', program)() # blocks + +# if sys.platform[:3] == 'win': +# raw_input('DOS start mode...') # no block +# Start('PyEdit', program)() + + +if __name__ == '__main__': + selftest() |
| b |
| diff -r 000000000000 -r a811f7256f6e oligator/oligator.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/oligator/oligator.py Fri Apr 27 08:42:52 2018 -0400 |
| b |
| @@ -0,0 +1,81 @@ +#!/usr/bin/env python + +from Tkinter import Button, Entry, Label, Tk + +# from guimixin import * + +from quitter import Quitter + +from tkFileDialog import askopenfilename + +from tkMessageBox import showerror, showinfo + +from traitefasta import traitefasta +# import math # module de mathematique +# import string # module d'utilitaire standard + + +class Application: + + def __init__(self): + + self.root = Tk() # cree la fenetre + self.root.title('OLIGATOR') + + # cree le texte + Label(self.root, text='Fichier a traiter:').grid(row=0) + self.entree1 = Entry(self.root, width=10) + self.entree1.grid(row=0, column=1) + test = self.entree1 + Button( + self.root, text='Browse...', + command=( + lambda x=test: x.insert(0, askopenfilename()))).grid( + row=0, column=2) + + Label(self.root, text='Tm (temperature de fusion) :').grid(row=1) + self.entree2 = Entry(self.root, width=10) + self.entree2.grid(row=1, column=1) + + Label(self.root, text='Nom des fichiers de sortie:').grid(row=2) + self.entree3 = Entry(self.root, width=10) + self.entree3.grid(row=2, column=1) + + Button( + self.root, text='Run', + command=self.runOligator).grid(row=3, column=1) + Quitter(self.root).grid(row=3, column=4) + Button( + self.root, text='Help', + command=self.runHelp).grid(row=3, column=5) + + self.root.mainloop() + + def runOligator(self): + self.n = self.entree1.get() + self.tm = self.entree2.get() + self.nom_sortie = self.entree3.get() + + self.message_creation = 'vous venez de creer 3 fichiers de resultats:' + self.message_creation += '\n-'+self.nom_sortie+'\n-'+self.nom_sortie + self.message_creation += '_sens.csv\n-' + self.message_creation += self.nom_sortie+'_anti-sens.csv' + + if self.n != "" and self.tm != "" and self.nom_sortie != "": + try: + traitefasta(self.n, self.tm, self.nom_sortie) + showinfo('resultat', self.message_creation) + except ImportError: + showerror('Error!', "Votre fichier n'est pas au format fasta") + + if self.n == "" or self.nom_sortie == "" or self.tm == "": + showerror('Error!', "Vous n'avez pas remplis tous les champs") + + def runHelp(self): + showinfo( + 'Help', 'Oligator version 1.1 edition du 29 octobre 2004.\n\n \ + Ce logiciel a ete realise par Frederic Lechauve \ + frederic_lechauve@yahoo.fr en python 2.3') + + +f = Application() |
| b |
| diff -r 000000000000 -r a811f7256f6e oligator/oligator_cmdLine.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/oligator/oligator_cmdLine.py Fri Apr 27 08:42:52 2018 -0400 |
| b |
| @@ -0,0 +1,39 @@ +#!/usr/bin/env python +# -*- coding:utf-8 -*- +# Author : LECHAUVE Frederic - frederic_lechauve@yahoo.fr +# Command line version (03/09/2013) : CORMIER Alexandre - +# acormier@sb-roscoff.fr +# Command line version (26/04/2018) : LE CORGUILLE Gildas - +# lecorguille@sb-roscoff.fr + +# ##################################import des librairies###################### + +import argparse # module pour parser les arguments + +import traitefasta + +# #################################creation du module pour les options######### + +parser = argparse.ArgumentParser( + description="Oligator : design PCR primers\n") +parser.add_argument( + "-i", "--input", action="store", dest="file", type=open, + required=True, help="input file : fasta format") +parser.add_argument( + "-t", "--tm", action="store", type=int, dest="Tm", + required=True, help="Tm value") +parser.add_argument( + "-o", "--output", action="store", dest="output", + type=argparse.FileType('w'), help="output filename") +parser.add_argument( + '--version', action='version', version='%(prog)s v1.2') + +options = parser.parse_args() + +fileIn = options.file.name +Tm = options.Tm +Out = 'oligator' # nom par defaut (utile pour Galaxy) +if options.output is not None: + Out = options.output.name + +traitefasta.traitefasta(fileIn, Tm, Out) |
| b |
| diff -r 000000000000 -r a811f7256f6e oligator/quitter.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/oligator/quitter.py Fri Apr 27 08:42:52 2018 -0400 |
| b |
| @@ -0,0 +1,24 @@ +#!/usr/bin/env python + +from Tkinter import BOTH, Button, Frame, LEFT, YES # get widget classes + +from tkMessageBox import askokcancel # get canned std dialog + + +class Quitter(Frame): # subclass our GUI + def __init__(self, parent=None): # constructor method + Frame.__init__(self, parent) + self.pack() + widget = Button(self, text='Quit', command=self.quit) + widget.pack(expand=YES, fill=BOTH, side=LEFT) + + def quit(self): + ans = askokcancel( + 'Verifier exit', "Voulez vous quitter l'application?") + if ans: + Frame.quit(self) + + +if __name__ == '__main__': + Quitter().mainloop() +# def ende(): Quitter().mainloop() |
| b |
| diff -r 000000000000 -r a811f7256f6e oligator/scrolledtext.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/oligator/scrolledtext.py Fri Apr 27 08:42:52 2018 -0400 |
| [ |
| @@ -0,0 +1,51 @@ +#!/usr/bin/env python + +import sys +from Tkinter import BOTH, END, Frame, INSERT, LEFT, RIGHT +from Tkinter import SUNKEN, Scrollbar, Text, Tk, YES + +print('PP2E scrolledtext') + + +class ScrolledText(Frame): + + def __init__(self, parent=None, text='', file=None): + Frame.__init__(self, parent) + self.pack(expand=YES, fill=BOTH) + self.makewidgets() + self.settext(text, file) + + def makewidgets(self): + sbar = Scrollbar(self) + text = Text(self, relief=SUNKEN) + sbar.config(command=text.yview) + text.config(yscrollcommand=sbar.set) + sbar.pack(side=RIGHT, fill=YES) + text.pack(side=LEFT, expand=YES, fill=BOTH) + self.text = text + + def settext(self, text='', file=None): + if file: + text = open(file, 'r').read() + self.text.delete('1.0', END) + self.text.insert('1.0', text) + self.text.mark_set(INSERT, '1.0') + self.text.focus() + + def gettext(self): + return self.text.get('1.0', END+'-1c') + + +if __name__ == '__main__': + root = Tk() + + try: + st = ScrolledText(file=sys.argv[1]) + except IndexError: + st = ScrolledText(text='Words\ngo here') + + def show(event): + print(repr(st.gettext())) + + root.bind('<Key-Escape>', show) + root.mainloop() |
| b |
| diff -r 000000000000 -r a811f7256f6e oligator/traitefasta.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/oligator/traitefasta.py Fri Apr 27 08:42:52 2018 -0400 |
| [ |
| @@ -0,0 +1,133 @@ +#!/usr/bin/env python + + +# ##################################import des librairies##################### + +# import math # module de mathematique +import string # module d'utilitaire standard + +# #################################Fonction################################### + + +def traitefasta(n, tm, nom_sortie): + + n = open(n, 'r') # ouverture dufichier + dico = {} # declaration du dictionnaire + liste_id = [] + + for ligne in n.readlines(): # lit toute les lignes du fichier + + if ligne[0] == '>': # matche les lignes debutant par > + # une variable recoit la ligne contenant le nom de la seq + # sans le superieur et sans le retour chariot + n = ligne[1:-1] + liste_id.append(n) + t = '' # la variable t est initialisee + else: + t = t + ligne[:-1] # t recoit la sequence sans le retour chariot + + t = string.upper(t) # on passe la sequence en majuscule + # on cree un dictionnaire ayant pour cle le nom de la seq + # et pour valeur la sequence + dico[n] = t + + # #######################traitement du dictionnaire####################### + sortie = open(nom_sortie+'_results.csv', 'w') + sortie_csv = nom_sortie+'_sens.csv' + sortie_anticsv = nom_sortie+'_anti-sens.csv' + sortie1 = open(sortie_csv, 'w') + sortie2 = open(sortie_anticsv, 'w') + temp = int(tm) + + for x in liste_id: # balaie tous les cles du fichier + + i = 0 # initialisation du compteur de lettre + j = 0 # initialisation du Tm + # la variable seq recoit la sequence correspondante a la cle + seq = dico[x] + oligo = '' # initialisation de l'oligo + # tant que le tm est inferieur a 70 la boucle continue + while j < temp: + if seq[i] == 'A': # test le nucleotide de rang i + j = j+2 + elif seq[i] == 'T': + j = j+2 + elif seq[i] == 'G': + j = j+4 + elif seq[i] == 'C': + j = j+4 + # on concatene les resultats pour creer l'oligo sens + oligo = oligo+seq[i] + i = i+1 # on incremente + + taille = len(oligo) + taille = str(taille) + j = str(j) # transforme le chiffre en chaine de caractere + sortie.write(x) # on ecrit les resultats dans le fichier de resultat + sortie.write('\n') + sortie.write(oligo) + sortie.write('\n') + sortie.write('Tm = ') + sortie.write(j) + sortie.write('\n') + sortie.write('The oligo length is ') + sortie.write(taille) + sortie.write(' nucleotide(s)\n\n') + + sortie1.write(x) + sortie1.write(';') + sortie1.write(oligo) + sortie1.write(';') + sortie1.write(taille) + sortie1.write('\n') + + for x in dico.keys(): # balaie tous les cles du fichier + # initialisation du compteur de lettre a -1 + # pour creer l'oligoantisens pour parcourir le mot a l'envers + i = -1 + j = 0 # initialisation du Tm + # la variable seq recoit la sequence correspondante a la cle + seq = dico[x] + oligo = '' # initialisation de l'oligo + inv = '' + # tant que le Tm est inferieur a 70 la boucle continue + while j < temp: + if seq[i] == 'A': # test le nucleotide de rang i + j = j+2 + inv = 'T' + elif seq[i] == 'T': + j = j+2 + inv = 'A' + elif seq[i] == 'G': + j = j+4 + inv = 'C' + elif seq[i] == 'C': + j = j+4 + inv = 'G' + oligo = oligo+inv + i = i-1 # on decremente + + taille = len(oligo) + taille = str(taille) + j = str(j) # transforme le chiffre en chaine de caractere + sortie.write(x) + sortie.write('_antisens\n') + sortie.write(oligo) + sortie.write('\n') + sortie.write('Tm = ') + sortie.write(j) + sortie.write('\n') + sortie.write('The oligo length is ') + sortie.write(taille) + sortie.write(' nucleotide(s)\n\n') + + sortie2.write(x) + sortie2.write(';') + sortie2.write(oligo) + sortie2.write(';') + sortie2.write(taille) + sortie2.write('\n') + + sortie.close() + sortie1.close() + sortie2.close() |
| b |
| diff -r 000000000000 -r a811f7256f6e oligator/traitefasta.pyc |
| b |
| Binary file oligator/traitefasta.pyc has changed |
| b |
| diff -r 000000000000 -r a811f7256f6e test-data/allseqfasta.fas --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/allseqfasta.fas Fri Apr 27 08:42:52 2018 -0400 |
| b |
| b'@@ -0,0 +1,1302 @@\n+>zga_344_GH3\r\n+CAAGATAAAGCACGACCTTCCGACAAGAAGATAGAAAAGCTCATTTCTAAAATGAGCCTA\r\n+GAGGAAAAAGTGCATCAATTGGCCACGCAATACCCCAATGCCAACATGCGATTGGGTATA\r\n+CCGAACCTGAGTGCCAACGAATGCCTGCACGGAATAAAAATGGATAGCGCAACGGTATTT\r\n+CCACAAGCCATAGCCATGGCAAGTACATGGGATACTGAACTGATCGAAAGAATGGGACAT\r\n+ACGGTGGCCAAGGAGTCAAGGGCCTTCGGCATCCATCAATGTTACACCCCTATGCTGGCC\r\n+GTGGTACGCGATGTACGTTGGGGGCGAACCGAAGAAAGCTATGGCGAAGACCCGTATTTG\r\n+GTGGGTAAAATCGGTTCATCGTACATCAGGGGATTGCAGGGCATGGGAGCGGAACGCTTT\r\n+GATGAAAACCATATAATGGCTACGGCCAAGCACTTTGTGGCCGATGGGGAACCTATGGCC\r\n+GGCGACAATGGTGCGGCGCACGATATATCGGAATACACGCTTCAAAATGTGCATTTATAT\r\n+CCATTTCGGATGGCCATTGAGGAAGCCGAGGTAGGCGCGATAATGCCGGCCCATCACCTT\r\n+TTGAACGGTATACCTTGCCATGCGAACAAACACGTAATGCAGACCGTACTTCGCGATGAA\r\n+TGGGGATGGGACGGGCTTGTGGTCTCTGACAATGGGGATATGCGCTCCTTAAAACGGGTT\r\n+TTTAATTATGTTCCCGATTACGAACATGCGGCCAAAAAAGGTTTGGAGGCTGGAATTCAT\r\n+CAAGAACTGGCCCTTTTTCAAGGCTGGAGCGACCATCGTATGTTTGGCGATTACCTGATA\r\n+TCGGCAGTAAATAAAAAGATAGTGCCCGTCGCTCTTGTAGACGATGCGGTAAAACATGTA\r\n+TTACAGGCTAAATTCGATCTAGGTCTTTTTGATACCGATATCAAAAACGACGAGCGTTTC\r\n+GATGTCCTTAAAAACCCCGATAACGGTGAGCCGGACAAGGTTAGCCAGCACGATGCCGAA\r\n+ATGTTTAAAAAGGCCCTCTATGTAGGGATTCCTAAAAAGGATTGGAAGAAAACCGTTTTT\r\n+GACCAAAGTCATAATGACCTGGCCCTTGAAGTGGCACAGAAGTCCATTGTACTCTTAAAA\r\n+AATGAAGGGGATCTTCTTCCGCTCAAAAAGGAAAAGTATAAAAAGATAAGTGTTGTAGGG\r\n+CCCAATGGAAAGGCCATGCGCTTGGGAGGCTATTCTCCCGACAATCCTAAATACTACATC\r\n+AACATAGTAGAGGGAATACAAAACTACCTCGGTAGTGATAGGGAGGTCGCCTTTGAAGAG\r\n+GGCTGCGATTTTACCGACTCTACGGCAAATATTCCGAAAGCGGTGGCATTGGCCGAATCT\r\n+TCCGACATCACCATCGTTGCTATCGGCGGATCGGAAGAAACCTGCCGAGAGAATGAAGAT\r\n+CGTGATGACCTAAGCCTTCCCGGGCCACAACAAAAATTGGTAGAGGCCATTCACGCCACG\r\n+GGCAAACCTTATGTAGTGGTACTGCTCAATGGTAGGCCTCTTTCCATTGAATGGATTGCC\r\n+GAGAATTCTCAGGCCATTGTAGAAGGGTGGTATCTAGGGCAGGAAACAGGAAAAGCGATC\r\n+GCCAATATATTGTTCGGAAAGGTAAACCCAAGTGGTAAACTACCAATAACCTTTCCTAGA\r\n+AACGTAGGTCAGGTGCCCTTGTTTTACAATAAGCTGGAAACCGGACGCCCTAGACAGATA\r\n+TATAACTCCGATCCCGAACCCTTGTTTCCGTTCGGTTACGGGTTGAGCTATACTTCCTTT\r\n+GAACTAGGTGAGCCCCGACTTTCAAATGAAACCATAGCCGCAAATGAACTGACAACGGTA\r\n+AATATTCCTATAACCAAT\r\n+\r\n+>zga_344_Fn3\r\n+GAAACGGTGGTCCAACTGTATGTGCACGATGTTCTTTCCGAAAGGGTGCGCCCCCAAAAG\r\n+GAACTGCGCAATTTTAAAAGAGTGGCCCTAAAACCGGGTGAGACAAAACAAATAAGTATC\r\n+AAAATCGGTGCTCAGCAATTGGAGTATTGGAACGATGGTAAGTGGACGATAGAACCGGGA\r\n+CAATTTGATATCATGGTCGGATTGGACTCCAAACACCTCAAAAAAGTAGCCTTAACTGTC\r\n+AAAAAT\r\n+\r\n+>zga_347_GH3\r\n+CAAAGCAAGCAAAAGATATATCACAAAAACTGGGTCGATTTTAATAAGAACGGCAAAAAG\r\n+GATGTTTATGAAGATCCCACACGGCCAGTAGACCTTCGTATTGAAGACTTGCTCTCACAA\r\n+ATGACCTTAGAGGAAAAAAGTTGCCAAATGGCCACCCTCTATGGCTTTGGTAGGGTATTG\r\n+AAAGATGAATTGCCGACCCCCGATTGGAAAAATCAGATATGGAAAGACGGTATCGGCAAT\r\n+ATAGACGAGCAACTCAATAATCTAGCTTACCACCCTTCGGCCGTGACCGATAAGGCTTGG\r\n+CCTCCCTCGAATCATATCAAAGCCTTGAACACCATTCAGGAATTCTTTGTAGAAGACACC\r\n+CGTTTGGGTATTCCGGTTGATTTCACCAATGAAGGCATACGGGGGCTGTGCCATGAAAAG\r\n+GCCACTAGTTTTCCCTCACAACTCGGGGTAGGGGCTACATGGAACAAAAATTTGGTCGGT\r\n+AAAATAGGACATATTACCGGAAAAGAAGCCCGGCTATTGGGCTATACCAATGTGTATTCT\r\n+CCCATACTCGATATTGCGCGCGACCCACGCTGGGGCAGGGTCGTGGAGTGCTACGGGGAA\r\n+GACCCCTACCTGGTAGGCGAACTCGGTTATCAAATGGTAAAGGGAATACAGCAAGAGAAA\r\n+GTGGTTTCCACTCCCAAACACTTTGCCATATACAGTGCACCAAAAGGAGGTCGTGACGGC\r\n+GATGCCCGAACCGATGCCCATATTACCGAGCGCGAATTATTTTCTCTTTATTTACATCCC\r\n+TTTAAACGTGCTATCAAAGATGCCGGCGCCATGGGGGTGATGAGTTCTTATAACGATTAC\r\n+AATGGGGTGCCGGTGAGCTCCTCCAAATATTTTTTGAACGATATTCTACGTGAAGATTGG\r\n+GGCTTTAAAGGCTATGTGGTATCCGATAGCCGTGCGGTCGAATTTATTGCCGATAAACAC\r\n+CATGTGGCCAAAGACCGCAAGGATGCGGTTCGACAGGCTGTTCTCGCAGGTTTGAATGTA\r\n+AGAACCGATTTTACCATGCCCGAAGACTTTATTCTTCCGGTTCGGGAGTTGGTCAAGGAA\r\n+GGAGGGCTTGACATGGCCACCATTGACGACCGCGTACGCGATATTCTAAGGGTGAAATTC\r\n+TGGCAAGGACTTTTTGATGCTCCTTATGGGAAGCAAATGAAAGAGGCGGATAAGACCGTC\r\n+GGGAAGCCTGAGTACCAAGAAGTGGCATACCAAGCTTCCTTGGAAAGCATTGTCTTGCTC\r\n+AAAAACGAAGAAAACATTCTCCCTCTCGACTTTTCAAAATATAAATCGGTGTTGGTTACG\r\n+GGCCCCAATGCCAAGGCCATCAATCACTCGGTAAGTAGATACGGTCCATCTCACATTGAT\r\n+GTGGTTTCGGTTTTTGACGGAATAAAGGAAAAATTCCCTAAAGACGTAGAGATAAAGTAC\r\n+ACCAAGGGCTGTGTTTTTTTTGATGAAAATTGGCCCGATAGCGAATTGATGAACACCCCG\r\n+CCAACGGAAGCGGAACAAAGTGAAATCGACAAGGCTGTGGCGATGGCGAAAACGGTAGGC\r\n+TTGGCCATAGTGGTTTTGGGCGATGACGAAGAAACCGTAGGGGAATCGCGATCTA'..b'TG\r\n+CGTCGAGGCAGCGACCGCGTTCAAGCTCAACTGCGCCGCGATGGCAATGCTTGGGGAATT\r\n+CCAATCACGCTGACCAAAGCGGTCACGTTGCAAGAAGGCAGCGGCAACTTGTCCGTGACT\r\n+TACTTGCTGGAGAACCTGCCACCGGCCAGCCCTCTGCACTTCGCCGTGGAGTGGAACTTT\r\n+GCTGGTCTGCCGTCCGGAGCTGACGACCGTTATTTCAGCGACGTCGACGGCAACCAACTC\r\n+GGGCAACTCGGCGAACGTTTGGACCTCACCGATGTTCGCGGCTTGTCGCTCTCGGATCGT\r\n+TGGTTGGGCGTCGACATCGACTTGCGAACCAATCGCGACAGTGGCGTTTGGGCATTCCCA\r\n+GTCGAAACGGTCAGTCAAAGCGAAGCTGGGTTTGAACTCGTGCATCAATCGGTGTGCGTG\r\n+ATGCCTCACTGGATCATCACTGCGGATGCCGAAGGACGCTGGGCGGTCACGATCGACATC\r\n+GCGACTCGCTGCGAAAATTCGGTCGAACTTCAATCCCACGATCATGTGAACGCG\r\n+\r\n+>zga_4659\r\n+TCAGGAATTAAAGAATACCAACTATTTATCGACGGAAAATGGGTTACCTCAACCTCAGGT\r\n+GAGACCATAGATATTATAAACCCATCTACCGAAGAGGTCGTTGCAAGGGTTCAGAACGGT\r\n+ACGGTCGAAGAGGCCCATCTAGCGCTACAGGCGGCCGAAAAGGCCCAAAAGGAATGGAAG\r\n+AAATTACCGGCCCGTTCGCGTGCCGAGCTCCTGTATAAGTTGGCCGATGAGATTAAGGCG\r\n+AATTCCGATTTCTTGGCCGAGCTCTTGGTCAAGGAACAGGGGAAACTGCTAAAAGTAGCT\r\n+AAGGGGGAAGTGGCTGTTACCGCTTCTTTTATTGAATATGCTTGTGAAGGGGCTAGAAGA\r\n+ATCGAGGGGGATATTGTGCCTTCCGACAACCCTAACGAGCAAATTTGGATCCAGAAAATA\r\n+CCTCGCGGCGTAGTGGTTGCCATTACCGCTTGGAATTTCCCATTGGCCTTGGCCGGTCGT\r\n+AAATTAGGTCCAGCCTTGGTTGCCGGAAATACTATCGTTATAAAACCGACTTCCGAAACG\r\n+CCTTTGGCTACTTTGGAATTGGGTAATCTTGCGAAAAAAGTGGGTATTCCAGATGGGGTC\r\n+ATCAATATATTGACCGGTCCGGGTAGGGCCATGGGTAATGCCCTTGTTGAAAGTCCTATT\r\n+ACTAAAATGGTGACAATGACCGGTTCTACGCCCGTGGGTCAGTCTATTGCCAGGGCCGCG\r\n+GCACAAAACCTTACGCACGTTCAGTTGGAACTTGGAGGGAAAGCTCCTTTTATTGTTTTT\r\n+GAAGACGCCGATATCGATGCCGCTGTAGACGCTGCCCTACACTCGCGTTTTGATAACTGT\r\n+GGACAGGTGTGTACCTGTAATGAAAGAATGTACGTTCATGAGGGCATTTACGATGCCTTT\r\n+ATGGAAAAATTTATCGCCAAGACAAAGGCTATTAAGGTAGGTGACCCTATGTTGGAGGAT\r\n+ACCGATATGGGACCTAAAGTAAATGCTTCCGAATTAAAGCATATGGAGCATTTGGTTGCC\r\n+GTGAGCCTAGAAGAAGGTGCGACTTTGGCTACAGGGGGTAAAAAACTTGAAGGTGGTGCT\r\n+TTTGAAAAAGGATTTTGGTTTGAGCCTACGGTTTTGACCAATGTAACCCAAAATATGACC\r\n+ATTGTTCATGAAGAATCTTTTGGGCCAATTCTTCCCGTCTTGAAATTCAAGACTTTTGAA\r\n+GAAGTGGTCGGTTATGCCAATGACTGTGAATACGGACTTGCGGCCATGGTCTTTACCAAT\r\n+GATATGAATACCATCATGAAGTGTAATGATGAGTTGGAATACGGTGAAATCTACGTAAAC\r\n+CGTGGTCATGGTGAACAACACCAAGGCTTCCATAACGGATATAAGCTAAGTGGCTCGGGA\r\n+GGTGAAGATGGGAAGTACGGCTTTGAGCAGTACATGGAGAAAAAGACGTTTTATATTAGA\r\n+CACAAGGCA\r\n+\r\n+>RB10507\r\n+GCAGAAGAGACGACGATCGTGTCTCCCTCGGGAGATCAGTCGATCCGGTTTTCGCTTCAT\r\n+GATGGGGTGCCGCACTACAGTGTCTCCTTTCGGGACGTCACCATTCTTGACAATTCCAAG\r\n+CTTTCGCTGGTTCTCGATGGGAGCGGACTCGAGGAACAGTTCGTTGTCGAGAGCAAGCAG\r\n+ACCGAATCTGTAAACGGAAGTTGGGTTCCTGTGGTCGGTTCCAGAGCTTCCTACCCTGAT\r\n+TCTTACAATGCGTGTGTCATTCAACTTCGTGGGGCAACTCAGAAGGCACAACGGCTTGAA\r\n+CTGGCATTCCGGGCATACGACGAAGGGGTCGCGTTCCGCTACACGATTCCTCCGCAAGAA\r\n+GGGATCGATGAGTTAAAGCTGAAATCGGAAGCGACTCACTTTCAGTTCACGGACGATCAC\r\n+TTTGTTTACTGGGACGATTATCCGCAAGCACGGTATTCCAAGCTGCGACTTTCTGAGATG\r\n+CCGGAACGCTCGATTCGCCCGCTGCTCGTCGAAGCAGGATCGCATTTTGTGGCAATCGCC\r\n+GAAGCAGGAAGCCTCGGGCATTACGCCCCCATGATGTTGAATCGATCCGGTAAGAATCAA\r\n+CTGGTCACGCGGTTTCGAAGTGGGACCGTGTCGGCAAGCAAGTCACTGACGACTCCTTGG\r\n+CGAGTGATCATGGTGGCGGAACAACCTGGGACGTTGGTTGAAAATCATTACCTGCTTCAG\r\n+AATCTTTCGCCGCCGTCCAAGTTGAGTGACACATCATGGATCAAACCGGGAAAGGTCTGG\r\n+CGAAGTAGTCTGACGACGGAGGGTGCAAAAGCGATTGTCGACTACGCTGCCGCGAACAAT\r\n+TACCAATACGTGCACTATGACGCTGGTTGGTATGGCCCTGAACGCGACGCGAATTCGGAC\r\n+CCACTGACGGTCATCGATCCGATCGACATGCAGGAAACGATTCGCTATGCGGACCAACAC\r\n+GGTATCGGGTTGATCTGCTACATCAACAAAATTGCCATGTCAGGGTACGACCTCGACAAA\r\n+ACATTTCGGACGTTTCAAAAATGGGGCATTCGCGGGGTCAAGATGGGGTTTGTTGACTGG\r\n+AAGAGCCAGTCTGACATGGAGTTCTTGTACGCTGCGATCGAGAAAGCTGCGGAATACGAA\r\n+TTGATCGTTGATATCCATGACAACTTTCGGTTGACCGGGATCGAACGCACGTACCCTCAT\r\n+CTTCTGACGGTCGAAGGAATTCTTGGGAATGAGGAGCGTCCGGACAACGGGAATCCGCCG\r\n+AAGAATGTTCTGACCACATCGTTTGCTCGCATGATCGCAGGGGCTGGCGACTACACACCG\r\n+TGCTATCTGAATGGTCGAGTTGTCAGTCGTTCATTCCAGCTTGCTTTGGGAGTCGTGTTC\r\n+TACAGTCCGCTGCAATATCTGCATTGGTACGACCAAGCTCATCAGTATCCTGAGAACCGC\r\n+TATCCTGAACTTGAATTTTGGAAGGAGATGCCGACGACTTGGGATGACTCGAAGGTCGTT\r\n+CATGGATCCATCGGGAGCTACATGACGGTCGCCAGGCGGAAAGGTGATCGGTGGTTCGTT\r\n+GGAACGATTGTCAACGAAGCCCGAAGCCTGGACATCGCGCTCAATTTCTTGGGCCCAGGA\r\n+GAGTTCGACGCCAAGATCTACGCGGAAGATCCAGACGACAAAAAGCAGGTGGTCATCCAG\r\n+TCATGCCAGGTCACCTCAGACAGCAAATTGACCGCGACCATGAGCTCTGGAAGCGGATGC\r\n+GCGATCATGATTTCGCCGATGCTGAACGAG\r\n+\r\n+\r\n+\r\n+\r\n+\r\n+\r\n+\r\n' |
| b |
| diff -r 000000000000 -r a811f7256f6e test-data/oligator_anti-sens.csv --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/oligator_anti-sens.csv Fri Apr 27 08:42:52 2018 -0400 |
| b |
| @@ -0,0 +1,48 @@ +zga_314;TTTGGCGTCAGTCTTGTAGGTAATA;25 +zga_42;TTCTTTGTGTTCTAAAAGTGCGATGT;26 +zga_316;TTGCCCACTTCCTTCTAGCACAAG;24 +RB2638;GGATTCCAAACGCAGGATCGTCG;23 +zga_4661;TCTTCCCATCCAGCCACCGTCT;22 +RB5196;GACGCGGTGCAGCCACATGAAT;22 +zga_4662;TTGTTGACAATCCATAAGTACTTTCAT;27 +zga_3720_GH3;GGATGGCAAATGAAAGTCAATTCTTT;26 +zga_518_GH13;TTGAAAAATAACAATCCCCAATGGCG;26 +zga_355;TAATGCCCTAATATGGACCGCCAA;24 +RB5200_GH13;CGCGGTTGGCTCGTCATGTTCG;22 +zga_4668;CAGTGATGAATTTTGTGTCAAAACTC;26 +zga_3745_beta;ATTTACAATAGCGTCGTAAATTACTTTT;28 +RB4894;CCGTTCGACAAGCACGCAAATGG;23 +zga_4659;TGCCTTGTGTCTAATATAAAACGTCT;26 +zga_3629;TTTTTTTAAGATTAGCGGAGTTACGG;26 +zga_3572;CTCCAAACCTGATATTGCCTCGG;23 +RB2160;CGCGTTCACATGATCGTGGGATT;23 +RB12343;GGCGGTGGAAGATGACTTCAACC;23 +zga_3818_Fn3;TTTTAATCTAAAGGATGTTTTTAAATCTG;29 +zga_3602;TTTTTTGGTAAACTTTATGGTGGCAC;26 +RB10507;CTCGTTCAGCATCGGCGAAATCA;23 +zga_3720_UNK;TGACGATATGCTTACGGGCAAGG;23 +zga_347_Fn3;TATTTTCAAGTTTCCACTGACATGAAT;27 +zga_530;AAAGACCTTATAAATCGAAGCTTGATA;27 +zga_369;ATTTACTTTGGCAATAGACCAAATACT;27 +zga_344_Fn3;ATTTTTGACAGTTAAGGCTACTTTTTTG;28 +RB9292;CTTTGGCGGCGCGTTACAGACA;22 +zga_344_GH3;ATTGGTTATAGGAATATTTACCGTTGT;27 +zga_4658;TTTCGATTGAAAAGCTGCCAGTTTTT;26 +zga_347_GH3;ATTAGTAATATCCACGGAAACCACTA;26 +zga_4655;GTCCACTGCCTTGAGCTTCAACA;23 +zga_4657;CCAGTTGAATTTAAAAATCGTCGTAC;26 +zga_4653;CCAGTTGGTAAACGAGCCATCTTT;24 +RB548;CTTCCGCGTGTACACCAGAACC;22 +zga_518_CBM48;GCCTTTTCCGTAACGGCCCCAT;22 +RB2986;TGAAACTTGCCCGGATTGATCTTC;24 +zga_2429;CTTCTTACTTGGTCTGATCCACATA;25 +zga_517;TTTGAACGGGAGTCCGTGTAACTT;24 +zga_3523;CTTGCTTCCGATTTTTAGTAGCACA;25 +RB5200_S6PP;TTCGATCGAGTTTTCAAACAGACCA;25 +zga_3745_GH3;GTCCTCATAAAGGTTTTTGAGCTCC;25 +zga_1248;TTTTACAATGAAAATAAAGGATTCCAAC;28 +zga_3745_linker;CTGTGCCAACTCGCTGTTTTGATA;24 +zga_368;TTTTTCAATTATACTTATGGCATACCC;27 +zga_3745_GH3linker;CTGTGCCAACTCGCTGTTTTGATA;24 +zga_1626;ATGGCACAAGATGCGGCCCCAA;22 +zga_3818_GH3;GCTCACCTCTACAGAAACCGAAAT;24 |
| b |
| diff -r 000000000000 -r a811f7256f6e test-data/oligator_results.csv --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/oligator_results.csv Fri Apr 27 08:42:52 2018 -0400 |
| b |
| b'@@ -0,0 +1,480 @@\n+zga_344_GH3\n+CAAGATAAAGCACGACCTTCCGAC\n+Tm = 72\n+The oligo length is 24 nucleotide(s)\n+\n+zga_344_Fn3\n+GAAACGGTGGTCCAACTGTATGTG\n+Tm = 72\n+The oligo length is 24 nucleotide(s)\n+\n+zga_347_GH3\n+CAAAGCAAGCAAAAGATATATCACAAA\n+Tm = 70\n+The oligo length is 27 nucleotide(s)\n+\n+zga_347_Fn3\n+GAAATCGTTCAGCTTTATTTTTCGGA\n+Tm = 70\n+The oligo length is 26 nucleotide(s)\n+\n+zga_3720_GH3\n+AGTAGTACCCTACCCTATATCGAAG\n+Tm = 72\n+The oligo length is 25 nucleotide(s)\n+\n+zga_3720_UNK\n+AGCCTAAACCTAAAAATAGCCGAAAA\n+Tm = 70\n+The oligo length is 26 nucleotide(s)\n+\n+zga_3745_GH3\n+CAACATCCTTTGGTGACCAAAGAC\n+Tm = 70\n+The oligo length is 24 nucleotide(s)\n+\n+zga_3745_linker\n+GACCTGAATTCGAGAACCGATGAC\n+Tm = 72\n+The oligo length is 24 nucleotide(s)\n+\n+zga_3745_beta\n+CAGTTGATTTTCGGGGCCATCCC\n+Tm = 72\n+The oligo length is 23 nucleotide(s)\n+\n+zga_3745_GH3linker\n+CAACATCCTTTGGTGACCAAAGAC\n+Tm = 70\n+The oligo length is 24 nucleotide(s)\n+\n+zga_3818_GH3\n+CAAGAAACGATAGAAGCGGTGGAG\n+Tm = 72\n+The oligo length is 24 nucleotide(s)\n+\n+zga_3818_Fn3\n+GTGGTACAGTTATATCTACGGGATG\n+Tm = 72\n+The oligo length is 25 nucleotide(s)\n+\n+zga_42\n+TGTAAGGAAGAGCGAAAAGAAATTATA\n+Tm = 70\n+The oligo length is 27 nucleotide(s)\n+\n+zga_369\n+TGTTCGAGTGATGATGACCAATCG\n+Tm = 70\n+The oligo length is 24 nucleotide(s)\n+\n+zga_518_CBM48\n+CCGCAAGTTACCGTTTTCAGTCTT\n+Tm = 70\n+The oligo length is 24 nucleotide(s)\n+\n+zga_518_GH13\n+GATAAGGACGGAAATTTTCTCACTTA\n+Tm = 70\n+The oligo length is 26 nucleotide(s)\n+\n+zga_530\n+TACGAAAACACCGAACGAAAATGGT\n+Tm = 70\n+The oligo length is 25 nucleotide(s)\n+\n+zga_1248\n+GGCGGAAGTAAAAAAAAGGTCGTTT\n+Tm = 70\n+The oligo length is 25 nucleotide(s)\n+\n+zga_1626\n+GATTGCGCCATTTTTTATCATATTTATC\n+Tm = 72\n+The oligo length is 28 nucleotide(s)\n+\n+zga_314\n+TGCTCCAATTCCGAAATCAAGGTAG\n+Tm = 72\n+The oligo length is 25 nucleotide(s)\n+\n+zga_316\n+TGTGGAGCAGTGAAAAAAACGGATA\n+Tm = 70\n+The oligo length is 25 nucleotide(s)\n+\n+zga_355\n+TGTTCGGGAGATAAGAACATGGAG\n+Tm = 70\n+The oligo length is 24 nucleotide(s)\n+\n+zga_368\n+CAACAATTGAAATCGCCCAACGGT\n+Tm = 70\n+The oligo length is 24 nucleotide(s)\n+\n+zga_2429\n+TGTAAAGTGCCTTCCCATACTTATAT\n+Tm = 70\n+The oligo length is 26 nucleotide(s)\n+\n+zga_3602\n+TGCAAAAATGCGACCGAGGAAAAAA\n+Tm = 70\n+The oligo length is 25 nucleotide(s)\n+\n+zga_4653\n+AAAATATCAGCAATAAAAACATACCCTA\n+Tm = 70\n+The oligo length is 28 nucleotide(s)\n+\n+zga_4655\n+TGTGGCCGCGAGCCGTCAAATG\n+Tm = 72\n+The oligo length is 22 nucleotide(s)\n+\n+zga_4657\n+AAAACGACACAGACAGATTTCGGTG\n+Tm = 72\n+The oligo length is 25 nucleotide(s)\n+\n+zga_4658\n+GGTACAAGTATAAAATCGGTTGACTG\n+Tm = 72\n+The oligo length is 26 nucleotide(s)\n+\n+zga_4661\n+AGCATATTGAATCAATTTAGCCTGAAA\n+Tm = 70\n+The oligo length is 27 nucleotide(s)\n+\n+zga_4662\n+AAAGCAACTGTTTACAAAGGAAACAAA\n+Tm = 70\n+The oligo length is 27 nucleotide(s)\n+\n+zga_4668\n+TGTAGTGATGATTTTCTTAATGAGGAG\n+Tm = 72\n+The oligo length is 27 nucleotide(s)\n+\n+zga_3523\n+AAATTTAAGCCAGTGGTAAAACATGTA\n+Tm = 70\n+The oligo length is 27 nucleotide(s)\n+\n+zga_3572\n+GAATATGAGGCGCCCTTCCCCT\n+Tm = 70\n+The oligo length is 22 nucleotide(s)\n+\n+zga_3629\n+CAAGAAAAACCGAACATCATCCTTTT\n+Tm = 70\n+The oligo length is 26 nucleotide(s)\n+\n+zga_517\n+ATAACCAATACTGAGCTAGAATATAAAG\n+Tm = 72\n+The oligo length is 28 nucleotide(s)\n+\n+RB12343\n+GAATTGTGGGATCATCGCGACGT\n+Tm = 70\n+The oligo length is 23 nucleotide(s)\n+\n+RB548\n+AGTTTTGCGATGGTTGATTCGCTG\n+Tm = 70\n+The oligo length is 24 nucleotide(s)\n+\n+RB2638\n+AATTCGCAGCTTTCATTATCGACCA\n+Tm = 70\n+The oligo length is 25 nucleotide(s)\n+\n+RB2986\n+CATGGGCGGAACATGGCGACTG\n+Tm = 72\n+The oligo length is 22 nucleotide(s)\n+\n+RB4894\n+GATTTGAATTCGCAACGTCGTGTTT\n+Tm = 70\n+The oligo length is 25 nucleotide(s)\n+\n+RB5196\n+ACCATGAACGCAATGCTCACCAAC\n+Tm = 72\n+The oligo length is 24 nucleotide(s)\n+\n+RB5200_S6PP\n+AATTCCACGATCGCATCCAACCC\n+Tm = 70\n+The oligo length is 23 nucleotide(s)\n+\n+RB5200_GH13\n+ACGTCGCCCCTCAATGCGACC\n+Tm = 70\n+The oligo length is 21 nucleotide(s)\n+\n+RB9292\n+GATCTTCAGTTCGCCTACTCCCC\n+Tm = 72\n+The oligo length is 23 nucleotide(s)\n+\n+RB2160\n+TCGCCTCACGTTCACCTTTGCTT\n+Tm = 70\n+The oligo length is 23 nucle'..b'CTTTCAT\n+Tm = 70\n+The oligo length is 27 nucleotide(s)\n+\n+zga_3720_GH3_antisens\n+GGATGGCAAATGAAAGTCAATTCTTT\n+Tm = 70\n+The oligo length is 26 nucleotide(s)\n+\n+zga_518_GH13_antisens\n+TTGAAAAATAACAATCCCCAATGGCG\n+Tm = 72\n+The oligo length is 26 nucleotide(s)\n+\n+zga_355_antisens\n+TAATGCCCTAATATGGACCGCCAA\n+Tm = 70\n+The oligo length is 24 nucleotide(s)\n+\n+RB5200_GH13_antisens\n+CGCGGTTGGCTCGTCATGTTCG\n+Tm = 72\n+The oligo length is 22 nucleotide(s)\n+\n+zga_4668_antisens\n+CAGTGATGAATTTTGTGTCAAAACTC\n+Tm = 70\n+The oligo length is 26 nucleotide(s)\n+\n+zga_3745_beta_antisens\n+ATTTACAATAGCGTCGTAAATTACTTTT\n+Tm = 70\n+The oligo length is 28 nucleotide(s)\n+\n+RB4894_antisens\n+CCGTTCGACAAGCACGCAAATGG\n+Tm = 72\n+The oligo length is 23 nucleotide(s)\n+\n+zga_4659_antisens\n+TGCCTTGTGTCTAATATAAAACGTCT\n+Tm = 70\n+The oligo length is 26 nucleotide(s)\n+\n+zga_3629_antisens\n+TTTTTTTAAGATTAGCGGAGTTACGG\n+Tm = 70\n+The oligo length is 26 nucleotide(s)\n+\n+zga_3572_antisens\n+CTCCAAACCTGATATTGCCTCGG\n+Tm = 70\n+The oligo length is 23 nucleotide(s)\n+\n+RB2160_antisens\n+CGCGTTCACATGATCGTGGGATT\n+Tm = 70\n+The oligo length is 23 nucleotide(s)\n+\n+RB12343_antisens\n+GGCGGTGGAAGATGACTTCAACC\n+Tm = 72\n+The oligo length is 23 nucleotide(s)\n+\n+zga_3818_Fn3_antisens\n+TTTTAATCTAAAGGATGTTTTTAAATCTG\n+Tm = 70\n+The oligo length is 29 nucleotide(s)\n+\n+zga_3602_antisens\n+TTTTTTGGTAAACTTTATGGTGGCAC\n+Tm = 70\n+The oligo length is 26 nucleotide(s)\n+\n+RB10507_antisens\n+CTCGTTCAGCATCGGCGAAATCA\n+Tm = 70\n+The oligo length is 23 nucleotide(s)\n+\n+zga_3720_UNK_antisens\n+TGACGATATGCTTACGGGCAAGG\n+Tm = 70\n+The oligo length is 23 nucleotide(s)\n+\n+zga_347_Fn3_antisens\n+TATTTTCAAGTTTCCACTGACATGAAT\n+Tm = 70\n+The oligo length is 27 nucleotide(s)\n+\n+zga_530_antisens\n+AAAGACCTTATAAATCGAAGCTTGATA\n+Tm = 70\n+The oligo length is 27 nucleotide(s)\n+\n+zga_369_antisens\n+ATTTACTTTGGCAATAGACCAAATACT\n+Tm = 70\n+The oligo length is 27 nucleotide(s)\n+\n+zga_344_Fn3_antisens\n+ATTTTTGACAGTTAAGGCTACTTTTTTG\n+Tm = 72\n+The oligo length is 28 nucleotide(s)\n+\n+RB9292_antisens\n+CTTTGGCGGCGCGTTACAGACA\n+Tm = 70\n+The oligo length is 22 nucleotide(s)\n+\n+zga_344_GH3_antisens\n+ATTGGTTATAGGAATATTTACCGTTGT\n+Tm = 70\n+The oligo length is 27 nucleotide(s)\n+\n+zga_4658_antisens\n+TTTCGATTGAAAAGCTGCCAGTTTTT\n+Tm = 70\n+The oligo length is 26 nucleotide(s)\n+\n+zga_347_GH3_antisens\n+ATTAGTAATATCCACGGAAACCACTA\n+Tm = 70\n+The oligo length is 26 nucleotide(s)\n+\n+zga_4655_antisens\n+GTCCACTGCCTTGAGCTTCAACA\n+Tm = 70\n+The oligo length is 23 nucleotide(s)\n+\n+zga_4657_antisens\n+CCAGTTGAATTTAAAAATCGTCGTAC\n+Tm = 70\n+The oligo length is 26 nucleotide(s)\n+\n+zga_4653_antisens\n+CCAGTTGGTAAACGAGCCATCTTT\n+Tm = 70\n+The oligo length is 24 nucleotide(s)\n+\n+RB548_antisens\n+CTTCCGCGTGTACACCAGAACC\n+Tm = 70\n+The oligo length is 22 nucleotide(s)\n+\n+zga_518_CBM48_antisens\n+GCCTTTTCCGTAACGGCCCCAT\n+Tm = 70\n+The oligo length is 22 nucleotide(s)\n+\n+RB2986_antisens\n+TGAAACTTGCCCGGATTGATCTTC\n+Tm = 70\n+The oligo length is 24 nucleotide(s)\n+\n+zga_2429_antisens\n+CTTCTTACTTGGTCTGATCCACATA\n+Tm = 70\n+The oligo length is 25 nucleotide(s)\n+\n+zga_517_antisens\n+TTTGAACGGGAGTCCGTGTAACTT\n+Tm = 70\n+The oligo length is 24 nucleotide(s)\n+\n+zga_3523_antisens\n+CTTGCTTCCGATTTTTAGTAGCACA\n+Tm = 70\n+The oligo length is 25 nucleotide(s)\n+\n+RB5200_S6PP_antisens\n+TTCGATCGAGTTTTCAAACAGACCA\n+Tm = 70\n+The oligo length is 25 nucleotide(s)\n+\n+zga_3745_GH3_antisens\n+GTCCTCATAAAGGTTTTTGAGCTCC\n+Tm = 72\n+The oligo length is 25 nucleotide(s)\n+\n+zga_1248_antisens\n+TTTTACAATGAAAATAAAGGATTCCAAC\n+Tm = 70\n+The oligo length is 28 nucleotide(s)\n+\n+zga_3745_linker_antisens\n+CTGTGCCAACTCGCTGTTTTGATA\n+Tm = 70\n+The oligo length is 24 nucleotide(s)\n+\n+zga_368_antisens\n+TTTTTCAATTATACTTATGGCATACCC\n+Tm = 70\n+The oligo length is 27 nucleotide(s)\n+\n+zga_3745_GH3linker_antisens\n+CTGTGCCAACTCGCTGTTTTGATA\n+Tm = 70\n+The oligo length is 24 nucleotide(s)\n+\n+zga_1626_antisens\n+ATGGCACAAGATGCGGCCCCAA\n+Tm = 70\n+The oligo length is 22 nucleotide(s)\n+\n+zga_3818_GH3_antisens\n+GCTCACCTCTACAGAAACCGAAAT\n+Tm = 70\n+The oligo length is 24 nucleotide(s)\n+\n' |
| b |
| diff -r 000000000000 -r a811f7256f6e test-data/oligator_sens.csv --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/oligator_sens.csv Fri Apr 27 08:42:52 2018 -0400 |
| b |
| @@ -0,0 +1,48 @@ +zga_344_GH3;CAAGATAAAGCACGACCTTCCGAC;24 +zga_344_Fn3;GAAACGGTGGTCCAACTGTATGTG;24 +zga_347_GH3;CAAAGCAAGCAAAAGATATATCACAAA;27 +zga_347_Fn3;GAAATCGTTCAGCTTTATTTTTCGGA;26 +zga_3720_GH3;AGTAGTACCCTACCCTATATCGAAG;25 +zga_3720_UNK;AGCCTAAACCTAAAAATAGCCGAAAA;26 +zga_3745_GH3;CAACATCCTTTGGTGACCAAAGAC;24 +zga_3745_linker;GACCTGAATTCGAGAACCGATGAC;24 +zga_3745_beta;CAGTTGATTTTCGGGGCCATCCC;23 +zga_3745_GH3linker;CAACATCCTTTGGTGACCAAAGAC;24 +zga_3818_GH3;CAAGAAACGATAGAAGCGGTGGAG;24 +zga_3818_Fn3;GTGGTACAGTTATATCTACGGGATG;25 +zga_42;TGTAAGGAAGAGCGAAAAGAAATTATA;27 +zga_369;TGTTCGAGTGATGATGACCAATCG;24 +zga_518_CBM48;CCGCAAGTTACCGTTTTCAGTCTT;24 +zga_518_GH13;GATAAGGACGGAAATTTTCTCACTTA;26 +zga_530;TACGAAAACACCGAACGAAAATGGT;25 +zga_1248;GGCGGAAGTAAAAAAAAGGTCGTTT;25 +zga_1626;GATTGCGCCATTTTTTATCATATTTATC;28 +zga_314;TGCTCCAATTCCGAAATCAAGGTAG;25 +zga_316;TGTGGAGCAGTGAAAAAAACGGATA;25 +zga_355;TGTTCGGGAGATAAGAACATGGAG;24 +zga_368;CAACAATTGAAATCGCCCAACGGT;24 +zga_2429;TGTAAAGTGCCTTCCCATACTTATAT;26 +zga_3602;TGCAAAAATGCGACCGAGGAAAAAA;25 +zga_4653;AAAATATCAGCAATAAAAACATACCCTA;28 +zga_4655;TGTGGCCGCGAGCCGTCAAATG;22 +zga_4657;AAAACGACACAGACAGATTTCGGTG;25 +zga_4658;GGTACAAGTATAAAATCGGTTGACTG;26 +zga_4661;AGCATATTGAATCAATTTAGCCTGAAA;27 +zga_4662;AAAGCAACTGTTTACAAAGGAAACAAA;27 +zga_4668;TGTAGTGATGATTTTCTTAATGAGGAG;27 +zga_3523;AAATTTAAGCCAGTGGTAAAACATGTA;27 +zga_3572;GAATATGAGGCGCCCTTCCCCT;22 +zga_3629;CAAGAAAAACCGAACATCATCCTTTT;26 +zga_517;ATAACCAATACTGAGCTAGAATATAAAG;28 +RB12343;GAATTGTGGGATCATCGCGACGT;23 +RB548;AGTTTTGCGATGGTTGATTCGCTG;24 +RB2638;AATTCGCAGCTTTCATTATCGACCA;25 +RB2986;CATGGGCGGAACATGGCGACTG;22 +RB4894;GATTTGAATTCGCAACGTCGTGTTT;25 +RB5196;ACCATGAACGCAATGCTCACCAAC;24 +RB5200_S6PP;AATTCCACGATCGCATCCAACCC;23 +RB5200_GH13;ACGTCGCCCCTCAATGCGACC;21 +RB9292;GATCTTCAGTTCGCCTACTCCCC;23 +RB2160;TCGCCTCACGTTCACCTTTGCTT;23 +zga_4659;TCAGGAATTAAAGAATACCAACTATTTA;28 +RB10507;GCAGAAGAGACGACGATCGTGTC;23 |