Class SurfacingUtil


  • public final class SurfacingUtil
    extends java.lang.Object
    • Field Detail

      • PATTERN_SP_STYLE_TAXONOMY

        public static final java.util.regex.Pattern PATTERN_SP_STYLE_TAXONOMY
    • Method Detail

      • addAllDomainIdsToSet

        public static void addAllDomainIdsToSet​(GenomeWideCombinableDomains genome,
                                                java.util.SortedSet<java.lang.String> domain_ids)
      • checkForOutputFileWriteability

        public static void checkForOutputFileWriteability​(java.io.File outfile)
      • checkWriteabilityForPairwiseComparisons

        public static void checkWriteabilityForPairwiseComparisons​(DomainSimilarity.PRINT_OPTION domain_similarity_print_option,
                                                                   java.lang.String[][] input_file_properties,
                                                                   java.lang.String automated_pairwise_comparison_suffix,
                                                                   java.io.File outdir)
      • createDomainIdToGoIdMap

        public static java.util.Map<java.lang.String,​java.util.List<GoId>> createDomainIdToGoIdMap​(java.util.List<PfamToGoMapping> pfam_to_go_mappings)
      • createDomainIdToSecondaryFeaturesMap

        public static java.util.Map<java.lang.String,​java.util.Set<java.lang.String>> createDomainIdToSecondaryFeaturesMap​(java.io.File secondary_features_map_file)
                                                                                                                          throws java.io.IOException
        Throws:
        java.io.IOException
      • createNjTreeBasedOnMatrixToFile

        public static Phylogeny createNjTreeBasedOnMatrixToFile​(java.io.File nj_tree_outfile,
                                                                DistanceMatrix distance)
      • createParametersAsString

        public static java.lang.StringBuilder createParametersAsString​(boolean ignore_dufs,
                                                                       double ie_value_max,
                                                                       double fs_e_value_max,
                                                                       int max_allowed_overlap,
                                                                       boolean no_engulfing_overlaps,
                                                                       java.io.File cutoff_scores_file,
                                                                       BinaryDomainCombination.DomainCombinationType dc_type)
      • createSplitWriters

        public static void createSplitWriters​(java.io.File out_dir,
                                              java.lang.String my_outfile,
                                              java.util.Map<java.lang.Character,​java.io.Writer> split_writers)
                                       throws java.io.IOException
        Throws:
        java.io.IOException
      • createTaxCodeToIdMap

        public static java.util.Map<java.lang.String,​java.lang.Integer> createTaxCodeToIdMap​(Phylogeny phy)
      • doit

        public static void doit​(java.util.List<Protein> proteins,
                                java.util.List<java.lang.String> query_domain_ids_nc_order,
                                java.io.Writer out,
                                java.lang.String separator,
                                java.lang.String limit_to_species,
                                java.util.Map<java.lang.String,​java.util.List<java.lang.Integer>> average_protein_lengths_by_dc)
                         throws java.io.IOException
        Throws:
        java.io.IOException
      • domainsPerProteinsStatistics

        public static void domainsPerProteinsStatistics​(java.lang.String genome,
                                                        java.util.List<Protein> protein_list,
                                                        DescriptiveStatistics all_genomes_domains_per_potein_stats,
                                                        java.util.SortedMap<java.lang.Integer,​java.lang.Integer> all_genomes_domains_per_potein_histo,
                                                        java.util.SortedSet<java.lang.String> domains_which_are_always_single,
                                                        java.util.SortedSet<java.lang.String> domains_which_are_sometimes_single_sometimes_not,
                                                        java.util.SortedSet<java.lang.String> domains_which_never_single,
                                                        java.io.Writer writer)
      • executeDomainLengthAnalysis

        public static void executeDomainLengthAnalysis​(java.lang.String[][] input_file_properties,
                                                       int number_of_genomes,
                                                       DomainLengthsTable domain_lengths_table,
                                                       java.io.File outfile)
                                                throws java.io.IOException
        Throws:
        java.io.IOException
      • executeFitchGainsAnalysis

        public static void executeFitchGainsAnalysis​(java.io.File output_file,
                                                     java.util.List<BinaryDomainCombination> all_bin_domain_combinations_changed,
                                                     int sum_of_all_domains_encountered,
                                                     java.util.SortedSet<BinaryDomainCombination> all_bin_domain_combinations_encountered,
                                                     boolean is_gains_analysis)
                                              throws java.io.IOException
        Warning: This side-effects 'all_bin_domain_combinations_encountered'!
        Parameters:
        output_file -
        all_bin_domain_combinations_changed -
        sum_of_all_domains_encountered -
        all_bin_domain_combinations_encountered -
        is_gains_analysis -
        protein_length_stats_by_dc -
        Throws:
        java.io.IOException
      • executeParsimonyAnalysis

        public static void executeParsimonyAnalysis​(long random_number_seed_for_fitch_parsimony,
                                                    boolean radomize_fitch_parsimony,
                                                    java.lang.String outfile_name,
                                                    DomainParsimonyCalculator domain_parsimony,
                                                    Phylogeny phylogeny,
                                                    java.util.Map<java.lang.String,​java.util.List<GoId>> domain_id_to_go_ids_map,
                                                    java.util.Map<GoId,​GoTerm> go_id_to_term_map,
                                                    GoNameSpace go_namespace_limit,
                                                    java.lang.String parameters_str,
                                                    java.util.Map<java.lang.String,​java.util.Set<java.lang.String>>[] domain_id_to_secondary_features_maps,
                                                    java.util.SortedSet<java.lang.String> positive_filter,
                                                    boolean output_binary_domain_combinations_for_graphs,
                                                    java.util.List<BinaryDomainCombination> all_binary_domains_combination_gained_fitch,
                                                    java.util.List<BinaryDomainCombination> all_binary_domains_combination_lost_fitch,
                                                    BinaryDomainCombination.DomainCombinationType dc_type,
                                                    java.util.Map<java.lang.String,​DescriptiveStatistics> protein_length_stats_by_dc,
                                                    java.util.Map<java.lang.String,​DescriptiveStatistics> domain_number_stats_by_dc,
                                                    java.util.Map<java.lang.String,​DescriptiveStatistics> domain_length_stats_by_domain,
                                                    java.util.Map<java.lang.String,​java.lang.Integer> tax_code_to_id_map,
                                                    boolean write_to_nexus,
                                                    boolean use_last_in_fitch_parsimony,
                                                    boolean perform_dc_fich)
        Parameters:
        all_binary_domains_combination_lost_fitch -
        use_last_in_fitch_parsimony -
        perform_dc_fich -
        consider_directedness_and_adjacency_for_bin_combinations -
        all_binary_domains_combination_gained - if null ignored, otherwise this is to list all binary domain combinations which were gained under unweighted (Fitch) parsimony.
      • executeParsimonyAnalysisForSecondaryFeatures

        public static void executeParsimonyAnalysisForSecondaryFeatures​(java.lang.String outfile_name,
                                                                        DomainParsimonyCalculator secondary_features_parsimony,
                                                                        Phylogeny phylogeny,
                                                                        java.lang.String parameters_str,
                                                                        java.util.Map<Species,​MappingResults> mapping_results_map,
                                                                        boolean use_last_in_fitch_parsimony)
      • executePlusMinusAnalysis

        public static void executePlusMinusAnalysis​(java.io.File output_file,
                                                    java.util.List<java.lang.String> plus_minus_analysis_high_copy_base,
                                                    java.util.List<java.lang.String> plus_minus_analysis_high_copy_target,
                                                    java.util.List<java.lang.String> plus_minus_analysis_low_copy,
                                                    java.util.List<GenomeWideCombinableDomains> gwcd_list,
                                                    java.util.SortedMap<Species,​java.util.List<Protein>> protein_lists_per_species,
                                                    java.util.Map<java.lang.String,​java.util.List<GoId>> domain_id_to_go_ids_map,
                                                    java.util.Map<GoId,​GoTerm> go_id_to_term_map,
                                                    java.util.List<java.lang.Object> plus_minus_analysis_numbers)
      • extractProteinNames

        public static void extractProteinNames​(java.util.List<Protein> proteins,
                                               java.util.List<java.lang.String> query_domain_ids_nc_order,
                                               java.io.Writer out,
                                               java.lang.String separator,
                                               java.lang.String limit_to_species)
                                        throws java.io.IOException
        Throws:
        java.io.IOException
      • extractProteinNames

        public static void extractProteinNames​(java.util.SortedMap<Species,​java.util.List<Protein>> protein_lists_per_species,
                                               java.lang.String domain_id,
                                               java.io.Writer out,
                                               java.lang.String separator,
                                               java.lang.String limit_to_species,
                                               double domain_e_cutoff)
                                        throws java.io.IOException
        Throws:
        java.io.IOException
      • getAllDomainIds

        public static java.util.SortedSet<java.lang.String> getAllDomainIds​(java.util.List<GenomeWideCombinableDomains> gwcd_list)
      • getDomainCounts

        public static java.util.SortedMap<java.lang.String,​java.lang.Integer> getDomainCounts​(java.util.List<Protein> protein_domain_collections)
      • getNumberOfNodesLackingName

        public static int getNumberOfNodesLackingName​(Phylogeny p,
                                                      java.lang.StringBuilder names)
      • log

        public static void log​(java.lang.String msg,
                               java.io.Writer w)
      • obtainAndPreProcessIntrees

        public static Phylogeny[] obtainAndPreProcessIntrees​(java.io.File[] intree_files,
                                                             int number_of_genomes,
                                                             java.lang.String[][] input_file_properties)
      • obtainFirstIntree

        public static Phylogeny obtainFirstIntree​(java.io.File intree_file)
      • obtainHexColorStringDependingOnTaxonomyGroup

        public static java.lang.String obtainHexColorStringDependingOnTaxonomyGroup​(java.lang.String tax_code,
                                                                                    Phylogeny phy)
                                                                             throws java.lang.IllegalArgumentException
        Throws:
        java.lang.IllegalArgumentException
      • obtainTaxonomyGroup

        public static java.lang.String obtainTaxonomyGroup​(java.lang.String tax_code,
                                                           Phylogeny species_tree)
                                                    throws java.lang.IllegalArgumentException
        Throws:
        java.lang.IllegalArgumentException
      • performDomainArchitectureAnalysis

        public static void performDomainArchitectureAnalysis​(java.util.SortedMap<java.lang.String,​java.util.Set<java.lang.String>> domain_architecutures,
                                                             java.util.SortedMap<java.lang.String,​java.lang.Integer> domain_architecuture_counts,
                                                             int min_count,
                                                             java.io.File da_counts_outfile,
                                                             java.io.File unique_da_outfile)
      • preparePhylogeny

        public static void preparePhylogeny​(Phylogeny p,
                                            DomainParsimonyCalculator domain_parsimony,
                                            java.lang.String date_time,
                                            java.lang.String method,
                                            java.lang.String name,
                                            java.lang.String parameters_str)
      • preparePhylogenyForParsimonyAnalyses

        public static void preparePhylogenyForParsimonyAnalyses​(Phylogeny intree,
                                                                java.lang.String[][] input_file_properties)
      • printOutPercentageOfMultidomainProteins

        public static void printOutPercentageOfMultidomainProteins​(java.util.SortedMap<java.lang.Integer,​java.lang.Integer> all_genomes_domains_per_potein_histo,
                                                                   java.io.Writer log_writer)
      • processFilter

        public static void processFilter​(java.io.File filter_file,
                                         java.util.SortedSet<java.lang.String> filter)
      • processInputGenomesFile

        public static java.lang.String[][] processInputGenomesFile​(java.io.File input_genomes)
      • processPlusMinusAnalysisOption

        public static void processPlusMinusAnalysisOption​(CommandLineArguments cla,
                                                          java.util.List<java.lang.String> high_copy_base,
                                                          java.util.List<java.lang.String> high_copy_target,
                                                          java.util.List<java.lang.String> low_copy,
                                                          java.util.List<java.lang.Object> numbers)
      • processPlusMinusFile

        public static void processPlusMinusFile​(java.io.File plus_minus_file,
                                                java.util.List<java.lang.String> high_copy_base,
                                                java.util.List<java.lang.String> high_copy_target,
                                                java.util.List<java.lang.String> low_copy,
                                                java.util.List<java.lang.Object> numbers)
      • proteinToDomainCombinations

        public static java.lang.StringBuffer proteinToDomainCombinations​(Protein protein,
                                                                         java.lang.String protein_id,
                                                                         java.lang.String separator)
      • sortDomainsWithAscendingConfidenceValues

        public static java.util.List<Domain> sortDomainsWithAscendingConfidenceValues​(Protein protein)
      • storeDomainArchitectures

        public static int storeDomainArchitectures​(java.lang.String genome,
                                                   java.util.SortedMap<java.lang.String,​java.util.Set<java.lang.String>> domain_architecutures,
                                                   java.util.List<Protein> protein_list,
                                                   java.util.Map<java.lang.String,​java.lang.Integer> distinct_domain_architecuture_counts)
      • writeAllDomainsChangedOnAllSubtrees

        public static void writeAllDomainsChangedOnAllSubtrees​(Phylogeny p,
                                                               boolean get_gains,
                                                               java.lang.String outdir,
                                                               java.lang.String suffix_for_filename)
                                                        throws java.io.IOException
        Throws:
        java.io.IOException
      • writeBinaryStatesMatrixToList

        public static void writeBinaryStatesMatrixToList​(java.util.Map<java.lang.String,​java.util.List<GoId>> domain_id_to_go_ids_map,
                                                         java.util.Map<GoId,​GoTerm> go_id_to_term_map,
                                                         GoNameSpace go_namespace_limit,
                                                         boolean domain_combinations,
                                                         CharacterStateMatrix<CharacterStateMatrix.GainLossStates> matrix,
                                                         CharacterStateMatrix.GainLossStates state,
                                                         java.lang.String filename,
                                                         java.lang.String indentifier_characters_separator,
                                                         java.lang.String character_separator,
                                                         java.lang.String title_for_html,
                                                         java.lang.String prefix_for_html,
                                                         java.util.Map<java.lang.String,​java.util.Set<java.lang.String>>[] domain_id_to_secondary_features_maps,
                                                         java.util.SortedSet<java.lang.String> all_pfams_encountered,
                                                         java.util.SortedSet<java.lang.String> pfams_gained_or_lost,
                                                         java.lang.String suffix_for_per_node_events_file,
                                                         java.util.Map<java.lang.String,​java.lang.Integer> tax_code_to_id_map)
      • writeDomainSimilaritiesToFile

        public static void writeDomainSimilaritiesToFile​(java.lang.StringBuilder html_desc,
                                                         java.lang.StringBuilder html_title,
                                                         java.io.Writer simple_tab_writer,
                                                         java.io.Writer single_writer,
                                                         java.util.Map<java.lang.Character,​java.io.Writer> split_writers,
                                                         java.util.SortedSet<DomainSimilarity> similarities,
                                                         boolean treat_as_binary,
                                                         java.util.List<Species> species_order,
                                                         DomainSimilarity.PRINT_OPTION print_option,
                                                         DomainSimilarity.DomainSimilarityScoring scoring,
                                                         boolean verbose,
                                                         java.util.Map<java.lang.String,​java.lang.Integer> tax_code_to_id_map,
                                                         Phylogeny phy,
                                                         java.util.Set<java.lang.String> pos_filter_doms)
                                                  throws java.io.IOException
        Throws:
        java.io.IOException
      • writeHtmlHead

        public static void writeHtmlHead​(java.io.Writer w,
                                         java.lang.String title)
                                  throws java.io.IOException
        Throws:
        java.io.IOException
      • writeMatrixToFile

        public static void writeMatrixToFile​(java.io.File matrix_outfile,
                                             java.util.List<DistanceMatrix> matrices)
      • writePhylogenyToFile

        public static void writePhylogenyToFile​(Phylogeny phylogeny,
                                                java.lang.String filename)
      • writePresentToNexus

        public static void writePresentToNexus​(java.io.File output_file,
                                               java.io.File positive_filter_file,
                                               java.util.SortedSet<java.lang.String> filter,
                                               java.util.List<GenomeWideCombinableDomains> gwcd_list)
      • writeProteinListsForAllSpecies

        public static void writeProteinListsForAllSpecies​(java.io.File output_dir,
                                                          java.util.SortedMap<Species,​java.util.List<Protein>> protein_lists_per_species,
                                                          java.util.List<GenomeWideCombinableDomains> gwcd_list,
                                                          double domain_e_cutoff,
                                                          java.util.Set<java.lang.String> pos_filter_doms)
      • writeTaxonomyLinks

        public static void writeTaxonomyLinks​(java.io.Writer writer,
                                              java.lang.String species,
                                              java.util.Map<java.lang.String,​java.lang.Integer> tax_code_to_id_map)
                                       throws java.io.IOException
        Throws:
        java.io.IOException