Exemplo n.º 1
0
 def testNCOMuchHigherThanUnacceptable(self):
     file = path.join(self.test_data_dir,
                      "test-NCO-Much-Higher-Than-Unacceptable.fasta")
     files = [file]
     quality_module = QualityModule(files, self.genome_size_lower_bound,
                                    self.genome_size_upper_bound,
                                    self.minimum_N50_value,
                                    self.minimum_contig_length,
                                    self.unacceptable_num_contigs)
     quality_module = quality_module.create_quality_module_dataframe()
     self.assertEqual(1, len(quality_module.index),
                      'Invalid number of rows in results')
     self.assertEqual('test-NCO-Much-Higher-Than-Unacceptable',
                      quality_module.index[0], 'File name not equal')
     self.assertEqual(
         110,
         quality_module['Number of Contigs Greater Than Or Equal To ' +
                        str(self.minimum_contig_length) + ' bp'].iloc[0],
         'Number of Contigs Greater Than Or Equal To Our Minimum Contig Length Not Equal'
     )
     self.assertEqual('Failed', quality_module['Quality Module'].iloc[0],
                      'Quality result not equal')
     self.assertEqual(
         'Genome length is not within the acceptable length range [{},{}] ; Number of Contigs with a length greater than or equal to the minimum Contig length [{}] exceeds the acceptable number [{}]'
         .format(self.genome_size_lower_bound, self.genome_size_upper_bound,
                 self.minimum_contig_length, self.unacceptable_num_contigs),
         quality_module['Quality Module Feedback'].iloc[0],
         'Quality feedback not equal')
Exemplo n.º 2
0
 def testNCUnacceptableByEmptyContigs(self):
     file = path.join(self.test_data_dir,
                      "test-NC-Unacceptable-By-Empty-Contigs.fasta")
     files = [file]
     quality_module = QualityModule(files, self.genome_size_lower_bound,
                                    self.genome_size_upper_bound,
                                    self.minimum_N50_value,
                                    self.minimum_contig_length,
                                    self.unacceptable_num_contigs)
     quality_module = quality_module.create_quality_module_dataframe()
     self.assertEqual(1, len(quality_module.index),
                      'Invalid number of rows in results')
     self.assertEqual('test-NC-Unacceptable-By-Empty-Contigs',
                      quality_module.index[0], 'File name not equal')
     self.assertEqual(
         9, quality_module['Number of Contigs Greater Than Or Equal To ' +
                           str(self.minimum_contig_length) + ' bp'].iloc[0],
         'Number of Contigs Greater Than Or Equal To Our Minimum Contig Length Not Equal'
     )
     self.assertEqual('Failed', quality_module['Quality Module'].iloc[0],
                      'Quality result not equal')
     self.assertEqual(
         'Genome length is not within the acceptable length range [{},{}]'.
         format(self.genome_size_lower_bound, self.genome_size_upper_bound),
         quality_module['Quality Module Feedback'].iloc[0],
         'Quality feedback not equal')
Exemplo n.º 3
0
 def testGenomeSizeExactlyMaximum(self):
     file = path.join(self.test_data_dir,
                      "test-Genome-Size-Exactly-Maximum.fasta")
     files = [file]
     quality_module = QualityModule(files, self.genome_size_lower_bound,
                                    self.genome_size_upper_bound,
                                    self.minimum_N50_value,
                                    self.minimum_contig_length,
                                    self.unacceptable_num_contigs)
     quality_module = quality_module.create_quality_module_dataframe()
     self.assertEqual(1, len(quality_module.index),
                      'Invalid number of rows in results')
     self.assertEqual('test-Genome-Size-Exactly-Maximum',
                      quality_module.index[0], 'File name not equal')
     self.assertEqual(600, quality_module['Genome Length'].iloc[0],
                      'Genome length not equal')
     self.assertEqual('Passed', quality_module['Quality Module'].iloc[0],
                      'Quality result not equal')
     self.assertEqual('', quality_module['Quality Module Feedback'].iloc[0],
                      'Quality feedback not equal')
Exemplo n.º 4
0
 def testN50Calculation(self):
     #tests to make sure N50 contig length +all contig lengths greater than it >= half of genome length, here we are testing the = part
     file = path.join(self.test_data_dir, "test-N50-Calculation.fasta")
     files = [file]
     quality_module = QualityModule(files, self.genome_size_lower_bound,
                                    self.genome_size_upper_bound,
                                    self.minimum_N50_value,
                                    self.minimum_contig_length,
                                    self.unacceptable_num_contigs)
     quality_module = quality_module.create_quality_module_dataframe()
     self.assertEqual(1, len(quality_module.index),
                      'Invalid number of rows in results')
     self.assertEqual('test-N50-Calculation', quality_module.index[0],
                      'File name not equal')
     self.assertEqual(102, quality_module['N50 value'].iloc[0],
                      'N50 vlaue not equal')
     self.assertEqual('Passed', quality_module['Quality Module'].iloc[0],
                      'Quality result not equal')
     self.assertEqual('', quality_module['Quality Module Feedback'].iloc[0],
                      'Quality feedback not equal')
Exemplo n.º 5
0
 def testN50MuchLargerThanMinimumValue(self):
     file = path.join(self.test_data_dir,
                      "test-N50-Much-Larger-Than-Minimum-Value.fasta")
     files = [file]
     quality_module = QualityModule(files, self.genome_size_lower_bound,
                                    self.genome_size_upper_bound,
                                    self.minimum_N50_value,
                                    self.minimum_contig_length,
                                    self.unacceptable_num_contigs)
     quality_module = quality_module.create_quality_module_dataframe()
     self.assertEqual(1, len(quality_module.index),
                      'Invalid number of rows in results')
     self.assertEqual('test-N50-Much-Larger-Than-Minimum-Value',
                      quality_module.index[0], 'File name not equal')
     self.assertEqual(1000, quality_module['N50 value'].iloc[0],
                      'N50 vlaue not equal')
     self.assertEqual('Failed', quality_module['Quality Module'].iloc[0],
                      'Quality result not equal')
     self.assertEqual(
         'Genome length is not within the acceptable length range [{},{}]'.
         format(self.genome_size_lower_bound, self.genome_size_upper_bound),
         quality_module['Quality Module Feedback'].iloc[0],
         'Quality feedback not equal')
Exemplo n.º 6
0
 def testNCOMuchLowerThanUnacceptable(self):
     file = path.join(self.test_data_dir,
                      "test-NCO-Much-Lower-Than-Unacceptable.fasta")
     files = [file]
     quality_module = QualityModule(files, self.genome_size_lower_bound,
                                    self.genome_size_upper_bound,
                                    self.minimum_N50_value,
                                    self.minimum_contig_length,
                                    self.unacceptable_num_contigs)
     quality_module = quality_module.create_quality_module_dataframe()
     self.assertEqual(1, len(quality_module.index),
                      'Invalid number of rows in results')
     self.assertEqual('test-NCO-Much-Lower-Than-Unacceptable',
                      quality_module.index[0], 'File name not equal')
     self.assertEqual(
         1, quality_module['Number of Contigs Greater Than Or Equal To ' +
                           str(self.minimum_contig_length) + ' bp'].iloc[0],
         'Number of Contigs Greater Than Or Equal To Our Minimum Contig Length Not Equal'
     )
     self.assertEqual('Passed', quality_module['Quality Module'].iloc[0],
                      'Quality result not equal')
     self.assertEqual('', quality_module['Quality Module Feedback'].iloc[0],
                      'Quality feedback not equal')
Exemplo n.º 7
0
 def testGenomeSizeUnaffectedByEmptyContigs(self):
     file = path.join(self.test_data_dir,
                      "test-Genome-Size-Unaffected-By-Empty-Contigs.fasta")
     files = [file]
     quality_module = QualityModule(files, self.genome_size_lower_bound,
                                    self.genome_size_upper_bound,
                                    self.minimum_N50_value,
                                    self.minimum_contig_length,
                                    self.unacceptable_num_contigs)
     quality_module = quality_module.create_quality_module_dataframe()
     self.assertEqual(1, len(quality_module.index),
                      'Invalid number of rows in results')
     self.assertEqual('test-Genome-Size-Unaffected-By-Empty-Contigs',
                      quality_module.index[0], 'File name not equal')
     self.assertEqual(600, quality_module['Genome Length'].iloc[0],
                      'Genome length not equal')
     self.assertEqual('Failed', quality_module['Quality Module'].iloc[0],
                      'Quality result not equal')
     self.assertEqual(
         'N50 value is not greater than the specified minimum value [{}]'.
         format(self.minimum_N50_value),
         quality_module['Quality Module Feedback'].iloc[0],
         'Quality feedback not equal')
Exemplo n.º 8
0
 def testGenomeSizeLargerThanMaximum(self):
     file = path.join(self.test_data_dir,
                      "test-Genome-Size-Larger-Than-Maximum.fasta")
     files = [file]
     quality_module = QualityModule(files, self.genome_size_lower_bound,
                                    self.genome_size_upper_bound,
                                    self.minimum_N50_value,
                                    self.minimum_contig_length,
                                    self.unacceptable_num_contigs)
     quality_module = quality_module.create_quality_module_dataframe()
     self.assertEqual(1, len(quality_module.index),
                      'Invalid number of rows in results')
     self.assertEqual('test-Genome-Size-Larger-Than-Maximum',
                      quality_module.index[0], 'File name not equal')
     self.assertEqual(700, quality_module['Genome Length'].iloc[0],
                      'Genome length not equal')
     self.assertEqual('Failed', quality_module['Quality Module'].iloc[0],
                      'Quality result not equal')
     self.assertEqual(
         'Genome length is not within the acceptable length range [{},{}] ; N50 value is not greater than the specified minimum value [{}]'
         .format(self.genome_size_lower_bound, self.genome_size_upper_bound,
                 self.minimum_N50_value),
         quality_module['Quality Module Feedback'].iloc[0],
         'Quality feedback not equal')
Exemplo n.º 9
0
    def create_quality_module_dataframe(self,files,genome_size_lower_bound,genome_size_upper_bound,minimum_N50_value,
                                        minimum_contig_length,unacceptable_num_contigs) ->DataFrame:
        quality_module = QualityModule(files,genome_size_lower_bound,genome_size_upper_bound,minimum_N50_value,
                                        minimum_contig_length,unacceptable_num_contigs)

        return quality_module.create_quality_module_dataframe()