1313import tempfile
1414from os import remove
1515from os .path import getsize , exists
16+ import pandas as pd
1617
1718from .testing_helpers import data_path
1819
2425from isovar .cli .isovar_variant_reads import run as isovar_variant_reads
2526from isovar .cli .isovar_variant_sequences import run as isovar_variant_sequences
2627from isovar .cli .isovar_main import run as isovar_main
28+ from isovar .cli .rna_args import (
29+ make_rna_reads_arg_parser ,
30+ variants_reads_dataframe_from_args ,
31+ )
2732
2833vcf_args = [
2934 "--vcf" ,
3641]
3742
3843
39- def run_cli_fn (fn , include_bam_in_args = True ):
44+ def run_cli_fn (fn , include_bam_in_args = True , return_dataframe = False ):
4045 with tempfile .NamedTemporaryFile (delete = False ) as f :
4146 output_path = f .name
4247 assert not exists (output_path ) == 0
@@ -47,15 +52,22 @@ def run_cli_fn(fn, include_bam_in_args=True):
4752 args = vcf_args + output_args
4853 fn (args )
4954 assert getsize (output_path ) > 0
55+ if return_dataframe :
56+ df = pd .read_csv (output_path )
5057 remove (output_path )
58+ if return_dataframe :
59+ return df
5160
5261
5362def test_cli_allele_counts ():
5463 run_cli_fn (isovar_allele_counts )
5564
5665
5766def test_cli_allele_reads ():
58- run_cli_fn (isovar_allele_reads )
67+ df = run_cli_fn (isovar_allele_reads , return_dataframe = True )
68+ assert set (["prefix" , "allele" , "suffix" , "name" , "sequence" , "gene" ]).issubset (df .columns )
69+ assert "ref_reads" not in df .columns
70+ assert len (df ) == 293
5971
6072
6173def test_cli_reference_contexts ():
@@ -71,11 +83,21 @@ def test_cli_translations():
7183
7284
7385def test_cli_variant_reads ():
74- run_cli_fn (isovar_variant_reads )
86+ df = run_cli_fn (isovar_variant_reads , return_dataframe = True )
87+ assert set (["prefix" , "allele" , "suffix" , "name" , "sequence" , "gene" ]).issubset (df .columns )
88+ assert "ref_reads" not in df .columns
89+ assert len (df ) == 42
7590
7691
7792def test_cli_variant_sequences ():
7893 run_cli_fn (isovar_variant_sequences )
7994
8095def test_cli_main ():
81- run_cli_fn (isovar_main )
96+ run_cli_fn (isovar_main )
97+
98+
99+ def test_variant_reads_dataframe_helper ():
100+ args = make_rna_reads_arg_parser ().parse_args (args_with_bam )
101+ df = variants_reads_dataframe_from_args (args )
102+ assert set (["prefix" , "allele" , "suffix" , "name" , "sequence" , "gene" ]).issubset (df .columns )
103+ assert len (df ) == 42
0 commit comments