コード例 #1
0
ファイル: test_Reader.py プロジェクト: nahid18/FastaParser
 def test_fasta_file_object_not_a_file(self):
     with pytest.raises(TypeError):
         Reader('')
     with pytest.raises(TypeError):
         Reader([])
     with pytest.raises(TypeError):
         Reader(123)
コード例 #2
0
ファイル: test_Reader.py プロジェクト: nahid18/FastaParser
 def test_sequences_type_wrong_str(self, fasta_empty):
     with pytest.raises(TypeError):
         Reader(fasta_empty, sequences_type='')
     with pytest.raises(TypeError):
         Reader(fasta_empty, sequences_type=' ')
     with pytest.raises(TypeError):
         Reader(fasta_empty, sequences_type='wrong_type')
コード例 #3
0
ファイル: test_Reader.py プロジェクト: nahid18/FastaParser
 def test_single_fasta_file_rich(self, fasta_nucleotide_single,
                                 fasta_nucleotide_single_contents,
                                 fasta_aminoacid_single,
                                 fasta_aminoacid_single_contents):
     # nucleotide
     fasta_nucleotide_reader = Reader(fasta_nucleotide_single,
                                      sequences_type='nucleotide')
     fastas_nucleotide = []
     for fasta in fasta_nucleotide_reader:
         fastas_nucleotide.append(fasta)
     assert len(fastas_nucleotide) == 1
     assert fastas_nucleotide[0].sequence_as_string(
     ) == fasta_nucleotide_single_contents[0][2]
     assert fastas_nucleotide[0].id == fasta_nucleotide_single_contents[0][
         0]
     assert fastas_nucleotide[
         0].description == fasta_nucleotide_single_contents[0][1]
     assert fastas_nucleotide[0].sequence_type == 'nucleotide'
     assert fastas_nucleotide[0].inferred_type is False
     # aminoacid
     fasta_aminoacid_reader = Reader(fasta_aminoacid_single,
                                     sequences_type='aminoacid')
     fastas_aminoacid = []
     for fasta in fasta_aminoacid_reader:
         fastas_aminoacid.append(fasta)
     assert len(fastas_aminoacid) == 1
     assert fastas_aminoacid[0].sequence_as_string(
     ) == fasta_aminoacid_single_contents[0][2]
     assert fastas_aminoacid[0].id == fasta_aminoacid_single_contents[0][0]
     assert fastas_aminoacid[
         0].description == fasta_aminoacid_single_contents[0][1]
     assert fastas_aminoacid[0].sequence_type == 'aminoacid'
     assert fastas_aminoacid[0].inferred_type is False
コード例 #4
0
ファイル: test_Reader.py プロジェクト: nahid18/FastaParser
 def test_multiple_fasta_file_quick(self, fasta_nucleotide_multiple,
                                    fasta_nucleotide_multiple_contents,
                                    fasta_aminoacid_multiple,
                                    fasta_aminoacid_multiple_contents):
     # nucleotide
     fasta_nucleotide_reader = Reader(fasta_nucleotide_multiple,
                                      parse_method='quick')
     fastas_nucleotide = []
     for fasta in fasta_nucleotide_reader:
         fastas_nucleotide.append(fasta)
         assert fasta.sequence == fasta_nucleotide_multiple_contents[
             len(fastas_nucleotide) - 1][2]
         assert fasta.header == '>' + ' '.join(
             (fasta_nucleotide_multiple_contents[len(fastas_nucleotide) -
                                                 1][0],
              fasta_nucleotide_multiple_contents[len(fastas_nucleotide) -
                                                 1][1]))
     assert len(fastas_nucleotide) == 17
     # aminoacid
     fasta_aminoacid_reader = Reader(fasta_aminoacid_multiple,
                                     parse_method='quick')
     fastas_aminoacid = []
     for fasta in fasta_aminoacid_reader:
         fastas_aminoacid.append(fasta)
         assert fasta.sequence == fasta_aminoacid_multiple_contents[
             len(fastas_aminoacid) - 1][2]
         assert fasta.header == '>' + ' '.join(
             (fasta_aminoacid_multiple_contents[len(fastas_aminoacid) -
                                                1][0],
              fasta_aminoacid_multiple_contents[len(fastas_aminoacid) -
                                                1][1]))
     assert len(fastas_aminoacid) == 20
コード例 #5
0
ファイル: test_Reader.py プロジェクト: nahid18/FastaParser
 def test_infer_type_not_bool(self, fasta_empty):
     with pytest.raises(TypeError):
         Reader(fasta_empty, infer_type='')
     with pytest.raises(TypeError):
         Reader(fasta_empty, infer_type=[])
     with pytest.raises(TypeError):
         Reader(fasta_empty, infer_type=123)
コード例 #6
0
ファイル: test_Reader.py プロジェクト: nahid18/FastaParser
 def test_parse_method_wrong_str(self, fasta_empty):
     with pytest.raises(TypeError):
         Reader(fasta_empty, parse_method='')
     with pytest.raises(TypeError):
         Reader(fasta_empty, parse_method=' ')
     with pytest.raises(TypeError):
         Reader(fasta_empty, parse_method='wrong_type')
コード例 #7
0
ファイル: test_Reader.py プロジェクト: nahid18/FastaParser
 def test_current_iterator(self, fasta_empty):
     fasta_reader = Reader(fasta_empty)
     assert fasta_reader._current_iterator is None
     iterator = fasta_reader.__iter__()
     assert fasta_reader._current_iterator == iterator
     try:  # test if is iterable
         iter(fasta_reader._current_iterator)
     except TypeError:
         pytest.fail('Reader._current_iterator is not iterable.')
コード例 #8
0
ファイル: test_Reader.py プロジェクト: nahid18/FastaParser
 def test_sequences_type_aminoacid(self, fasta_aminoacid_multiple):
     fasta_reader = Reader(fasta_aminoacid_multiple,
                           sequences_type='aminoacid')
     assert fasta_reader.fasta_file is fasta_aminoacid_multiple
     assert fasta_reader.sequences_type == 'aminoacid'
     assert fasta_reader.infer_type is False
     assert fasta_reader.parse_method == 'rich'
コード例 #9
0
ファイル: test_Reader.py プロジェクト: nahid18/FastaParser
 def test_sequences_type_nucleotide(self, fasta_nucleotide_multiple):
     fasta_reader = Reader(fasta_nucleotide_multiple,
                           sequences_type='nucleotide')
     assert fasta_reader.fasta_file is fasta_nucleotide_multiple
     assert fasta_reader.sequences_type == 'nucleotide'
     assert fasta_reader.infer_type is False
     assert fasta_reader.parse_method == 'rich'
コード例 #10
0
ファイル: test_Writer.py プロジェクト: nahid18/FastaParser
 def test_fasta_sequence_fastasequence_objects(self,
                                               fasta_nucleotide_multiple,
                                               fasta_temporary_file):
     fasta_reader = Reader(fasta_nucleotide_multiple)
     fasta_writer = Writer(fasta_temporary_file)
     fasta_writer.writefastas(fasta_reader)
     # at this point the 2 files should be equal
     compare_2_files(fasta_nucleotide_multiple, fasta_temporary_file)
コード例 #11
0
ファイル: test_Writer.py プロジェクト: nahid18/FastaParser
 def test_fasta_sequence_tuple(self, fasta_nucleotide_single,
                               fasta_temporary_file):
     fasta_reader = Reader(fasta_nucleotide_single)
     fasta_writer = Writer(fasta_temporary_file)
     fasta = next(fasta_reader)
     fasta_writer.writefasta(
         (fasta.formatted_definition_line(), fasta.formatted_sequence()))
     # at this point the 2 files should be equal
     compare_2_files(fasta_nucleotide_single, fasta_temporary_file)
コード例 #12
0
ファイル: test_Writer.py プロジェクト: nahid18/FastaParser
 def test_fasta_sequence_fastasequence_object(self, fasta_nucleotide_single,
                                              fasta_temporary_file):
     fasta_reader = Reader(fasta_nucleotide_single)
     fasta_writer = Writer(fasta_temporary_file)
     fasta_writer.writefasta(
         next(fasta_reader
              ))  # only a single FASTA sequence in fasta_nucleotide_single
     # at this point the 2 files should be equal
     compare_2_files(fasta_nucleotide_single, fasta_temporary_file)
コード例 #13
0
ファイル: test_Writer.py プロジェクト: nahid18/FastaParser
 def test_fasta_sequence_tuples(self, fasta_nucleotide_multiple,
                                fasta_temporary_file):
     fasta_reader = Reader(fasta_nucleotide_multiple)
     fasta_writer = Writer(fasta_temporary_file)
     fastas = [(fasta.formatted_definition_line(),
                fasta.formatted_sequence()) for fasta in fasta_reader]
     fasta_writer.writefastas(fastas)
     # at this point the 2 files should be equal
     compare_2_files(fasta_nucleotide_multiple, fasta_temporary_file)
コード例 #14
0
ファイル: test_Reader.py プロジェクト: nahid18/FastaParser
 def test_fasta_no_empty_lines(self, fasta_no_empty_lines,
                               fasta_no_empty_lines_contents):
     fasta_reader = Reader(fasta_no_empty_lines, parse_method='quick')
     fastas = []
     for fasta in fasta_reader:
         fastas.append(fasta)
         assert fasta.sequence == fasta_no_empty_lines_contents[len(fastas)
                                                                - 1][2]
         assert fasta.header == '>' + ' '.join(
             (fasta_no_empty_lines_contents[len(fastas) - 1][0],
              fasta_no_empty_lines_contents[len(fastas) - 1][1]))
     assert len(fastas) == 2
コード例 #15
0
ファイル: test_Reader.py プロジェクト: nahid18/FastaParser
 def test_no_current_iterator(self, fasta_nucleotide_multiple,
                              fasta_nucleotide_multiple_contents):
     fasta_reader = Reader(fasta_nucleotide_multiple,
                           sequences_type='nucleotide')
     fasta = next(fasta_reader)
     assert fasta.sequence_as_string(
     ) == fasta_nucleotide_multiple_contents[0][2]
     assert fasta.id == fasta_nucleotide_multiple_contents[0][0]
     assert fasta.description == fasta_nucleotide_multiple_contents[0][1]
     assert fasta.sequence_type == 'nucleotide'
     assert fasta.inferred_type is False
     fasta = next(fasta_reader)
     assert fasta.sequence_as_string(
     ) == fasta_nucleotide_multiple_contents[1][2]
     assert fasta.id == fasta_nucleotide_multiple_contents[1][0]
     assert fasta.description == fasta_nucleotide_multiple_contents[1][1]
     assert fasta.sequence_type == 'nucleotide'
     assert fasta.inferred_type is False
コード例 #16
0
ファイル: test_Reader.py プロジェクト: nahid18/FastaParser
 def test_fasta_file_object_closed(self, fasta_nucleotide_multiple):
     fasta_nucleotide_multiple.close()
     with pytest.raises(TypeError):
         Reader(fasta_nucleotide_multiple)
コード例 #17
0
ファイル: test_Reader.py プロジェクト: nahid18/FastaParser
 def test_fasta_file_object_good(self, fasta_nucleotide_multiple):
     fasta_reader = Reader(fasta_nucleotide_multiple)
     assert fasta_reader.fasta_file is fasta_nucleotide_multiple
     assert fasta_reader.sequences_type is None
     assert fasta_reader.infer_type is False
     assert fasta_reader.parse_method == 'rich'
コード例 #18
0
ファイル: test_Reader.py プロジェクト: nahid18/FastaParser
 def test__repr__(self, fasta_empty):
     fasta_reader = Reader(fasta_empty)
     assert repr(
         fasta_reader) == 'fastaparser.Reader(%s)' % os.path.abspath(
             fasta_empty.name)
コード例 #19
0
ファイル: test_Reader.py プロジェクト: nahid18/FastaParser
 def test_empty_fasta_file_quick(self, fasta_empty):
     fasta_reader = Reader(fasta_empty, parse_method='quick')
     fastas = []
     for fasta in fasta_reader:
         fastas.append(fasta)
     assert len(fastas) == 0
コード例 #20
0
ファイル: test_Reader.py プロジェクト: nahid18/FastaParser
 def test_empty_fasta_file_rich(self, fasta_empty):
     fasta_reader = Reader(fasta_empty)
     fastas = []
     for fasta in fasta_reader:
         fastas.append(fasta)
     assert len(fastas) == 0
コード例 #21
0
ファイル: test_Reader.py プロジェクト: nahid18/FastaParser
 def test_sequences_type_wrong_type(self, fasta_empty):
     with pytest.raises(TypeError):
         Reader(fasta_empty, sequences_type=[])
     with pytest.raises(TypeError):
         Reader(fasta_empty, sequences_type=123)
コード例 #22
0
ファイル: test_Reader.py プロジェクト: nahid18/FastaParser
 def test_closed_file(self, fasta_empty):
     fasta_reader = Reader(fasta_empty)
     fasta_empty.close()
     with pytest.raises(TypeError):
         fasta_reader.__iter__()
コード例 #23
0
ファイル: test_Reader.py プロジェクト: nahid18/FastaParser
 def test_current_iterator(self, fasta_empty):
     fasta_reader = Reader(fasta_empty)
     assert fasta_reader._current_iterator is None
コード例 #24
0
ファイル: test_Reader.py プロジェクト: nahid18/FastaParser
 def test_parse_method_wrong_type(self, fasta_empty):
     with pytest.raises(TypeError):
         Reader(fasta_empty, parse_method=[])
     with pytest.raises(TypeError):
         Reader(fasta_empty, parse_method=123)
コード例 #25
0
ファイル: test_Reader.py プロジェクト: nahid18/FastaParser
 def test_parse_method_quick(self, fasta_empty):
     fasta_reader = Reader(fasta_empty, parse_method='quick')
     assert fasta_reader.fasta_file is fasta_empty
     assert fasta_reader.sequences_type is None
     assert fasta_reader.infer_type is False
     assert fasta_reader.parse_method == 'quick'
コード例 #26
0
ファイル: test_Reader.py プロジェクト: nahid18/FastaParser
 def test_infer_type_true(self, fasta_empty):
     fasta_reader = Reader(fasta_empty, infer_type=True)
     assert fasta_reader.fasta_file is fasta_empty
     assert fasta_reader.sequences_type is None
     assert fasta_reader.infer_type is True
     assert fasta_reader.parse_method == 'rich'