def cpdb_statistical_analysis_local_method_launcher( self, meta_filename: str, counts_filename: str, counts_data: str, project_name: str = '', iterations: int = 1000, threshold: float = 0.1, output_path: str = '', output_format: Optional[str] = None, means_filename: str = 'means', pvalues_filename: str = 'pvalues', significant_means_filename: str = 'significant_means', deconvoluted_filename='deconvoluted', debug_seed: int = -1, threads: int = -1, result_precision: int = 3, pvalue: float = 0.05, subsampler: Subsampler = None, ) -> None: output_path = self._set_paths(output_path, project_name) debug_seed = int(debug_seed) iterations = int(iterations) threads = int(threads) threshold = float(threshold) result_precision = int(result_precision) counts, meta = self._load_meta_counts(counts_filename, meta_filename) pvalues_simple, means_simple, significant_means_simple, deconvoluted_simple = \ self.cellphonedb_app.method.cpdb_statistical_analysis_launcher( meta, counts, counts_data, iterations, threshold, threads, debug_seed, result_precision, pvalue, subsampler ) write_to_file(means_simple, means_filename, output_path, output_format) write_to_file(pvalues_simple, pvalues_filename, output_path, output_format) write_to_file(significant_means_simple, significant_means_filename, output_path, output_format) write_to_file(deconvoluted_simple, deconvoluted_filename, output_path, output_format)
def cpdb_analysis_local_method_launcher( self, meta_filename: str, counts_filename: str, counts_data: str, project_name: str = '', threshold: float = 0.1, output_path: str = '', output_format: Optional[str] = None, means_filename: str = 'means', significant_means_filename: str = 'significant_means', deconvoluted_filename='deconvoluted', result_precision: int = 3, subsampler: Subsampler = None, ) -> None: output_path = self._set_paths(output_path, project_name) result_precision = int(result_precision) threshold = float(threshold) counts, meta = self._load_meta_counts(counts_filename, meta_filename) means, significant_means, deconvoluted = \ self.cellphonedb_app.method.cpdb_method_analysis_launcher(meta, counts, counts_data, threshold, result_precision, subsampler) write_to_file(means, means_filename, output_path, output_format) write_to_file(significant_means, significant_means_filename, output_path, output_format) write_to_file(deconvoluted, deconvoluted_filename, output_path, output_format)
def filter_all(input_path, result_path): interactions = pd.read_csv( os.path.join(input_path, 'interaction_input.csv')) complexes = pd.read_csv(os.path.join(input_path, 'complex_generated.csv')) proteins = pd.read_csv(os.path.join(input_path, 'protein_generated.csv')) genes = pd.read_csv(os.path.join(input_path, 'gene_generated.csv')) output_path = _set_paths(output_dir, result_path) interacting_partners = pd.concat( [interactions['partner_a'], interactions['partner_b']]).drop_duplicates() filtered_complexes = _filter_complexes(complexes, interacting_partners) write_to_file(filtered_complexes, 'complex_input.csv', output_path=output_path) filtered_proteins, interacting_proteins = _filter_proteins( proteins, filtered_complexes, interacting_partners) write_to_file(filtered_proteins, 'protein_input.csv', output_path=output_path) filtered_genes = _filter_genes(genes, filtered_proteins['uniprot']) write_to_file(filtered_genes, 'gene_input.csv', output_path=output_path) rejected_members = interacting_partners[~( interacting_partners.isin(filtered_complexes['complex_name']) | interacting_partners.isin(filtered_proteins['uniprot']))] if len(rejected_members): app_logger.warning( 'There are some proteins or complexes not interacting properly: `{}`' .format(', '.join(rejected_members)))