py-cmdtabs 1.2.1__tar.gz → 1.2.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/PKG-INFO +5 -1
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/README.rst +4 -1
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/setup.cfg +1 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/src/py_cmdtabs/cli_manager.py +6 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/src/py_cmdtabs/cmdtabs.py +68 -8
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/src/py_cmdtabs/main_modules.py +12 -2
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/src/py_cmdtabs.egg-info/PKG-INFO +5 -1
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/src/py_cmdtabs.egg-info/SOURCES.txt +17 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/src/py_cmdtabs.egg-info/requires.txt +1 -0
- py_cmdtabs-1.2.2/src/py_cmdtabs.egg-info/scm_file_list.json +199 -0
- py_cmdtabs-1.2.2/src/py_cmdtabs.egg-info/scm_version.json +8 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/Report.html +994 -399
- py_cmdtabs-1.2.2/tests/cli_example_report/outputs/corrupted_table +1 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/subtemplates/create_metric_table +2 -2
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/subtemplates/merge_tabular +2 -2
- py_cmdtabs-1.2.2/tests/cli_example_report/subtemplates/sort_rows_by +53 -0
- py_cmdtabs-1.2.2/tests/cli_example_report/subtemplates/subset_table +42 -0
- py_cmdtabs-1.2.2/tests/cli_example_report/tables/pats_order +4 -0
- py_cmdtabs-1.2.2/tests/cli_example_report/tables/table_to_sort_2cols_header +5 -0
- py_cmdtabs-1.2.2/tests/cli_example_report/template.txt +82 -0
- py_cmdtabs-1.2.2/tests/data_tests/pats_order +3 -0
- py_cmdtabs-1.2.2/tests/data_tests/ref_output_scripts/table_to_sort_2cols_header +4 -0
- py_cmdtabs-1.2.2/tests/data_tests/ref_output_scripts/table_to_sort_header_by_cat +4 -0
- py_cmdtabs-1.2.2/tests/data_tests/ref_output_scripts/table_to_sort_header_by_pat +4 -0
- py_cmdtabs-1.2.2/tests/data_tests/ref_output_scripts/table_to_sort_header_by_score +4 -0
- py_cmdtabs-1.2.2/tests/data_tests/ref_output_scripts/table_to_sort_noheader_by_cat +3 -0
- py_cmdtabs-1.2.2/tests/data_tests/ref_output_scripts/table_to_sort_noheader_by_pat +3 -0
- py_cmdtabs-1.2.2/tests/data_tests/ref_output_scripts/table_to_sort_noheader_by_score +3 -0
- py_cmdtabs-1.2.2/tests/data_tests/table_to_sort_2cols_header +4 -0
- py_cmdtabs-1.2.2/tests/data_tests/table_to_sort_header +4 -0
- py_cmdtabs-1.2.2/tests/data_tests/table_to_sort_noheader +3 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/test_cli_manager.py +87 -1
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/test_cmdtabs_lib.py +12 -0
- py_cmdtabs-1.2.1/tests/cli_example_report/subtemplates/subset_table +0 -41
- py_cmdtabs-1.2.1/tests/cli_example_report/template.txt +0 -87
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/.readthedocs.yml +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/AUTHORS.rst +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/CHANGELOG.rst +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/CONTRIBUTING.rst +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/LICENSE.txt +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/docs/Makefile +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/docs/_static/.gitignore +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/docs/authors.rst +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/docs/changelog.rst +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/docs/conf.py +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/docs/contributing.rst +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/docs/index.rst +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/docs/license.rst +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/docs/readme.rst +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/docs/requirements.txt +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/make_package.sh +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/pyproject.toml +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/requirements.txt +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/setup.py +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/src/py_cmdtabs/__init__.py +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/src/py_cmdtabs.egg-info/dependency_links.txt +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/src/py_cmdtabs.egg-info/entry_points.txt +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/src/py_cmdtabs.egg-info/not-zip-safe +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/src/py_cmdtabs.egg-info/top_level.txt +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/__init__.py +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/example +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/launch.sh +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/outputs/blackfiltered_long_table +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/outputs/filtered_long_table +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/outputs/ref_filtered_disease_cluster_ref_rnd +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/outputs/subset_table/disease_cluster_ref_rnd_chunk0 +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/outputs/subset_table/disease_cluster_ref_rnd_chunk1 +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/outputs/subset_table/disease_cluster_ref_rnd_chunk2 +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/outputs/subset_table2/disease_cluster_ref_rnd_chunk0 +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/outputs/subset_table2/disease_cluster_ref_rnd_chunk1 +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/outputs/wide_table +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/special_files/hoja1.png +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/special_files/hoja2.png +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/special_files/scRNAseq.htm +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/special_files/scRNAseq.xlsx +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/special_files/scRNAseq_archivos/filelist.xml +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/special_files/scRNAseq_archivos/sheet001.htm +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/special_files/scRNAseq_archivos/sheet002.htm +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/special_files/scRNAseq_archivos/stylesheet.css +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/special_files/scRNAseq_archivos/tabstrip.htm +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/special_files/~$scRNAseq.xlsx +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/styles.css +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/subtemplates/aggregate_column_data +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/subtemplates/column_filter +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/subtemplates/desaggregate_column_data +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/subtemplates/excel_to_tabular +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/subtemplates/filter_by_list +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/subtemplates/get_columns +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/subtemplates/intersect_columns +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/subtemplates/records_count +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/subtemplates/show_n_exec +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/subtemplates/standard_name_replacer +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/subtemplates/table_linker +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/subtemplates/tag_table +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/subtemplates/transform_to_latex +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/subtemplates/transpose_table +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/tables/cluster_genes_dis_agg +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/tables/cluster_genes_dis_agg2 +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/tables/cluster_genes_dis_desagg +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/tables/cluster_genes_dis_desagg_3cols +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/tables/cluster_genes_dis_desagg_4cols +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/tables/cluster_stats +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/tables/clusts_to_filter +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/tables/disease_cluster +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/tables/disease_cluster_ref_rnd +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/tables/disease_cluster_uniq +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/tables/disease_gene +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/tables/long_disease_cluster +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/tables/long_table +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/tables/metrics_table +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/tables/mondo_to_orpha +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/tables/nets_to_filter +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/tables/organization +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/tables/simple_table +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/cli_example_report/tables/tracker +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/conftest.py +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/agg_2index_2values.txt +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/agg_data_3_columns.txt +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/all_metrics +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/blacklist +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/blacklist_partial +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/cluster_genes.xlsx +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/cluster_genes_dis_agg +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/cluster_genes_dis_desagg +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/cluster_stats +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/cluster_stats_header +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/dis_gene_attrs +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/disease_cluster +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/disease_cluster_uniq +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/disease_gene +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/filterlist +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/filterlist_partial +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/hp_long_list.txt +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ids2count +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ids2count_short +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/metric_table +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/mondo_genes +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/mondo_genes.gz +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/TEST_file +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/TEST_file_transposed +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/agg_2index_2values.txt +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/agg_2index_2values_several_aggregators.txt +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/agg_data_3_columns_result.txt +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/cluster_genes_dis_AGG +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/cluster_genes_dis_AGG_stdin +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/cluster_genes_dis_DESAGG +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/cluster_genes_dis_DESAGG_stdin +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/cluster_genes_from_excel.txt +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/column_matching_hard +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/column_matching_hard_various_keys +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/column_matching_hard_various_keys_and_every_columns +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/column_matching_hard_various_keys_and_every_columns_header +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/column_matching_hard_various_keys_and_some_columns +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/column_matching_soft +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/column_matching_soft_1_column +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/column_matching_soft_1_column_reverse +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/column_matching_soft_1_column_uniq +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/column_matching_soft_and_every_columns +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/column_matching_soft_and_some_columns +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/ids2count +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/intersect_columns_count +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/intersect_columns_default +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/intersect_columns_default_stdin_a +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/intersect_columns_default_stdin_b +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/intersect_columns_full +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/linked_table +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/linked_table3 +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/linked_table_2 +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/linked_table_matches +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/merge_disease_cluster_gene +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/metric_table +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/mondo_genes_transposed +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/mondo_genes_transposed.gz +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/replaced_name +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/replaced_name_untranslated +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/subset_table +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/subset_table_fold/mondo_genes_chunk0 +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/subset_table_fold/mondo_genes_chunk1 +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/subset_table_fold/mondo_genes_chunk2 +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/tag_table +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/tag_table_header +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/transposed_cluster_genes_dis_AGG +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/transposed_cluster_genes_dis_DESAGG +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/transposed_cluster_genes_from_excel.txt +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/transposed_column_matching_hard +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/transposed_intersect_columns_default +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/transposed_linked_table +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/transposed_merge_disease_cluster_gene +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/transposed_metric_table +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/transposed_replaced_name +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/ref_output_scripts/transposed_tag_table +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/simple_table +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/tracker +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/transposed/all_metrics +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/transposed/cluster_genes.xlsx +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/transposed/cluster_genes_dis_agg +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/transposed/cluster_genes_dis_desagg +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/transposed/cluster_stats +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/transposed/disease_cluster +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/transposed/disease_cluster_uniq +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/transposed/disease_gene +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/data_tests/transposed/tranpose_data.py +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/test_compressed_pipes.sh +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/test_expanded_methods.py +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/test_input_parsing.py +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tests/test_io.py +0 -0
- {py_cmdtabs-1.2.1 → py_cmdtabs-1.2.2}/tox.ini +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: py_cmdtabs
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.2
|
|
4
4
|
Summary: Set of tools to facilitate parsing of tabulated files
|
|
5
5
|
Home-page: https://github.com/seoanezonjic/py_cmdtabs
|
|
6
6
|
Author: seoanezonjic
|
|
@@ -15,6 +15,7 @@ License-File: LICENSE.txt
|
|
|
15
15
|
Requires-Dist: importlib-metadata; python_version < "3.8"
|
|
16
16
|
Requires-Dist: openpyxl
|
|
17
17
|
Requires-Dist: numpy
|
|
18
|
+
Requires-Dist: pandas
|
|
18
19
|
Provides-Extra: testing
|
|
19
20
|
Requires-Dist: setuptools; extra == "testing"
|
|
20
21
|
Requires-Dist: pytest; extra == "testing"
|
|
@@ -71,3 +72,6 @@ py_cmdtabs includes tools that make it easier for its user to manipulate tabulat
|
|
|
71
72
|
* Replace information: The standard_name_replacer.py script replaces values in a table based on a contributed value code.
|
|
72
73
|
* Filter columns: The column_filter.py script filters columns from a tabulated file whose elements match a specified pattern.
|
|
73
74
|
* Transform Excel format into tabular: the excel_to_tabular.py script transforms files with an .xlsx extension into tabular files and makes their handling easier.
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
See https://github.com/seoanezonjic/py_cmdtabs
|
|
@@ -47,4 +47,7 @@ py_cmdtabs includes tools that make it easier for its user to manipulate tabulat
|
|
|
47
47
|
* Obtain common information: the table_linker.py script allows you to save in the same output file the information extracted from a tabulated file, based on the identifiers of a second file.
|
|
48
48
|
* Replace information: The standard_name_replacer.py script replaces values in a table based on a contributed value code.
|
|
49
49
|
* Filter columns: The column_filter.py script filters columns from a tabulated file whose elements match a specified pattern.
|
|
50
|
-
* Transform Excel format into tabular: the excel_to_tabular.py script transforms files with an .xlsx extension into tabular files and makes their handling easier.
|
|
50
|
+
* Transform Excel format into tabular: the excel_to_tabular.py script transforms files with an .xlsx extension into tabular files and makes their handling easier.
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
See https://github.com/seoanezonjic/py_cmdtabs
|
|
@@ -339,6 +339,8 @@ def cmdtabs(args=None):
|
|
|
339
339
|
help="Sheet number to work with. Default 1")
|
|
340
340
|
parser.add_argument("--file_type", dest="file_type", default='text',
|
|
341
341
|
help="Default text. Other options;excel")
|
|
342
|
+
parser.add_argument("--out_file_type", dest="out_file_type", default='text',
|
|
343
|
+
help="Default text. Other options;excel")
|
|
342
344
|
parser.add_argument("--from", dest="frm", default=0, type=based_0,
|
|
343
345
|
help="Column in index file to take reference value. Default 1. Numeration is 1 based")
|
|
344
346
|
parser.add_argument("--to", dest="to", default=1, type=based_0,
|
|
@@ -347,6 +349,8 @@ def cmdtabs(args=None):
|
|
|
347
349
|
help="Write table in latex code")
|
|
348
350
|
parser.add_argument("--sample_attributes", dest="sample_attributes", default=[], type=list_str,
|
|
349
351
|
help="Define sample atributtes (comma separated list) to colapse a long table in a wide metric table")
|
|
352
|
+
parser.add_argument("--long_to_wide", dest="long_to_wide", default=False, action='store_true',
|
|
353
|
+
help="To transform a long table in a wide table. The id column will be the column/s of sample attributes if specified, or the first column if not. The key columns will be the columns between the id column and the value column, that will be the last column of the table")
|
|
350
354
|
parser.add_argument("--corrupted", dest="corrupted",
|
|
351
355
|
help="File where corrupted metrics are stored")
|
|
352
356
|
parser.add_argument("--offset", dest="offset", default=[], type=list_str,
|
|
@@ -375,6 +379,8 @@ def cmdtabs(args=None):
|
|
|
375
379
|
help="Print row extraction statistics")
|
|
376
380
|
parser.add_argument("--uniq", dest="uniq", default=False, action='store_true',
|
|
377
381
|
help="Make rows unique")
|
|
382
|
+
parser.add_argument("--sort_rows_by", dest="sort_rows_by", default=None,
|
|
383
|
+
help="Sort rows of the table ([a]scending or [d]escending or custom) by given columns, like: 0,a;1,d;2,d score,a;name,d pats,pat1|pat2|pat3 pats,path_sort_file")
|
|
378
384
|
opts = parser.parse_args(args)
|
|
379
385
|
main_cmdtabs(opts)
|
|
380
386
|
|
|
@@ -194,7 +194,7 @@ class CmdTabs:
|
|
|
194
194
|
aggregated_values = []
|
|
195
195
|
for aggregator in aggregation_modes.split(','):
|
|
196
196
|
aggregated_column_copy = aggregated_column.copy()
|
|
197
|
-
if aggregator
|
|
197
|
+
if aggregator not in ["concatenate", "count"]: aggregated_column_copy = [float(item) for item in aggregated_column_copy]
|
|
198
198
|
agg_value = str(make_aggregation[aggregator](aggregated_column_copy))
|
|
199
199
|
aggregated_values.append(agg_value)
|
|
200
200
|
return "|".join(aggregated_values)
|
|
@@ -241,6 +241,16 @@ class CmdTabs:
|
|
|
241
241
|
corrupted_records.insert(0, allTags) # Add header
|
|
242
242
|
return table_output, corrupted_records
|
|
243
243
|
|
|
244
|
+
def long_to_wide(table, id_col, key_col, value_col):
|
|
245
|
+
import pandas as pd
|
|
246
|
+
col_names = [ f"col{idx}" for idx in range(len(table[0]))]
|
|
247
|
+
df = pd.DataFrame(table, columns=col_names)
|
|
248
|
+
df_wide = df.pivot_table(index=df.columns[id_col].tolist(),
|
|
249
|
+
columns=df.columns[key_col].tolist(),
|
|
250
|
+
values=df.columns[value_col].tolist(), aggfunc='first').reset_index()
|
|
251
|
+
metric_names = [metric_name for metric_name in df_wide.columns.get_level_values(1) if metric_name != '']
|
|
252
|
+
return df_wide.values.tolist(), metric_names
|
|
253
|
+
|
|
244
254
|
def name_replaces(tabular_input, sep, cols_to_replace, indexed_file_index, remove_uns=False):
|
|
245
255
|
translated_fields = []
|
|
246
256
|
untranslated_fields = []
|
|
@@ -451,7 +461,7 @@ class CmdTabs:
|
|
|
451
461
|
|
|
452
462
|
def get_table_from_excel(file, sheet_number):
|
|
453
463
|
import openpyxl
|
|
454
|
-
x = openpyxl.load_workbook(file)
|
|
464
|
+
x = openpyxl.load_workbook(file, data_only=True)
|
|
455
465
|
sheets = x.sheetnames # list excel sheets by name
|
|
456
466
|
ws = x[sheets[sheet_number]] #select sheet by index (so, we select by sheet order)
|
|
457
467
|
sheet = []
|
|
@@ -468,6 +478,15 @@ class CmdTabs:
|
|
|
468
478
|
|
|
469
479
|
return sheet
|
|
470
480
|
|
|
481
|
+
def table_to_excel(table, output_file, sheet_name='Sheet1'):
|
|
482
|
+
import openpyxl
|
|
483
|
+
wb = openpyxl.Workbook()
|
|
484
|
+
ws = wb.active
|
|
485
|
+
ws.title = sheet_name
|
|
486
|
+
for row in table:
|
|
487
|
+
ws.append(row)
|
|
488
|
+
wb.save(output_file)
|
|
489
|
+
|
|
471
490
|
def get_groups(a_records, b_records): # inputs are list of string but should be nested lists. This is due to python don't allow to hash list in dicts.
|
|
472
491
|
a_rec = set(a_records) # For this reason, the last lines convert in lists the strings of the original list to keep the format
|
|
473
492
|
b_rec = set(b_records) # TODO: See to tranfor to tuples instead to string
|
|
@@ -524,16 +543,57 @@ class CmdTabs:
|
|
|
524
543
|
else:
|
|
525
544
|
final_table = latex_table
|
|
526
545
|
return final_table
|
|
527
|
-
|
|
528
|
-
def
|
|
546
|
+
|
|
547
|
+
def get_custom_sorts(cols, modes):
|
|
548
|
+
direct_transform = {}
|
|
549
|
+
inverse_transform = {}
|
|
550
|
+
for idx, mode in enumerate(modes):
|
|
551
|
+
if mode not in ["a", "d"]:
|
|
552
|
+
if os.path.exists(mode):
|
|
553
|
+
content = open(mode).read().split("\n")
|
|
554
|
+
direct_transform[cols[idx]] = {col: pos for pos,col in enumerate(content)}
|
|
555
|
+
inverse_transform[cols[idx]] = {pos: col for pos,col in enumerate(content)}
|
|
556
|
+
else:
|
|
557
|
+
direct_transform[cols[idx]] = {col: pos for pos,col in enumerate(mode.split("|"))}
|
|
558
|
+
inverse_transform[cols[idx]] = {pos: col for pos,col in enumerate(mode.split("|"))}
|
|
559
|
+
return direct_transform, inverse_transform
|
|
560
|
+
|
|
561
|
+
|
|
562
|
+
def sort_table(table, sort_rows_by, has_header):
|
|
563
|
+
import pandas
|
|
564
|
+
header = table[0] if has_header else []
|
|
565
|
+
sorted_table = [header] if has_header else []
|
|
566
|
+
start_idx = 1 if has_header else 0
|
|
567
|
+
|
|
568
|
+
cols_to_sort = sort_rows_by.split(';')
|
|
569
|
+
cols, modes = list(zip(*[col.split(',') for col in cols_to_sort]))
|
|
570
|
+
cols = [int(col_idx) if col_idx.isdigit() else header.index(col_idx) for col_idx in cols]
|
|
571
|
+
cols = [f"col_{col_idx}" for col_idx in cols]
|
|
572
|
+
direct_transform, inverse_transform = CmdTabs.get_custom_sorts(cols, modes)
|
|
573
|
+
|
|
574
|
+
df = pandas.DataFrame(table[start_idx:], columns=[f"col_{idx}" for idx in range(len(table[0]))])
|
|
575
|
+
for col, transform_dict in direct_transform.items(): df[col] = df[col].apply(lambda x: transform_dict[x])
|
|
576
|
+
df = df.apply(pandas.to_numeric, errors='ignore')
|
|
577
|
+
df.sort_values(by=cols, ascending=[False if mode == "d" else True for mode in modes], inplace=True) #if mode=="a" or mode=[custom_sort] then ascending is True
|
|
578
|
+
for col, inverse_transform_dict in inverse_transform.items(): df[col] = df[col].apply(lambda x: inverse_transform_dict[x])
|
|
579
|
+
df = df.astype(str)
|
|
580
|
+
sorted_table += df.values.tolist()
|
|
581
|
+
return sorted_table
|
|
582
|
+
|
|
583
|
+
|
|
584
|
+
def write_output_data(output_data, output_path=None, sep="\t", sort_rows_by=None, header=False, out_type='text'):
|
|
529
585
|
open_file = gzip.open if CmdTabs.compressed_output else open
|
|
586
|
+
if sort_rows_by is not None:
|
|
587
|
+
output_data = CmdTabs.sort_table(output_data, sort_rows_by, header)
|
|
530
588
|
if CmdTabs.transposed:
|
|
531
589
|
output_data = CmdTabs.transpose(output_data)
|
|
532
|
-
|
|
533
590
|
if output_path != None:
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
591
|
+
if out_type == 'excel':
|
|
592
|
+
CmdTabs.table_to_excel(output_data, output_path)
|
|
593
|
+
elif out_type == 'text':
|
|
594
|
+
with open_file(output_path, 'wt') as out_file:
|
|
595
|
+
for line in output_data:
|
|
596
|
+
out_file.write(sep.join([str(l) for l in line]) + "\n")
|
|
537
597
|
else:
|
|
538
598
|
if CmdTabs.compressed_output:
|
|
539
599
|
columns_joined = []
|
|
@@ -254,12 +254,22 @@ def main_cmdtabs(opts):
|
|
|
254
254
|
# STATS
|
|
255
255
|
if opts.count_cols != None: table = CmdTabs.records_count(table, opts.count_cols) # [records_count]
|
|
256
256
|
# TRANSFORMATIONS
|
|
257
|
-
if len(opts.sample_attributes) > 0: #[create_metric_table]
|
|
257
|
+
if len(opts.sample_attributes) > 0 and not opts.long_to_wide: #[create_metric_table]
|
|
258
258
|
samples_tag = opts.sample_attributes.pop(0)
|
|
259
259
|
metric_names, indexed_metrics = CmdTabs.index_metrics(table, opts.sample_attributes)
|
|
260
260
|
table, corrupt_recs = CmdTabs.create_table(indexed_metrics, samples_tag, opts.sample_attributes, metric_names)
|
|
261
261
|
if opts.corrupted != None and len(corrupt_recs) > 0: CmdTabs.write_output_data(corrupt_recs, opts.corrupted)
|
|
262
262
|
|
|
263
|
+
if opts.long_to_wide == True:
|
|
264
|
+
id_col = list(range(len(opts.sample_attributes))) if len(opts.sample_attributes) > 0 else [0] # id col será el rango de las columnas de atributos si se han especificado, sino la primera columna
|
|
265
|
+
value_col = [len(table[0]) - 1]
|
|
266
|
+
key_cols = [len(table[0]) - 2]
|
|
267
|
+
table, metric_names = CmdTabs.long_to_wide(table, id_col, key_cols, value_col) # [long_to_wide]
|
|
268
|
+
header = opts.sample_attributes + metric_names
|
|
269
|
+
table = [header] + table
|
|
270
|
+
CmdTabs.write_output_data(table, opts.output_file, sep=output_sep)
|
|
271
|
+
|
|
272
|
+
|
|
263
273
|
if opts.aggregate: table = CmdTabs.aggregate_column(table, opts.agg_col_index, opts.col_aggregate, opts.agg_sep, opts.agg_mode) # [aggregate_table]
|
|
264
274
|
|
|
265
275
|
if opts.desaggregate: table = CmdTabs.desaggregate_column(table, opts.desagg_col, opts.desagg_sep) # [desaggregate_table]
|
|
@@ -291,7 +301,7 @@ def main_cmdtabs(opts):
|
|
|
291
301
|
elif opts.sp_file_number > 0: # [subset] split by file number
|
|
292
302
|
CmdTabs.split_by_nFiles(table, opts.sp_file_number, opts.output_file, file_name, header = header)
|
|
293
303
|
else:
|
|
294
|
-
CmdTabs.write_output_data(table, opts.output_file, sep=output_sep)
|
|
304
|
+
CmdTabs.write_output_data(table, opts.output_file, sep=output_sep, sort_rows_by=opts.sort_rows_by, header=opts.header, out_type=opts.out_file_type)
|
|
295
305
|
|
|
296
306
|
|
|
297
307
|
########################################################
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: py_cmdtabs
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.2
|
|
4
4
|
Summary: Set of tools to facilitate parsing of tabulated files
|
|
5
5
|
Home-page: https://github.com/seoanezonjic/py_cmdtabs
|
|
6
6
|
Author: seoanezonjic
|
|
@@ -15,6 +15,7 @@ License-File: LICENSE.txt
|
|
|
15
15
|
Requires-Dist: importlib-metadata; python_version < "3.8"
|
|
16
16
|
Requires-Dist: openpyxl
|
|
17
17
|
Requires-Dist: numpy
|
|
18
|
+
Requires-Dist: pandas
|
|
18
19
|
Provides-Extra: testing
|
|
19
20
|
Requires-Dist: setuptools; extra == "testing"
|
|
20
21
|
Requires-Dist: pytest; extra == "testing"
|
|
@@ -71,3 +72,6 @@ py_cmdtabs includes tools that make it easier for its user to manipulate tabulat
|
|
|
71
72
|
* Replace information: The standard_name_replacer.py script replaces values in a table based on a contributed value code.
|
|
72
73
|
* Filter columns: The column_filter.py script filters columns from a tabulated file whose elements match a specified pattern.
|
|
73
74
|
* Transform Excel format into tabular: the excel_to_tabular.py script transforms files with an .xlsx extension into tabular files and makes their handling easier.
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
See https://github.com/seoanezonjic/py_cmdtabs
|
|
@@ -30,6 +30,8 @@ src/py_cmdtabs.egg-info/dependency_links.txt
|
|
|
30
30
|
src/py_cmdtabs.egg-info/entry_points.txt
|
|
31
31
|
src/py_cmdtabs.egg-info/not-zip-safe
|
|
32
32
|
src/py_cmdtabs.egg-info/requires.txt
|
|
33
|
+
src/py_cmdtabs.egg-info/scm_file_list.json
|
|
34
|
+
src/py_cmdtabs.egg-info/scm_version.json
|
|
33
35
|
src/py_cmdtabs.egg-info/top_level.txt
|
|
34
36
|
tests/__init__.py
|
|
35
37
|
tests/conftest.py
|
|
@@ -45,6 +47,7 @@ tests/cli_example_report/launch.sh
|
|
|
45
47
|
tests/cli_example_report/styles.css
|
|
46
48
|
tests/cli_example_report/template.txt
|
|
47
49
|
tests/cli_example_report/outputs/blackfiltered_long_table
|
|
50
|
+
tests/cli_example_report/outputs/corrupted_table
|
|
48
51
|
tests/cli_example_report/outputs/filtered_long_table
|
|
49
52
|
tests/cli_example_report/outputs/ref_filtered_disease_cluster_ref_rnd
|
|
50
53
|
tests/cli_example_report/outputs/wide_table
|
|
@@ -74,6 +77,7 @@ tests/cli_example_report/subtemplates/intersect_columns
|
|
|
74
77
|
tests/cli_example_report/subtemplates/merge_tabular
|
|
75
78
|
tests/cli_example_report/subtemplates/records_count
|
|
76
79
|
tests/cli_example_report/subtemplates/show_n_exec
|
|
80
|
+
tests/cli_example_report/subtemplates/sort_rows_by
|
|
77
81
|
tests/cli_example_report/subtemplates/standard_name_replacer
|
|
78
82
|
tests/cli_example_report/subtemplates/subset_table
|
|
79
83
|
tests/cli_example_report/subtemplates/table_linker
|
|
@@ -97,7 +101,9 @@ tests/cli_example_report/tables/metrics_table
|
|
|
97
101
|
tests/cli_example_report/tables/mondo_to_orpha
|
|
98
102
|
tests/cli_example_report/tables/nets_to_filter
|
|
99
103
|
tests/cli_example_report/tables/organization
|
|
104
|
+
tests/cli_example_report/tables/pats_order
|
|
100
105
|
tests/cli_example_report/tables/simple_table
|
|
106
|
+
tests/cli_example_report/tables/table_to_sort_2cols_header
|
|
101
107
|
tests/cli_example_report/tables/tracker
|
|
102
108
|
tests/data_tests/agg_2index_2values.txt
|
|
103
109
|
tests/data_tests/agg_data_3_columns.txt
|
|
@@ -121,7 +127,11 @@ tests/data_tests/ids2count_short
|
|
|
121
127
|
tests/data_tests/metric_table
|
|
122
128
|
tests/data_tests/mondo_genes
|
|
123
129
|
tests/data_tests/mondo_genes.gz
|
|
130
|
+
tests/data_tests/pats_order
|
|
124
131
|
tests/data_tests/simple_table
|
|
132
|
+
tests/data_tests/table_to_sort_2cols_header
|
|
133
|
+
tests/data_tests/table_to_sort_header
|
|
134
|
+
tests/data_tests/table_to_sort_noheader
|
|
125
135
|
tests/data_tests/tracker
|
|
126
136
|
tests/data_tests/ref_output_scripts/TEST_file
|
|
127
137
|
tests/data_tests/ref_output_scripts/TEST_file_transposed
|
|
@@ -161,6 +171,13 @@ tests/data_tests/ref_output_scripts/mondo_genes_transposed.gz
|
|
|
161
171
|
tests/data_tests/ref_output_scripts/replaced_name
|
|
162
172
|
tests/data_tests/ref_output_scripts/replaced_name_untranslated
|
|
163
173
|
tests/data_tests/ref_output_scripts/subset_table
|
|
174
|
+
tests/data_tests/ref_output_scripts/table_to_sort_2cols_header
|
|
175
|
+
tests/data_tests/ref_output_scripts/table_to_sort_header_by_cat
|
|
176
|
+
tests/data_tests/ref_output_scripts/table_to_sort_header_by_pat
|
|
177
|
+
tests/data_tests/ref_output_scripts/table_to_sort_header_by_score
|
|
178
|
+
tests/data_tests/ref_output_scripts/table_to_sort_noheader_by_cat
|
|
179
|
+
tests/data_tests/ref_output_scripts/table_to_sort_noheader_by_pat
|
|
180
|
+
tests/data_tests/ref_output_scripts/table_to_sort_noheader_by_score
|
|
164
181
|
tests/data_tests/ref_output_scripts/tag_table
|
|
165
182
|
tests/data_tests/ref_output_scripts/tag_table_header
|
|
166
183
|
tests/data_tests/ref_output_scripts/transposed_cluster_genes_dis_AGG
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
{
|
|
2
|
+
"files": [
|
|
3
|
+
".readthedocs.yml",
|
|
4
|
+
"AUTHORS.rst",
|
|
5
|
+
"CHANGELOG.rst",
|
|
6
|
+
"CONTRIBUTING.rst",
|
|
7
|
+
"LICENSE.txt",
|
|
8
|
+
"README.rst",
|
|
9
|
+
"docs/Makefile",
|
|
10
|
+
"docs/_static/.gitignore",
|
|
11
|
+
"docs/authors.rst",
|
|
12
|
+
"docs/changelog.rst",
|
|
13
|
+
"docs/conf.py",
|
|
14
|
+
"docs/contributing.rst",
|
|
15
|
+
"docs/index.rst",
|
|
16
|
+
"docs/license.rst",
|
|
17
|
+
"docs/readme.rst",
|
|
18
|
+
"docs/requirements.txt",
|
|
19
|
+
"make_package.sh",
|
|
20
|
+
"pyproject.toml",
|
|
21
|
+
"requirements.txt",
|
|
22
|
+
"setup.cfg",
|
|
23
|
+
"setup.py",
|
|
24
|
+
"src/py_cmdtabs/__init__.py",
|
|
25
|
+
"src/py_cmdtabs/cli_manager.py",
|
|
26
|
+
"src/py_cmdtabs/cmdtabs.py",
|
|
27
|
+
"src/py_cmdtabs/main_modules.py",
|
|
28
|
+
"tests/__init__.py",
|
|
29
|
+
"tests/cli_example_report/Report.html",
|
|
30
|
+
"tests/cli_example_report/example",
|
|
31
|
+
"tests/cli_example_report/launch.sh",
|
|
32
|
+
"tests/cli_example_report/outputs/blackfiltered_long_table",
|
|
33
|
+
"tests/cli_example_report/outputs/corrupted_table",
|
|
34
|
+
"tests/cli_example_report/outputs/filtered_long_table",
|
|
35
|
+
"tests/cli_example_report/outputs/ref_filtered_disease_cluster_ref_rnd",
|
|
36
|
+
"tests/cli_example_report/outputs/subset_table/disease_cluster_ref_rnd_chunk0",
|
|
37
|
+
"tests/cli_example_report/outputs/subset_table/disease_cluster_ref_rnd_chunk1",
|
|
38
|
+
"tests/cli_example_report/outputs/subset_table/disease_cluster_ref_rnd_chunk2",
|
|
39
|
+
"tests/cli_example_report/outputs/subset_table2/disease_cluster_ref_rnd_chunk0",
|
|
40
|
+
"tests/cli_example_report/outputs/subset_table2/disease_cluster_ref_rnd_chunk1",
|
|
41
|
+
"tests/cli_example_report/outputs/wide_table",
|
|
42
|
+
"tests/cli_example_report/special_files/hoja1.png",
|
|
43
|
+
"tests/cli_example_report/special_files/hoja2.png",
|
|
44
|
+
"tests/cli_example_report/special_files/scRNAseq.htm",
|
|
45
|
+
"tests/cli_example_report/special_files/scRNAseq.xlsx",
|
|
46
|
+
"tests/cli_example_report/special_files/scRNAseq_archivos/filelist.xml",
|
|
47
|
+
"tests/cli_example_report/special_files/scRNAseq_archivos/sheet001.htm",
|
|
48
|
+
"tests/cli_example_report/special_files/scRNAseq_archivos/sheet002.htm",
|
|
49
|
+
"tests/cli_example_report/special_files/scRNAseq_archivos/stylesheet.css",
|
|
50
|
+
"tests/cli_example_report/special_files/scRNAseq_archivos/tabstrip.htm",
|
|
51
|
+
"tests/cli_example_report/special_files/~$scRNAseq.xlsx",
|
|
52
|
+
"tests/cli_example_report/styles.css",
|
|
53
|
+
"tests/cli_example_report/subtemplates/aggregate_column_data",
|
|
54
|
+
"tests/cli_example_report/subtemplates/column_filter",
|
|
55
|
+
"tests/cli_example_report/subtemplates/create_metric_table",
|
|
56
|
+
"tests/cli_example_report/subtemplates/desaggregate_column_data",
|
|
57
|
+
"tests/cli_example_report/subtemplates/excel_to_tabular",
|
|
58
|
+
"tests/cli_example_report/subtemplates/filter_by_list",
|
|
59
|
+
"tests/cli_example_report/subtemplates/get_columns",
|
|
60
|
+
"tests/cli_example_report/subtemplates/intersect_columns",
|
|
61
|
+
"tests/cli_example_report/subtemplates/merge_tabular",
|
|
62
|
+
"tests/cli_example_report/subtemplates/records_count",
|
|
63
|
+
"tests/cli_example_report/subtemplates/show_n_exec",
|
|
64
|
+
"tests/cli_example_report/subtemplates/sort_rows_by",
|
|
65
|
+
"tests/cli_example_report/subtemplates/standard_name_replacer",
|
|
66
|
+
"tests/cli_example_report/subtemplates/subset_table",
|
|
67
|
+
"tests/cli_example_report/subtemplates/table_linker",
|
|
68
|
+
"tests/cli_example_report/subtemplates/tag_table",
|
|
69
|
+
"tests/cli_example_report/subtemplates/transform_to_latex",
|
|
70
|
+
"tests/cli_example_report/subtemplates/transpose_table",
|
|
71
|
+
"tests/cli_example_report/tables/cluster_genes_dis_agg",
|
|
72
|
+
"tests/cli_example_report/tables/cluster_genes_dis_agg2",
|
|
73
|
+
"tests/cli_example_report/tables/cluster_genes_dis_desagg",
|
|
74
|
+
"tests/cli_example_report/tables/cluster_genes_dis_desagg_3cols",
|
|
75
|
+
"tests/cli_example_report/tables/cluster_genes_dis_desagg_4cols",
|
|
76
|
+
"tests/cli_example_report/tables/cluster_stats",
|
|
77
|
+
"tests/cli_example_report/tables/clusts_to_filter",
|
|
78
|
+
"tests/cli_example_report/tables/disease_cluster",
|
|
79
|
+
"tests/cli_example_report/tables/disease_cluster_ref_rnd",
|
|
80
|
+
"tests/cli_example_report/tables/disease_cluster_uniq",
|
|
81
|
+
"tests/cli_example_report/tables/disease_gene",
|
|
82
|
+
"tests/cli_example_report/tables/long_disease_cluster",
|
|
83
|
+
"tests/cli_example_report/tables/long_table",
|
|
84
|
+
"tests/cli_example_report/tables/metrics_table",
|
|
85
|
+
"tests/cli_example_report/tables/mondo_to_orpha",
|
|
86
|
+
"tests/cli_example_report/tables/nets_to_filter",
|
|
87
|
+
"tests/cli_example_report/tables/organization",
|
|
88
|
+
"tests/cli_example_report/tables/pats_order",
|
|
89
|
+
"tests/cli_example_report/tables/simple_table",
|
|
90
|
+
"tests/cli_example_report/tables/table_to_sort_2cols_header",
|
|
91
|
+
"tests/cli_example_report/tables/tracker",
|
|
92
|
+
"tests/cli_example_report/template.txt",
|
|
93
|
+
"tests/conftest.py",
|
|
94
|
+
"tests/data_tests/agg_2index_2values.txt",
|
|
95
|
+
"tests/data_tests/agg_data_3_columns.txt",
|
|
96
|
+
"tests/data_tests/all_metrics",
|
|
97
|
+
"tests/data_tests/blacklist",
|
|
98
|
+
"tests/data_tests/blacklist_partial",
|
|
99
|
+
"tests/data_tests/cluster_genes.xlsx",
|
|
100
|
+
"tests/data_tests/cluster_genes_dis_agg",
|
|
101
|
+
"tests/data_tests/cluster_genes_dis_desagg",
|
|
102
|
+
"tests/data_tests/cluster_stats",
|
|
103
|
+
"tests/data_tests/cluster_stats_header",
|
|
104
|
+
"tests/data_tests/dis_gene_attrs",
|
|
105
|
+
"tests/data_tests/disease_cluster",
|
|
106
|
+
"tests/data_tests/disease_cluster_uniq",
|
|
107
|
+
"tests/data_tests/disease_gene",
|
|
108
|
+
"tests/data_tests/filterlist",
|
|
109
|
+
"tests/data_tests/filterlist_partial",
|
|
110
|
+
"tests/data_tests/hp_long_list.txt",
|
|
111
|
+
"tests/data_tests/ids2count",
|
|
112
|
+
"tests/data_tests/ids2count_short",
|
|
113
|
+
"tests/data_tests/metric_table",
|
|
114
|
+
"tests/data_tests/mondo_genes",
|
|
115
|
+
"tests/data_tests/mondo_genes.gz",
|
|
116
|
+
"tests/data_tests/pats_order",
|
|
117
|
+
"tests/data_tests/ref_output_scripts/TEST_file",
|
|
118
|
+
"tests/data_tests/ref_output_scripts/TEST_file_transposed",
|
|
119
|
+
"tests/data_tests/ref_output_scripts/agg_2index_2values.txt",
|
|
120
|
+
"tests/data_tests/ref_output_scripts/agg_2index_2values_several_aggregators.txt",
|
|
121
|
+
"tests/data_tests/ref_output_scripts/agg_data_3_columns_result.txt",
|
|
122
|
+
"tests/data_tests/ref_output_scripts/cluster_genes_dis_AGG",
|
|
123
|
+
"tests/data_tests/ref_output_scripts/cluster_genes_dis_AGG_stdin",
|
|
124
|
+
"tests/data_tests/ref_output_scripts/cluster_genes_dis_DESAGG",
|
|
125
|
+
"tests/data_tests/ref_output_scripts/cluster_genes_dis_DESAGG_stdin",
|
|
126
|
+
"tests/data_tests/ref_output_scripts/cluster_genes_from_excel.txt",
|
|
127
|
+
"tests/data_tests/ref_output_scripts/column_matching_hard",
|
|
128
|
+
"tests/data_tests/ref_output_scripts/column_matching_hard_various_keys",
|
|
129
|
+
"tests/data_tests/ref_output_scripts/column_matching_hard_various_keys_and_every_columns",
|
|
130
|
+
"tests/data_tests/ref_output_scripts/column_matching_hard_various_keys_and_every_columns_header",
|
|
131
|
+
"tests/data_tests/ref_output_scripts/column_matching_hard_various_keys_and_some_columns",
|
|
132
|
+
"tests/data_tests/ref_output_scripts/column_matching_soft",
|
|
133
|
+
"tests/data_tests/ref_output_scripts/column_matching_soft_1_column",
|
|
134
|
+
"tests/data_tests/ref_output_scripts/column_matching_soft_1_column_reverse",
|
|
135
|
+
"tests/data_tests/ref_output_scripts/column_matching_soft_1_column_uniq",
|
|
136
|
+
"tests/data_tests/ref_output_scripts/column_matching_soft_and_every_columns",
|
|
137
|
+
"tests/data_tests/ref_output_scripts/column_matching_soft_and_some_columns",
|
|
138
|
+
"tests/data_tests/ref_output_scripts/ids2count",
|
|
139
|
+
"tests/data_tests/ref_output_scripts/intersect_columns_count",
|
|
140
|
+
"tests/data_tests/ref_output_scripts/intersect_columns_default",
|
|
141
|
+
"tests/data_tests/ref_output_scripts/intersect_columns_default_stdin_a",
|
|
142
|
+
"tests/data_tests/ref_output_scripts/intersect_columns_default_stdin_b",
|
|
143
|
+
"tests/data_tests/ref_output_scripts/intersect_columns_full",
|
|
144
|
+
"tests/data_tests/ref_output_scripts/linked_table",
|
|
145
|
+
"tests/data_tests/ref_output_scripts/linked_table3",
|
|
146
|
+
"tests/data_tests/ref_output_scripts/linked_table_2",
|
|
147
|
+
"tests/data_tests/ref_output_scripts/linked_table_matches",
|
|
148
|
+
"tests/data_tests/ref_output_scripts/merge_disease_cluster_gene",
|
|
149
|
+
"tests/data_tests/ref_output_scripts/metric_table",
|
|
150
|
+
"tests/data_tests/ref_output_scripts/mondo_genes_transposed",
|
|
151
|
+
"tests/data_tests/ref_output_scripts/mondo_genes_transposed.gz",
|
|
152
|
+
"tests/data_tests/ref_output_scripts/replaced_name",
|
|
153
|
+
"tests/data_tests/ref_output_scripts/replaced_name_untranslated",
|
|
154
|
+
"tests/data_tests/ref_output_scripts/subset_table",
|
|
155
|
+
"tests/data_tests/ref_output_scripts/subset_table_fold/mondo_genes_chunk0",
|
|
156
|
+
"tests/data_tests/ref_output_scripts/subset_table_fold/mondo_genes_chunk1",
|
|
157
|
+
"tests/data_tests/ref_output_scripts/subset_table_fold/mondo_genes_chunk2",
|
|
158
|
+
"tests/data_tests/ref_output_scripts/table_to_sort_2cols_header",
|
|
159
|
+
"tests/data_tests/ref_output_scripts/table_to_sort_header_by_cat",
|
|
160
|
+
"tests/data_tests/ref_output_scripts/table_to_sort_header_by_pat",
|
|
161
|
+
"tests/data_tests/ref_output_scripts/table_to_sort_header_by_score",
|
|
162
|
+
"tests/data_tests/ref_output_scripts/table_to_sort_noheader_by_cat",
|
|
163
|
+
"tests/data_tests/ref_output_scripts/table_to_sort_noheader_by_pat",
|
|
164
|
+
"tests/data_tests/ref_output_scripts/table_to_sort_noheader_by_score",
|
|
165
|
+
"tests/data_tests/ref_output_scripts/tag_table",
|
|
166
|
+
"tests/data_tests/ref_output_scripts/tag_table_header",
|
|
167
|
+
"tests/data_tests/ref_output_scripts/transposed_cluster_genes_dis_AGG",
|
|
168
|
+
"tests/data_tests/ref_output_scripts/transposed_cluster_genes_dis_DESAGG",
|
|
169
|
+
"tests/data_tests/ref_output_scripts/transposed_cluster_genes_from_excel.txt",
|
|
170
|
+
"tests/data_tests/ref_output_scripts/transposed_column_matching_hard",
|
|
171
|
+
"tests/data_tests/ref_output_scripts/transposed_intersect_columns_default",
|
|
172
|
+
"tests/data_tests/ref_output_scripts/transposed_linked_table",
|
|
173
|
+
"tests/data_tests/ref_output_scripts/transposed_merge_disease_cluster_gene",
|
|
174
|
+
"tests/data_tests/ref_output_scripts/transposed_metric_table",
|
|
175
|
+
"tests/data_tests/ref_output_scripts/transposed_replaced_name",
|
|
176
|
+
"tests/data_tests/ref_output_scripts/transposed_tag_table",
|
|
177
|
+
"tests/data_tests/simple_table",
|
|
178
|
+
"tests/data_tests/table_to_sort_2cols_header",
|
|
179
|
+
"tests/data_tests/table_to_sort_header",
|
|
180
|
+
"tests/data_tests/table_to_sort_noheader",
|
|
181
|
+
"tests/data_tests/tracker",
|
|
182
|
+
"tests/data_tests/transposed/all_metrics",
|
|
183
|
+
"tests/data_tests/transposed/cluster_genes.xlsx",
|
|
184
|
+
"tests/data_tests/transposed/cluster_genes_dis_agg",
|
|
185
|
+
"tests/data_tests/transposed/cluster_genes_dis_desagg",
|
|
186
|
+
"tests/data_tests/transposed/cluster_stats",
|
|
187
|
+
"tests/data_tests/transposed/disease_cluster",
|
|
188
|
+
"tests/data_tests/transposed/disease_cluster_uniq",
|
|
189
|
+
"tests/data_tests/transposed/disease_gene",
|
|
190
|
+
"tests/data_tests/transposed/tranpose_data.py",
|
|
191
|
+
"tests/test_cli_manager.py",
|
|
192
|
+
"tests/test_cmdtabs_lib.py",
|
|
193
|
+
"tests/test_compressed_pipes.sh",
|
|
194
|
+
"tests/test_expanded_methods.py",
|
|
195
|
+
"tests/test_input_parsing.py",
|
|
196
|
+
"tests/test_io.py",
|
|
197
|
+
"tox.ini"
|
|
198
|
+
]
|
|
199
|
+
}
|