Previous changeset 2:df6527887a18 (2017-01-09) Next changeset 4:fa59d6fea7f5 (2017-03-03) |
Commit message:
planemo upload for repository https://github.com/TGAC/earlham-galaxytools/tree/master/tools/t_coffee commit 81a1e79dda127d1afc16c7e456bbec16093a3c3f-dirty |
modified:
filter_by_fasta_ids.py t_coffee.xml |
added:
test-data/output2.fasta |
removed:
t_coffee_to_cigar.py test-data/cigar.tabular |
b |
diff -r df6527887a18 -r 78dd29aa7fc1 filter_by_fasta_ids.py --- a/filter_by_fasta_ids.py Mon Jan 09 14:26:41 2017 -0500 +++ b/filter_by_fasta_ids.py Mon Feb 20 06:25:50 2017 -0500 |
[ |
@@ -2,65 +2,27 @@ """ A script to build specific fasta databases """ from __future__ import print_function - -import logging +import collections import sys - -# ===================================== Iterator =============================== -class Sequence: - ''' Holds protein sequence information ''' - def __init__(self): - self.header = "" - self.sequence_parts = [] - - def get_sequence(self): - return "".join([line.rstrip().replace('\n', '').replace('\r', '') for line in self.sequence_parts]) +Sequence = collections.namedtuple('Sequence', ['header', 'sequence']) -class FASTAReader: - """ - FASTA db iterator. Returns a single FASTA sequence object. - """ - def __init__(self, fasta_name): - self.fasta_file = open(fasta_name) - self.next_line = self.fasta_file.readline() - - def __iter__(self): - return self - - def __next__(self): - ''' Iteration ''' - # while True: - # line = self.fasta_file.readline() - # if not line: - # raise StopIteration - # if line[0] == '>': - # break - next_line = self.next_line - if not next_line: - raise StopIteration - - seq = Sequence() - seq.header = next_line.rstrip().replace('\n', '').replace('\r', '') - - next_line = self.fasta_file.readline() - while next_line and next_line[0] != '>': - # tail = self.fasta_file.tell() - # line = self.fasta_file.readline() - # if not line: - # break - # if line[0] == '>': - # self.fasta_file.seek(tail) - # break - seq.sequence_parts.append(next_line) - next_line = self.fasta_file.readline() - self.next_line = next_line - return seq - - # Python 2/3 compat - next = __next__ -# ============================================================================== +def FASTAReader_gen(fasta_filename): + fasta_file = open(fasta_filename) + line = fasta_file.readline() + while True: + if not line: + return + assert line.startswith('>'), "FASTA headers must start with >" + header = line.rstrip() + sequence_parts = [] + line = fasta_file.readline() + while line and line[0] != '>': + sequence_parts.append(line.rstrip()) + line = fasta_file.readline() + sequence = "".join(sequence_parts) + yield Sequence(header, sequence) def target_match(target, search_entry): @@ -74,9 +36,6 @@ def main(): ''' the main function''' - logging.basicConfig(filename='filter_fasta_log', - level=logging.INFO, - format='%(asctime)s :: %(levelname)s :: %(message)s',) used_sequences = set() work_summary = {'wanted': 0, 'found': 0, 'duplicates': 0} @@ -87,20 +46,17 @@ targets.append(">%s" % line.strip().upper()) work_summary['wanted'] = len(targets) - homd_db = FASTAReader(sys.argv[2]) # output = open(sys.argv[3], "w") - for entry in homd_db: + for entry in FASTAReader_gen(sys.argv[2]): target_matched_results = target_match(targets, entry.header) if target_matched_results: work_summary['found'] += 1 targets.remove(target_matched_results) - sequence = entry.get_sequence() + sequence = entry.sequence used_sequences.add(sequence) print(entry.header) print(sequence) - for parm, count in work_summary.items(): - logging.info('%s ==> %d', parm, count) if __name__ == "__main__": |
b |
diff -r df6527887a18 -r 78dd29aa7fc1 t_coffee.xml --- a/t_coffee.xml Mon Jan 09 14:26:41 2017 -0500 +++ b/t_coffee.xml Mon Feb 20 06:25:50 2017 -0500 |
[ |
@@ -1,4 +1,4 @@ -<tool id="t_coffee" name="T-Coffee" version="11.0.8"> +<tool id="t_coffee" name="T-Coffee" version="11.0.8_1"> <description>multiple sequence alignment</description> <requirements> <requirement type="package" version="11.0.8">t_coffee</requirement> @@ -34,13 +34,10 @@ #if $outputs #set $outputs_arr = str($outputs).split(',') #for $o in $outputs_arr - #if $o not in ['cigar', 'dnd'] + #if $o != 'dnd' #set $output_opt += $o + ',' #end if #end for - #if 'cigar' in $outputs_arr and 'fasta_aln' not in $outputs_arr - #set $output_opt += 'fasta_aln,' - #end if #else #set $outputs_arr = [] #end if @@ -49,10 +46,6 @@ #end if t_coffee '$input' $method_opt $output_opt -n_core \${GALAXY_SLOTS:-1} -run_name t_coffee_out -quiet - - #if 'cigar' in $outputs_arr - && python '$__tool_directory__/t_coffee_to_cigar.py' t_coffee_out.fasta_aln > '$cigar' - #end if ]]> </command> <inputs> @@ -93,7 +86,6 @@ <option value="proba_pair">proba_pair</option> </param> <param name="outputs" type="select" multiple="true" optional="false" display="checkboxes" label="Output formats"> - <option value="cigar">CIGAR</option> <option value="clustalw_aln">clustalw_aln</option> <option value="dnd" selected="true">dnd</option> <option value="fasta_aln">fasta_aln</option> @@ -107,9 +99,6 @@ </param> </inputs> <outputs> - <data name="cigar" format="tabular" label="${tool.name} on ${on_string}: cigar" > - <filter>'cigar' in outputs</filter> - </data> <data name="clustalw_aln" format="clustalw" label="${tool.name} on ${on_string}: clustalw_aln" from_work_dir="t_coffee_out.clustalw_aln"> <filter>'clustalw_aln' in outputs</filter> </data> @@ -147,15 +136,15 @@ <param name="input" value="input.fasta" ftype="fasta" /> <param name="method02" value="clustalw_msa" /> <param name="outputs" value="fasta_aln" /> - <output name="fasta_aln" file="output1.fasta" /> + <output name="fasta_aln" file="output1.fasta" ftype="fasta" /> </test> <test> <param name="filter_fasta" value="yes" /> <param name="fasta_input" value="input.fasta" ftype="fasta" /> <param name="identifiers" value="ids.txt" ftype="txt" /> <param name="method02" value="clustalw_msa" /> - <param name="outputs" value="cigar" /> - <output name="cigar" file="cigar.tabular" /> + <param name="outputs" value="fasta_aln" /> + <output name="fasta_aln" file="output2.fasta" ftype="fasta" /> </test> </tests> <help> |
b |
diff -r df6527887a18 -r 78dd29aa7fc1 t_coffee_to_cigar.py --- a/t_coffee_to_cigar.py Mon Jan 09 14:26:41 2017 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
[ |
@@ -1,47 +0,0 @@ -#!/usr/bin/env python -""" A script to build specific fasta databases """ -from __future__ import print_function - -import re -import sys - - -FASTA_MATCH_RE = re.compile(r'[^-]') - - -def convert_and_print(header, sequence): - # Converts each match into M and each gap into D - tmp_seq = FASTA_MATCH_RE.sub('M', sequence) - tmp_seq = tmp_seq.replace('-', 'D') - # Split the sequence in substrings composed by the same letter - tmp_seq = tmp_seq.replace('DM', 'D,M') - tmp_seq = tmp_seq.replace('MD', 'M,D') - cigar_list = tmp_seq.split(',') - # Condense each substring, e.g. DDDD in 4D, and concatenate them again - cigar = '' - for s in cigar_list: - if len(s) > 1: - cigar += str(len(s)) - cigar += s[0] - print("%s\t%s" % (header, cigar)) - - -def main(): - with open(sys.argv[1]) as fh: - header = None - sequence = None - for line in fh: - line = line.strip() - if line and line[0] == '>': - if header: - convert_and_print(header, sequence) - header = line[1:] - sequence = '' - else: - sequence += line - if header: - convert_and_print(header, sequence) - - -if __name__ == "__main__": - main() |
b |
diff -r df6527887a18 -r 78dd29aa7fc1 test-data/cigar.tabular --- a/test-data/cigar.tabular Mon Jan 09 14:26:41 2017 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
b |
@@ -1,3 +0,0 @@ -ENSMUST00000091291_musmusculus 41M3D64MD473MD7M2D375M3D74M3D771M2D13MD227MD13M7D226M3D58M3D6MD21M3D437M2D33MD76MD1017M12D34M10D14M3D22M4D10M4D107M -ENSCAFT00000026349_canisfamiliaris 16D26M2D64MD422MD8M2D140M3D195M2D5M8D16M5D52M3D61M6D6M3D672M20D24MD311M8D25M2D58M2D11M2D103M5D17M6D18M5D22M2D10MD37M3D499M3D10M4D30M5D12M4D35M5D6M10D904M4D27M6D40M8D16M3D21M126D -ENSRNOT00000019267_rattusnorvegicus 75MD14M6D112M6D317MD8M2D40MD7M2D273M4D23M3D16M5D794M3D6M18D315M2D7MD46M2D249MD335M3D142M2D8MD8M2D14MD35MD63M5D16M3D16M4D10M6D1152M3D |
b |
diff -r df6527887a18 -r 78dd29aa7fc1 test-data/output2.fasta --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/output2.fasta Mon Feb 20 06:25:50 2017 -0500 |
b |
b'@@ -0,0 +1,255 @@\n+>ENSMUST00000091291_musmusculus\n+ATGGGCTTCGGGAGAGGATGTGAGACGACGGCTGTGCCATT---GCTGGT\n+GGCCGTGGCCGCGTTGCTGGTGGGCACAGCCGGCCACCTGTACCCTGGAG\n+AGGTGTGC-CCTGGTATGGACATCCGGAACAACCTGACCAGGCTACATGA\n+GCTGGAGAACTGCTCAGTCATTGAGGGCCATCTGCAGATCCTCCTGATGT\n+TCAAGACCAGACCCGAAGATTTCCGAGACCTCAGTTTCCCCAAACTCATC\n+ATGATCACAGATTACCTGCTTCTCTTCCGTGTCTATGGTCTGGAAAGTCT\n+GAAAGACCTCTTCCCAAATCTCACAGTCATCCGAGGCTCCCGTCTCTTCT\n+TCAACTATGCCCTGGTTATCTTCGAGATGGTCCACCTGAAGGAGCTGGGG\n+CTTTATAACCTCATGAACATCACCCGGGGCTCTGTCCGCATCGAGAAGAA\n+TAATGAGCTCTGCTACCTGGCCACTATCGACTGGTCCCGTATCCTGGATT\n+CTGTGGAGGACAACTACATTGTACTGAACAAAGATGACAACGAGGAATGT\n+GGGGATGTCTGTCCAGGCACCGCCAAGGGCAA-GACCAAC--TGTCCTGC\n+CACTGTCATCAATGGGCAGTTTGTGGAACGGTGCTGGACACACAGTCATT\n+GTCAGAAAGTTTGCCCAACCATCTGTAAGTCACATGGCTGCACAGCTGAA\n+GGCCTGTGCTGCCACAAAGAGTGCCTGGGCAACTGTTCGGAACCTGATGA\n+CCCCACCAAGTGTGTGGCCTGTCGCAACTTCTATCTGGATGGTCAGTGTG\n+TGGAGACCTGCCCGCCACCCTACTATCACTTCCAGGACTGGCGCTGTGTG\n+AACTTCAGCTTCTGCCAAGACCTTCACTTCAAATGCAGGAACTCTCGGAA\n+GCCTGGCTGCCACCAATACGTCATTCACAACAATAAGTGCATCCCCGAGT\n+GCCCGTCTGGCTATACC---ATGAATTCCAGCAACTTGATGTGCACCCCA\n+TGTCTGGGACCCTGCCCTAAGGTCTGCCAAATCCTCGAAGGTGA---GAA\n+GACCATTGATTCTGTGACATCTGCCCAGGAGCTCCGAGGCTGCACTGTGA\n+TCAACGGTAGCCTGATCATCAACATCCGAGGGGGCAACAACCTGGCAGCT\n+GAGCTGGAGGCTAACCTTGGCCTCATTGAAGAAATTTCGGGATTTCTAAA\n+GATCCGCCGCTCCTATGCTCTGGTATCACTTTCTTTCTTCAGGAAGCTAC\n+ATCTGATTCGAGGAGAGACCTTGGAAATTGGGAACTATTCTTTTTATGCC\n+TTGGACAACCAGAACCTGAGGCAACTCTGGGACTGGAGCAAACACAACCT\n+CACCATCACTCAGGGCAAGCTCTTCTTCCATTACAACCCGAAACTCTGCT\n+TGTCTGAAATTCACAAGATGGAAGAAGTCTCCGGAACTAAGGGCCGTCAG\n+GAGAGGAACGACATTGCCCTGAAGACCAATGGGGACCAGGCATCGTGTGA\n+AAATGAATTGCTTAAATTTTCTTTCATTCGGACATCTTTTGACAAGATCC\n+TGTTGAGGTGGGAACCCTACTGGCCCCCCGACTTCCGAGATCTCCTGGGA\n+TTCATGTTGTTCTACAAAGAGGCCCCTTATCAGAATGTGACAGAGTTTGA\n+TGGGCAGGATGCTTGTGGCTCCAACAGCTGGACTGTGGTGGATATTGACC\n+CGCCCCAGAGGTCCAACGACCCCAAGTCTCAGACCCCAAGCCACCCTGGG\n+TGGCTGATGCGGGGCCTCAAACCCTGGACCCAATACGCCATCTTTGTGAA\n+GACCTTGGTTACCTTCTC--TGATGAACGGCGG-ACCTATGGAGCCAAAA\n+GTGATATCATCTATGTGCAAACAGATGCCACTAATCCTTCTGTCCCCCTG\n+GATCCCATATCAGTTTCTAATTCCTCATCTCAGATTATCTTAAAGTGGAA\n+GCCCCCCTCTGACCCCAATGGCAACATCACACACTACCTGGTGTACTGGG\n+AGAGGCAAGCAGAGGACAGCGAGCTGTTTGAGCTGGATTATTGTCTCAAA\n+GGGCTGAAGCT-CCCTTCACGGACC-------TGGTCCCCACCCTTTGAG\n+TCTGATGATTCTCAGAAGCACAATCAGAGTGAGTATGACGACTCGGCCAG\n+TGAGTGCTGCTCATGCCCTAAGACTGACTCTCAGATCCTGAAGGAGCTGG\n+AGGAGTCTTCATTCAGGAAGACCTTCGAGGATTACCTGCACAACGTGGTT\n+TTTGTCCCCAGGCCATCCCGAAAGCGAAGATCCCTTGAAGAGGTGGGGAA\n+TGTGACAG---CCACCACACTCACACTTCCAGATTTCCCCAACGTCTCCT\n+CTACCATTGTGCCCACAAG---TCAGGA-GGAGCACAGGCCATTTGAGAA\n+---AGTGGTGAACAAGGAGTCACTTGTCATCTCTGGCCTGAGACACTTCA\n+CTGGGTACCGCATTGAGCTGCAGGCATGCAATCAAGATTCCCCAGATGAG\n+AGGTGCAGTGTGGCTGCCTACGTCAGTGCCCGGACCATGCCTGAAGCTAA\n+GGCAGATGACATCGTTGGCCCTGTGACTCATGAAATCTTTGAGAACAATG\n+TTGTACACTTAATGTGGCAAGAGCCAAAGGAACCTAATGGTCTGATTGTG\n+CTATATGAAGTGAGCTATCGCCGATATGGTGATGAGGAGCTGCACCTCTG\n+TGTCTCCCGGAAGCATTTTGCCCTGGAGCGGGGCTGCAGGCTGCGAGGGC\n+TCTCCCCAGGAAACTACAGTGTTCGAGTCCGGGCTACCTCTCTGGCAGGA\n+AATGGCTCCTGGACAGAACCCACCTATTTTTATGTGACTG--ATTATTTA\n+GATGTCCCATCAAATATTGCCAAAA-TTATCATTGGACCCCTCATCTTTG\n+TCTTCCTCTTCAGTGTTGTGATTGGAAGTATTTATCTATTTCTGAGAAAG\n+AG-GCAGCCGGATGGGCCAATGGGACCACTGTATGCATCTTCAAACCCTG\n+AGTACCTCAGTGCCAGTGATGTGTTTCCATCTTCTGTGTACGTGCCGGAC\n+GAGTGGGAGGTGCCTCGAGAGAAGATCACCCTTCTTCGAGAGCTGGGGCA\n+GGGATCCTTTGGTATGGTGTATGAAGGCAATGCCAAGGATATCATCAAGG\n+GTGAGGCAGAGACCCGTGTTGCGGTTAAGACTGTCAATGAGTCAGCCAGT\n+CTTCGAGAACGGATCGAGTTCCTCAATGAGGCATCAGTCATGAAGGGATT\n+CACCTGCCATCATGTGGTCCGCCTTCTTGGGGTGGTATCCAAAGGACAGC\n+CAACGCTGGTAGTGATGGAATTGATGGCTCATGGAGACCTGAAAAGTCAC\n+CTCCGTTCTCTGAGGCCAGATGCTGAGAATAACCCAGGCCGCCCTCCCCC\n+TACCTTGCAAGAAATGATTCAGATGACAGCAGAAATTGCTGATGGCATGG\n+CATACTTGAACGCCAAGAAGTTTGTGCACCGGGACCTGGCAGCTCGAAAC\n+TGCATGGTTGCCCATGATTTTACTGTCAAAATTGGAGACTTTGGAATGAC\n+AAGGGACATCTACGAGACAGATTACTATCGGAAAGGGGGCAAGGGACTGC\n+TTCCTGTGAGGTGGATGTCACCTGAGTCCCTGAAGGATGGAGTCTTTACT\n+GCTTCTTCTGATATGTGGTCCTTTGGGGTGGTCCTTTGGGAAATCACTAG\n+CCTGGCTGAGCAACCTTATCAAGGCCTGTCTAATGAACAGGTGTTGAAGT\n+TTGTCATGGATGGAGGCTATCTGGATCCCCCTGATAACTGTCCAGAG'..b'TTCT\n+ACAATTACGCACTGGTCATCTTCGAGATGACCAATCTCAAGGATATTGGG\n+CTTTATAATCTGAGGAACATTACTCGGGGGGCCATCAGGATTGAGAAAAA\n+CGCTGACCTCTGTTACCTCTCCACCATAGACTGGTCTCTCATCTTGGATG\n+CGGTGTCCAATAACTACATTGTGGGGAACAA-GCCCCCAA--AGGAATGT\n+GGGGACCTGTGTCCAGGGACCTTGGAGGAGAA-GCCCATG--TGTGAGAA\n+GACCACCATCAACAATGAGTACAACTACCGCTGCTGGACCACAAATCGCT\n+GCCAGAAAATGTGCCCAAGTGTGTGTGGGAAGCGAGCCTGCACCGAGAAC\n+AATGAGTGCTGCCACCCGGAGTGCCTAGGCAGCTGCCACACACCGGACGA\n+CAACACAACCTGCGTGGCCTGCCGACACTACTACTACAAAGGCGTGTGCG\n+TGCCTGCCTGCCCGCCTGGCACCTACAGGTTCGAGGGCTGGCGCTGTGTG\n+GACCGGGATTTCTGC----GCCAACATCCCCAACGCCGAGAG---CAGTG\n+ACTCAGATGGC-----TTCGTCATCCACGATGGCGAGTGCATGCAGGAGT\n+GTCCATCAGGCTTCATCCGCAACAGCACCCAGAGCATGTACTGTATCCCC\n+TGTGAAGGCCCCTGCCCCAAGGTCTGCGGCGATGAAGAAAAGAAAACGAA\n+AACCATCGATTCTGTGACGTCTGCCCAGATGCTCCAAGGGTGCACCATTT\n+TGAAGGGCAATCTGCTTATTAACATCCGGCGAGGCAATAACATTGCCTCG\n+GAATTGGAGAACTTCATGGGGCTCATCGAGGTGGTGACTGGCTACGTGAA\n+GATCCGCCATTCCCATGCCTTGGTCTCCTTGTCCTTCCTGAAGAACCTTC\n+GTCTCATCTTAGGAGAGGAGCAGCTAGAAGGGAACTACTCCTTCTATGTC\n+CTGGACAACCAGAACTTGCAGCAGCTGTGGGACTGGAACCACCGGAACCT\n+GACCGTCAGGTCAGGGAAAATGTACTTCGCTTTCAATCCCAAGCTGTGTG\n+TCTCTGAAATTTACCGGATGGAGGAGGTGACAGGAACAAAGGGACGGCAG\n+AGCAAAGGAGACATAAACACCAGGAACAACGGAGAGCGAGCTTCCTGTGA\n+AAGTGATGTTCTCCGTTTCACCTCCACCACCACCTGGAAGAACCGCATCA\n+TCATAACGTGGCACCGGTACCGGCCGCCGGACTACCGGGATCTCATCAGT\n+TTCACAGTCTACTACAAGGAGGCACCCTTTAAAAACGTCACGGAATACGA\n+CGGGCAGGATGCCTGTGGCTCCAACAGCTGGAACATGGTGGACGTGGACC\n+TGCCTCCGAA---CAAGGA------------------GGGGGAGCCTGGC\n+ATTTTGCTGCATGGGCTGAAGCCCTGGACCCAGTATGCAGTCTATGTCAA\n+GGCTGTGACCCTCACCATGGTGGAAAACGACCACATCCGTGGGGCCAAAA\n+GTGAAATCTTGTACATTCGCACCAACGCTTCAGTTCCTTCCATTCCTCTA\n+GATGTCCTCTCGGCATCAAACTCCTCCTCTCAGCTGATCGTGAAGTGGAA\n+CCCCCCAACTCTGCCCAATGGTAACTTGAGTTACTACATTGTGAGGTGGC\n+AGCGGCAGCCGCAGGATGGCTATCTGTTCCGGCACAACTACTGCTCCAAA\n+GA--CAAAATA-CCCATCAGAAAGTACGCCGATGGTACCATCGATGTGGA\n+GGAGGTGA--CAGAAAATCCCAAGACAGAAGTGTGCGGTGGTGATAAAGG\n+GCCGTGCTGTGCCTGTCCTAAAACCGAAGCTGAGAAGCAGGCTGAGAAGG\n+AGGAGGCTGAGTACCGTAAAGTCTTTGAGAATTTCCTTCACAACTCCATC\n+TTTGTGCCCAGACCTGAGAGGAGGCGGAGAGATGTCCTGCAGGTGGCTAA\n+CACCACCATGTCCAGCCGAAGCAGGAACACCACGGTAGCTGACACCTACA\n+ATATCACAG-ACCCGGAAGAGTTCGAGACAGAATACCCTTTCTTTGAGAG\n+CAGAGTGGATAACAAGGAGAGGACTGTCATTTCCAACCTCCGGCCTTTCA\n+CTCTGTACCGTATCGATATCCACAGCTGCAACCACGAGGCTGAGAAGCTG\n+GGCTGCAGCGCCTCCAACTTTGTCTTTGCAAGAACCATGCCAGCAGAAGG\n+AGCAGATGACATTCCTGGCCCAGTGACCTGGGAGCCAAGACCTGAAAACT\n+CCATCTTTTTAAAGTGGCCAGAACCCGAGAACCCCAACGGATTGATTCTA\n+ATGTATGAAATAAAATACGGATCGCAAGTCGAGGATCAGCGGGAA---TG\n+TGTGTCCAGACAGGAGTACAGGAAGTATGGAGGGGCCAAACTTAACCGTC\n+TAAACCCAGGGAACTATACGGCCCGGATTCAGGCTACCTCCCTCTCTGGG\n+AATGGGTCGTGGACAGATCCTGTGTTCTTCTATGTCCCAG--CCAAAACA\n+-ACGTATGA--GAATTTCATGCATC-TGATCATTGCTCTGCCGGTTGCCA\n+TCCTGCTGATT-GTGGGGGGCCTGGTAATCATGCTGTATGTCTTCCATAG\n+AAAGAGGGTGTCTGGGCCAGCAGAA-----GGCAGTAGTTGGAAAG---G\n+GCCATTTCCATCCTG----TCTGTTCCTA------GTGTACGTGCCTGAT\n+GAATGGGAGGTAGCTCGGGAGAAGATCACCATGAACCGGGAGCTCGGACA\n+AGGGTCCTTCGGGATGGTCTATGAAGGAGTGGCCAAGGGCGTGGTCAAGG\n+ACGAGCCTGAAACCAGAGTGGCCATCAAGACAGTGAATGAGGCTGCAAGT\n+ATGCGTGAGAGAATTGAGTTTCTCAACGAGGCCTCAGTGATGAAGGAGTT\n+CAACTGTCACCATGTGGTCCGGTTGCTGGGTGTAGTATCCCAAGGCCAGC\n+CCACCCTGGTCATCATGGAACTAATGACACGTGGCGATCTCAAAAGTTAT\n+CTCCGGTCTCTAAGGCCAGAGGTGGAGAATAATCTAGTCCTGATTCCTCC\n+GAGCTTAAGCAAGATGATCCAGATGGCTGGAGAGATTGCAGATGGCATGG\n+CCTACCTCAATGCCAACAAGTTCGTCCACAGAGACCTGGCTGCTCGGAAC\n+TGCATGGTAGCTGAAGATTTCACAGTCAAAATTGGAGATTTTGGTATGAC\n+ACGAGACATCTACGAGACGGACTACTACCGGAAAGGCGGGAAGGGCTTGC\n+TGCCTGTGCGCTGGATGTCTCCCGAGTCCCTCAAGGATGGCGTCTTCACC\n+ACTCATTCCGATGTCTGGTCCTTTGGGGTCGTCCTCTGGGAGATCGCCAC\n+TCTGGCTGAGCAGCCGTACCAGGGCCTGTCCAACGAGCAAGTTCTTCGTT\n+TCGTCATGGAGGGCGGCCTTCTGGACAAGCCGGATAACTGCCCCGATATG\n+CTGTTTGAACTTATGCGCATGTGCTGGCAGTACAACCCCAAGATGCGGCC\n+CTCCTTCCTGGAGATCATCGGAAGCATCAAGGATGAGATGGAGCCCAGTT\n+TCCAGGAGGTCTCCTTCTACTACAGCGAGGAGAACAAGCCTCCAGAGCCG\n+GAGGAGCTGGAGATGGAGCTGGAGCTGGAGCCCGAGAACATGGAGAGCGT\n+CCCGCTGGACCCTTCGGCCTCCTCAGCCTCCCTGCCTCTGCCTGAAAGAC\n+ACTCAGGACACAAGGCTGAGAACGGCCCTGGCGTGCTGGTTCTCCGTGCC\n+AGTTTTGATGAGAGACAGCCTTACGCTCACATGAATGGGGGACGCGCCAA\n+CGAGAGGGCCTTGCCTCTGCCCCAGTCCTCAACCTGC---\n' |