def run(self): ReadPairImporter._check_database(self.db, self.seqrep_id, self.isolate_id, self.sequence_replicate_number) for filename in self.reads_file_1, self.reads_file_2: if not os.path.exists(filename): raise Error('Error! Reads file ' + filename + ' not found, Cannot continue.') iso_dir = isolate_dir.IsolateDir(self.pipeline_root_dir, self.sample_id, self.isolate_id) iso_dir.make_essential_dirs() lock_file = os.path.join(iso_dir.reads_dir, 'import_lock.' + str(self.seqrep_id)) if os.path.exists(lock_file): raise Error('Error! Lock file ' + lock_file + ' found. Cannot continue') utils.make_empty_file(lock_file) try: fqtools.validate([self.reads_file_1, self.reads_file_2]) ReadPairImporter._copy_reads_file( self.reads_file_1, iso_dir.reads_filename('original', self.sequence_replicate_number, 1), self.reads_file_md5_1) ReadPairImporter._copy_reads_file( self.reads_file_2, iso_dir.reads_filename('original', self.sequence_replicate_number, 2), self.reads_file_md5_2) ReadPairImporter._update_database(self.db, self.seqrep_id, self.isolate_id, self.sequence_replicate_number, import_status=1) os.unlink(self.reads_file_1) os.unlink(self.reads_file_2) for filename in (self.reads_file_1 + '.md5', self.reads_file_2 + '.md5'): if os.path.exists(filename): os.unlink(filename) self.db.commit_and_close() os.unlink(lock_file) except: ReadPairImporter._update_database(self.db, self.seqrep_id, self.isolate_id, self.sequence_replicate_number, import_status=-1) self.db.commit_and_close() if os.path.exists(lock_file): os.unlink(lock_file)
def test_validate(self): """test validate""" bad_file = os.path.join(data_dir, "validate.bad.fq") with self.assertRaises(Exception): fqtools.validate([bad_file]) bad_pair_1 = os.path.join(data_dir, "validate.bad.pair.1.fq") bad_pair_2 = os.path.join(data_dir, "validate.bad.pair.2.fq") with self.assertRaises(Exception): fqtools.validate([bad_pair_1, bad_pair_2]) ok_pair_1 = os.path.join(data_dir, "validate.ok.pair.1.fq") ok_pair_2 = os.path.join(data_dir, "validate.ok.pair.2.fq") fqtools.validate([ok_pair_1, ok_pair_2])
def test_validate(self): '''test validate''' bad_file = os.path.join(data_dir, 'validate.bad.fq') with self.assertRaises(fqtools.Error): fqtools.validate([bad_file]) bad_pair_1 = os.path.join(data_dir, 'validate.bad.pair.1.fq') bad_pair_2 = os.path.join(data_dir, 'validate.bad.pair.2.fq') with self.assertRaises(fqtools.Error): fqtools.validate([bad_pair_1, bad_pair_2]) ok_pair_1 = os.path.join(data_dir, 'validate.ok.pair.1.fq') ok_pair_2 = os.path.join(data_dir, 'validate.ok.pair.2.fq') fqtools.validate([ok_pair_1, ok_pair_2])