def test_bam(tmpdir): datatest = sequana_data("test.bam", "testing") s = BAM(datatest) assert len(s) == 1000 assert s.is_sorted is True df = s.get_df_concordance() assert s.is_paired is True assert int(df.length.sum()) == 67938 assert int(df.M.sum()) == 67788 df = s.get_df() # call this here before other computations on purpose with TempFile(suffix=".json") as fh: s.bam_analysis_to_json(fh.name) assert s.get_read_names() s.get_mapped_read_length() s.get_stats() s.get_stats_full() s.get_samtools_stats_as_df() with TempFile() as fh: s.to_fastq(fh.name) from sequana import FastQ ff = FastQ(fh.name) len(ff) == len(s) # plotting with TempFile(suffix='.png') as fh: s.plot_bar_flags(filename=fh.name, logy=True) s.plot_bar_flags(filename=fh.name) with TempFile(suffix='.png') as fh: s.plot_bar_mapq(filename=fh.name) s.get_gc_content() s.get_length_count() s.plot_gc_content() s.boxplot_qualities() s.boxplot_qualities(max_sample=50) try: s.plot_gc_content(bins=[1, 2, 10]) assert False except: assert True
def test_bam(tmpdir): datatest = sequana_data("test.bam", "testing") s = BAM(datatest) assert len(s) == 1000 assert s.is_sorted is True df = s.get_df_concordance() assert s.is_paired is True assert int(df.length.sum()) == 67938 assert int(df.M.sum()) == 67788 # call this here before other computations on purpose with TempFile(suffix=".json") as fh: s.bam_analysis_to_json(fh.name) assert s.get_read_names() s.get_mapped_read_length() s.get_stats() s.get_full_stats_as_df() with TempFile() as fh: s.to_fastq(fh.name) from sequana import FastQ ff = FastQ(fh.name) len(ff) == len(s) # plotting with TempFile(suffix='.png') as fh: s.plot_bar_flags(filename=fh.name, logy=True) s.plot_bar_flags(filename=fh.name) with TempFile(suffix='.png') as fh: s.plot_bar_mapq(filename=fh.name) s.get_gc_content() s.get_length_count() s.plot_gc_content() s.boxplot_qualities() s.boxplot_qualities(max_sample=50) try: s.plot_gc_content(bins=[1,2,10]) assert False except: assert True
def test_bam(tmpdir): s = BAM(datatest) assert len(s) == 1000 assert s.is_sorted is True assert len(list(s.iter_unmapped_reads())) == 2 s.reset() assert len(list(s.iter_mapped_reads())) == 998 s.reset() # call this here before other computations on purpose with TempFile(suffix=".json") as fh: s.bam_analysis_to_json(fh.name) assert s.get_read_names() s.get_mapped_read_length() s.get_stats() s.get_full_stats_as_df() with TempFile(suffix='.png') as fh: s.plot_bar_flags(filename=fh.name, logy=True) s.plot_bar_flags(filename=fh.name) with TempFile(suffix='.png') as fh: s.plot_bar_mapq(filename=fh.name) with TempFile() as fh: s.to_fastq(fh.name) from sequana import FastQ ff = FastQ(fh.name) len(ff) == len(s) s.get_gc_content() s.get_length_count() s.plot_gc_content() try: s.plot_gc_content(bins=[1, 2, 10]) assert False except: assert True