예제 #1
0
파일: cluster.py 프로젝트: aslett1/ariba
    def _get_total_alignment_score(self, gene_name):
        tmp_bam = os.path.join(self.root_dir,
                               'tmp.get_total_alignment_score.bam')
        assert not os.path.exists(tmp_bam)
        tmp_fa = os.path.join(self.root_dir,
                              'tmp.get_total_alignment_score.ref.fa')
        assert not os.path.exists(tmp_fa)
        faidx.write_fa_subset([gene_name],
                              self.genes_fa,
                              tmp_fa,
                              samtools_exe=self.samtools_exe,
                              verbose=self.verbose)
        mapping.run_bowtie2(
            self.reads1,
            self.reads2,
            tmp_fa,
            tmp_bam[:-4],
            threads=self.threads,
            samtools=self.samtools_exe,
            bowtie2=self.bowtie2_exe,
            bowtie2_preset=self.bowtie2_preset,
            verbose=self.verbose,
        )

        score = mapping.get_total_alignment_score(tmp_bam)
        os.unlink(tmp_bam)
        os.unlink(tmp_fa)
        os.unlink(tmp_fa + '.fai')
        return score
예제 #2
0
 def test_get_total_alignment_score(self):
     '''Test get_total_alignment_score'''
     bam = os.path.join(data_dir,
                        'mapping_test_get_total_alignment_score.bam')
     expected = 219
     got = mapping.get_total_alignment_score(bam)
     self.assertEqual(got, expected)
예제 #3
0
    def _total_alignment_score(self, seq_name):
        tmpdir = tempfile.mkdtemp(prefix='tmp.get_total_aln_score.', dir=os.getcwd())
        tmp_bam = os.path.join(tmpdir, 'tmp.get_total_alignment_score.bam')
        tmp_fa = os.path.join(tmpdir, 'tmp.get_total_alignment_score.ref.fa')

        faidx.write_fa_subset(
            [seq_name],
            self.references_fa,
            tmp_fa,
            samtools_exe=self.samtools_exe,
            verbose=True,
            verbose_filehandle=self.log_fh
        )

        mapping.run_bowtie2(
            self.reads1,
            self.reads2,
            tmp_fa,
            tmp_bam[:-4],
            threads=self.threads,
            samtools=self.samtools_exe,
            bowtie2=self.bowtie2_exe,
            bowtie2_preset=self.bowtie2_preset,
            verbose=True,
            verbose_filehandle=self.log_fh
        )

        score = mapping.get_total_alignment_score(tmp_bam)
        shutil.rmtree(tmpdir)
        return score
예제 #4
0
파일: cluster.py 프로젝트: codemeleon/ariba
    def _get_total_alignment_score(self, gene_name):
        tmp_bam = os.path.join(self.root_dir, 'tmp.get_total_alignment_score.bam')
        assert not os.path.exists(tmp_bam)
        tmp_fa = os.path.join(self.root_dir, 'tmp.get_total_alignment_score.ref.fa')
        assert not os.path.exists(tmp_fa)
        faidx.write_fa_subset([gene_name], self.genes_fa, tmp_fa, samtools_exe=self.samtools_exe, verbose=self.verbose)
        mapping.run_bowtie2(
            self.reads1,
            self.reads2,
            tmp_fa,
            tmp_bam[:-4],
            threads=self.threads,
            samtools=self.samtools_exe,
            bowtie2=self.bowtie2_exe,
            bowtie2_preset=self.bowtie2_preset,
            verbose=self.verbose,
        )

        score = mapping.get_total_alignment_score(tmp_bam)
        os.unlink(tmp_bam)
        os.unlink(tmp_fa)
        os.unlink(tmp_fa + '.fai')
        return score
예제 #5
0
파일: mapping_test.py 프로젝트: satta/ariba
 def test_get_total_alignment_score(self):
     '''Test get_total_alignment_score'''
     bam = os.path.join(data_dir, 'mapping_test_get_total_alignment_score.bam')
     expected = 219
     got = mapping.get_total_alignment_score(bam)
     self.assertEqual(got, expected)