コード例 #1
0
 def test_align_multi(self, ddir, prsr):
     tsk = FlexTask(**vars(prsr))
     tsk.run()
     with open(
             os.path.join(ddir, 'output_data',
                          'reference_alignment_target.csv')) as f:
         result = f.readlines()
     with open('tests/data/3sak/3sak_self.csv') as f:
         template = f.readlines()
     self.assertEqual(result, template)
コード例 #2
0
 def test_analysis(self, ddir, prsr):
     tsk = FlexTask(**vars(prsr))
     tsk.run()
     with open(os.path.join(ddir, 'output_pdbs', 'replica.pdb')) as f:
         result = f.readlines()
     with open('tests/data/1hpw/replica.pdb') as f:
         template = f.readlines()
     inds = numpy.random.choice(range(len(result)), 50)
     result = list(numpy.array(result)[inds])
     template = list(numpy.array(template)[inds])
     self.assertEqual(result, template)
コード例 #3
0
 def test_rmsf(self, ddir, prsr):
     """Plik tests/data/2gb1.rmsf zawiera znormalizowane do max rmsf z wersji serwerowej."""
     if cla.fast:
         raise SkipTest
     tsk = FlexTask(**vars(prsr))
     tsk.run()
     with open(os.path.join(ddir, 'plots/RMSF.csv')) as f:
         rmsf = [float(l.split()[1]) for l in f.readlines()]
     rmsf = [i / max(rmsf) for i in rmsf]
     with open('tests/data/2gb1.rmsf') as f:
         ref = [float(l.split()[1]) for l in f.readlines()]
     diffs = [i - j for i, j in zip(rmsf, ref)]
     av = sum(map(abs, diffs)) / len(diffs)
     self.assertLess(av, .15)  # average lower than .15
     mavs = [sum(diffs[i:i + 6]) / 6. for i in range(len(diffs) - 6)]
     self.assertGreater(len([i for i in map(abs, mavs) if i < .2]),
                        .8 * len(diffs))
コード例 #4
0
    def test_run_default(self, ddir, prsr):
        if cla.fast:
            raise SkipTest
        tsk = FlexTask(**vars(prsr))
        tsk.run()

        def clc_len(fn):
            with open(fn) as f:
                return len(f.raedlines())

        csvs = {
            i: clc_len(ddir + '/plots/' + i)
            for i in os.listdir(ddir + '/plots') if 'csv' in i
        }
        for i, j in csvs.items():
            self.assertEqual(j, 129 if i == 'RMSF.csv' else 1000)

        rmtree(ddir)
コード例 #5
0
 def test_default(self, ddir, prsr):
     tsk = FlexTask(**vars(prsr))
     self.assertEqual(tsk.mc_steps, 50)
     self.assertEqual(tsk.replicas, 1)
     self.assertEqual(tsk.mc_annealing, 20)
     self.assertEqual(tsk.mc_cycles, 50)
     self.assertEqual(tsk.input_protein, '1hpw')
     self.assertEqual(tsk.protein_restraints, ('ss2', 3, 3.8, 8.0))
     self.assertEqual(tsk.work_dir, ddir)
     self.assertEqual(tsk.verbose, 0)
コード例 #6
0
 def test_output_completeness(self, ddir, prsr):
     tsk = FlexTask(**vars(prsr))
     tsk.run()
     lst = os.listdir(ddir)
     outSet = {
         'output_pdbs': [
             '%s_%i.pdb' % (tp, i) for tp in ('model', 'cluster')
             for i in range(10)
         ] + ['replica.pdb'],
         'output_data': [
             'all_rmsds_A.txt', 'lowest_rmsds_A.txt', 'medoids_rmsds_A.txt',
             'reference_alignment_target.csv'
         ],
         'plots': [
             '%s.%s' % (n, e) for e in ('csv', 'svg')
             for n in ('E_RMSD_A_total', 'RMSD_frame_A_replica_0')
         ]
     }
     self.assertEqual(set(lst).intersection(outSet), set(outSet.keys()))
     for i, j in outSet.items():
         lst = os.listdir(ddir + '/' + i)
         self.assertEqual(set(lst).intersection(j), set(j))
コード例 #7
0
 def test_FTinit(self, ddir, prsr):
     tsk = FlexTask(**vars(prsr))
コード例 #8
0
 def test_raises_VE_wrong_reference(self, ddir, prsr):
     tsk = FlexTask(**vars(prsr))
     ftraf = tsk.file_TRAF
     fseq = tsk.file_SEQ
     tsk.setup_job()
     tsk.parse_reference(tsk.reference_pdb)
     tsk.load_output(ftraf, fseq)
     tsk.score_results(n_filtered=tsk.filtering_count,
                       number_of_medoids=tsk.clustering_medoids,
                       number_of_iterations=tsk.clustering_iterations)
     with self.assertRaises(ValueError):
         tsk.calculate_rmsd()
コード例 #9
0
 def test_save_CABS_files(self, ddir, prsr):
     tsk = FlexTask(**vars(prsr))
     tsk.run()
     self.assertTrue(any('.cbs' in i for i in os.listdir(ddir)))
コード例 #10
0
 def test_run(self, ddir, prsr):
     tsk = FlexTask(**vars(prsr))
     tsk.run()