org.forester.surfacing
Class SurfacingUtil

java.lang.Object
  extended by org.forester.surfacing.SurfacingUtil

public final class SurfacingUtil
extends Object


Field Summary
static Pattern PATTERN_SP_STYLE_TAXONOMY
           
 
Method Summary
static void addAllBinaryDomainCombinationToSet(GenomeWideCombinableDomains genome, SortedSet<BinaryDomainCombination> binary_domain_combinations)
           
static void addAllDomainIdsToSet(GenomeWideCombinableDomains genome, SortedSet<DomainId> domain_ids)
           
static void addHtmlHead(Writer w, String title)
           
static DescriptiveStatistics calculateDescriptiveStatisticsForMeanValues(Set<DomainSimilarity> similarities)
           
static int calculateOverlap(Domain domain, List<Boolean> covered_positions)
           
static void checkForOutputFileWriteability(File outfile)
           
static void collectChangedDomainCombinationsFromBinaryStatesMatrixAsListToFile(CharacterStateMatrix<CharacterStateMatrix.GainLossStates> matrix, BinaryDomainCombination.DomainCombinationType dc_type, List<BinaryDomainCombination> all_binary_domains_combination_gained, boolean get_gains)
           
static Map<DomainId,List<GoId>> createDomainIdToGoIdMap(List<PfamToGoMapping> pfam_to_go_mappings)
           
static Map<DomainId,Set<String>> createDomainIdToSecondaryFeaturesMap(File secondary_features_map_file)
           
static Phylogeny createNjTreeBasedOnMatrixToFile(File nj_tree_outfile, DistanceMatrix distance)
           
static void decoratePrintableDomainSimilarities(SortedSet<DomainSimilarity> domain_similarities, DomainSimilarityCalculator.Detailedness detailedness, DomainSimilarityCalculator.GoAnnotationOutput go_annotation_output, Map<GoId,GoTerm> go_id_to_term_map, GoNameSpace go_namespace_limit)
           
static void executeDomainLengthAnalysis(String[][] input_file_properties, int number_of_genomes, DomainLengthsTable domain_lengths_table, File outfile)
           
static void executeParsimonyAnalysis(long random_number_seed_for_fitch_parsimony, boolean radomize_fitch_parsimony, String outfile_name, DomainParsimonyCalculator domain_parsimony, Phylogeny phylogeny, Map<DomainId,List<GoId>> domain_id_to_go_ids_map, Map<GoId,GoTerm> go_id_to_term_map, GoNameSpace go_namespace_limit, String parameters_str, Map<DomainId,Set<String>>[] domain_id_to_secondary_features_maps, SortedSet<DomainId> positive_filter, boolean output_binary_domain_combinations_for_graphs, List<BinaryDomainCombination> all_binary_domains_combination_gained_fitch, List<BinaryDomainCombination> all_binary_domains_combination_lost_fitch, BinaryDomainCombination.DomainCombinationType dc_type)
           
static void executeParsimonyAnalysisForSecondaryFeatures(String outfile_name, DomainParsimonyCalculator secondary_features_parsimony, Phylogeny phylogeny, String parameters_str, Map<Species,MappingResults> mapping_results_map)
           
static void extractProteinNames(List<Protein> proteins, List<DomainId> query_domain_ids_nc_order, Writer out, String separator)
           
static void extractProteinNames(SortedMap<Species,List<Protein>> protein_lists_per_species, DomainId domain_id, Writer out, String separator)
           
static SortedSet<DomainId> getAllDomainIds(List<GenomeWideCombinableDomains> gwcd_list)
           
static SortedMap<String,Integer> getDomainCounts(List<Protein> protein_domain_collections)
           
static int getNumberOfNodesLackingName(Phylogeny p, StringBuilder names)
           
static boolean isEngulfed(Domain domain, List<Boolean> covered_positions)
          Returns true is Domain domain falls in an uninterrupted stretch of covered positions.
static void preparePhylogeny(Phylogeny p, DomainParsimonyCalculator domain_parsimony, String date_time, String method, String name, String parameters_str)
           
static Protein removeOverlappingDomains(int max_allowed_overlap, boolean remove_engulfed_domains, Protein protein)
          Example regarding engulfment: ------------0.1 ----------0.2 --0.3 => domain with 0.3 is ignored -----------0.1 ----------0.2 --0.3 => domain with 0.3 is ignored ------------0.1 ----------0.3 --0.2 => domains with 0.3 and 0.2 are _not_ ignored
static void writeAllDomainsChangedOnAllSubtrees(Phylogeny p, boolean get_gains, String outdir, String suffix_for_filename)
           
static void writeBinaryDomainCombinationsFileForGraphAnalysis(String[][] input_file_properties, File output_dir, GenomeWideCombinableDomains gwcd, int i, GenomeWideCombinableDomains.GenomeWideCombinableDomainsSortOrder dc_sort_order)
           
static void writeBinaryStatesMatrixAsListToFile(CharacterStateMatrix<CharacterStateMatrix.GainLossStates> matrix, CharacterStateMatrix.GainLossStates state, String filename, String indentifier_characters_separator, String character_separator, Map<String,String> descriptions)
           
static void writeBinaryStatesMatrixAsListToFileForBinaryCombinationsForGraphAnalysis(CharacterStateMatrix<CharacterStateMatrix.GainLossStates> matrix, CharacterStateMatrix.GainLossStates state, String filename, String indentifier_characters_separator, String character_separator, BinaryDomainCombination.OutputFormat bc_output_format)
           
static void writeBinaryStatesMatrixToList(Map<DomainId,List<GoId>> domain_id_to_go_ids_map, Map<GoId,GoTerm> go_id_to_term_map, GoNameSpace go_namespace_limit, boolean domain_combinations, CharacterStateMatrix<CharacterStateMatrix.GainLossStates> matrix, CharacterStateMatrix.GainLossStates state, String filename, String indentifier_characters_separator, String character_separator, String title_for_html, String prefix_for_html, Map<DomainId,Set<String>>[] domain_id_to_secondary_features_maps, SortedSet<String> all_pfams_encountered, SortedSet<String> pfams_gained_or_lost, String suffix_for_per_node_events_file)
           
static void writeDomainCombinationsCountsFile(String[][] input_file_properties, File output_dir, Writer per_genome_domain_promiscuity_statistics_writer, GenomeWideCombinableDomains gwcd, int i, GenomeWideCombinableDomains.GenomeWideCombinableDomainsSortOrder dc_sort_order)
           
static DescriptiveStatistics writeDomainSimilaritiesToFile(StringBuilder html_desc, StringBuilder html_title, Writer w, SortedSet<DomainSimilarity> similarities, boolean treat_as_binary, List<Species> species_order, PrintableDomainSimilarity.PRINT_OPTION print_option, DomainSimilarity.DomainSimilaritySortField sort_field, DomainSimilarity.DomainSimilarityScoring scoring, boolean verbose)
           
static void writeMatrixToFile(CharacterStateMatrix<?> matrix, String filename, CharacterStateMatrix.Format format)
           
static void writeMatrixToFile(File matrix_outfile, List<DistanceMatrix> matrices)
           
static void writePhylogenyToFile(Phylogeny phylogeny, String filename)
           
static void writeTaxonomyLinks(Writer writer, String species)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PATTERN_SP_STYLE_TAXONOMY

public static final Pattern PATTERN_SP_STYLE_TAXONOMY
Method Detail

addAllBinaryDomainCombinationToSet

public static void addAllBinaryDomainCombinationToSet(GenomeWideCombinableDomains genome,
                                                      SortedSet<BinaryDomainCombination> binary_domain_combinations)

addAllDomainIdsToSet

public static void addAllDomainIdsToSet(GenomeWideCombinableDomains genome,
                                        SortedSet<DomainId> domain_ids)

addHtmlHead

public static void addHtmlHead(Writer w,
                               String title)
                        throws IOException
Throws:
IOException

calculateDescriptiveStatisticsForMeanValues

public static DescriptiveStatistics calculateDescriptiveStatisticsForMeanValues(Set<DomainSimilarity> similarities)

calculateOverlap

public static int calculateOverlap(Domain domain,
                                   List<Boolean> covered_positions)

checkForOutputFileWriteability

public static void checkForOutputFileWriteability(File outfile)

collectChangedDomainCombinationsFromBinaryStatesMatrixAsListToFile

public static void collectChangedDomainCombinationsFromBinaryStatesMatrixAsListToFile(CharacterStateMatrix<CharacterStateMatrix.GainLossStates> matrix,
                                                                                      BinaryDomainCombination.DomainCombinationType dc_type,
                                                                                      List<BinaryDomainCombination> all_binary_domains_combination_gained,
                                                                                      boolean get_gains)

createDomainIdToGoIdMap

public static Map<DomainId,List<GoId>> createDomainIdToGoIdMap(List<PfamToGoMapping> pfam_to_go_mappings)

createDomainIdToSecondaryFeaturesMap

public static Map<DomainId,Set<String>> createDomainIdToSecondaryFeaturesMap(File secondary_features_map_file)
                                                                      throws IOException
Throws:
IOException

createNjTreeBasedOnMatrixToFile

public static Phylogeny createNjTreeBasedOnMatrixToFile(File nj_tree_outfile,
                                                        DistanceMatrix distance)

decoratePrintableDomainSimilarities

public static void decoratePrintableDomainSimilarities(SortedSet<DomainSimilarity> domain_similarities,
                                                       DomainSimilarityCalculator.Detailedness detailedness,
                                                       DomainSimilarityCalculator.GoAnnotationOutput go_annotation_output,
                                                       Map<GoId,GoTerm> go_id_to_term_map,
                                                       GoNameSpace go_namespace_limit)

executeDomainLengthAnalysis

public static void executeDomainLengthAnalysis(String[][] input_file_properties,
                                               int number_of_genomes,
                                               DomainLengthsTable domain_lengths_table,
                                               File outfile)
                                        throws IOException
Throws:
IOException

executeParsimonyAnalysis

public static void executeParsimonyAnalysis(long random_number_seed_for_fitch_parsimony,
                                            boolean radomize_fitch_parsimony,
                                            String outfile_name,
                                            DomainParsimonyCalculator domain_parsimony,
                                            Phylogeny phylogeny,
                                            Map<DomainId,List<GoId>> domain_id_to_go_ids_map,
                                            Map<GoId,GoTerm> go_id_to_term_map,
                                            GoNameSpace go_namespace_limit,
                                            String parameters_str,
                                            Map<DomainId,Set<String>>[] domain_id_to_secondary_features_maps,
                                            SortedSet<DomainId> positive_filter,
                                            boolean output_binary_domain_combinations_for_graphs,
                                            List<BinaryDomainCombination> all_binary_domains_combination_gained_fitch,
                                            List<BinaryDomainCombination> all_binary_domains_combination_lost_fitch,
                                            BinaryDomainCombination.DomainCombinationType dc_type)
Parameters:
all_binary_domains_combination_lost_fitch -
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(String outfile_name,
                                                                DomainParsimonyCalculator secondary_features_parsimony,
                                                                Phylogeny phylogeny,
                                                                String parameters_str,
                                                                Map<Species,MappingResults> mapping_results_map)

extractProteinNames

public static void extractProteinNames(List<Protein> proteins,
                                       List<DomainId> query_domain_ids_nc_order,
                                       Writer out,
                                       String separator)
                                throws IOException
Throws:
IOException

extractProteinNames

public static void extractProteinNames(SortedMap<Species,List<Protein>> protein_lists_per_species,
                                       DomainId domain_id,
                                       Writer out,
                                       String separator)
                                throws IOException
Throws:
IOException

getAllDomainIds

public static SortedSet<DomainId> getAllDomainIds(List<GenomeWideCombinableDomains> gwcd_list)

getDomainCounts

public static SortedMap<String,Integer> getDomainCounts(List<Protein> protein_domain_collections)

getNumberOfNodesLackingName

public static int getNumberOfNodesLackingName(Phylogeny p,
                                              StringBuilder names)

isEngulfed

public static boolean isEngulfed(Domain domain,
                                 List<Boolean> covered_positions)
Returns true is Domain domain falls in an uninterrupted stretch of covered positions.

Parameters:
domain -
covered_positions -
Returns:

preparePhylogeny

public static void preparePhylogeny(Phylogeny p,
                                    DomainParsimonyCalculator domain_parsimony,
                                    String date_time,
                                    String method,
                                    String name,
                                    String parameters_str)

removeOverlappingDomains

public static Protein removeOverlappingDomains(int max_allowed_overlap,
                                               boolean remove_engulfed_domains,
                                               Protein protein)
Example regarding engulfment: ------------0.1 ----------0.2 --0.3 => domain with 0.3 is ignored -----------0.1 ----------0.2 --0.3 => domain with 0.3 is ignored ------------0.1 ----------0.3 --0.2 => domains with 0.3 and 0.2 are _not_ ignored

Parameters:
max_allowed_overlap - maximal allowed overlap (inclusive) to be still considered not overlapping (zero or negative value to allow any overlap)
remove_engulfed_domains - to remove domains which are completely engulfed by coverage of domains with better support
protein -
Returns:

writeAllDomainsChangedOnAllSubtrees

public static void writeAllDomainsChangedOnAllSubtrees(Phylogeny p,
                                                       boolean get_gains,
                                                       String outdir,
                                                       String suffix_for_filename)
                                                throws IOException
Throws:
IOException

writeBinaryDomainCombinationsFileForGraphAnalysis

public static void writeBinaryDomainCombinationsFileForGraphAnalysis(String[][] input_file_properties,
                                                                     File output_dir,
                                                                     GenomeWideCombinableDomains gwcd,
                                                                     int i,
                                                                     GenomeWideCombinableDomains.GenomeWideCombinableDomainsSortOrder dc_sort_order)

writeBinaryStatesMatrixAsListToFile

public static void writeBinaryStatesMatrixAsListToFile(CharacterStateMatrix<CharacterStateMatrix.GainLossStates> matrix,
                                                       CharacterStateMatrix.GainLossStates state,
                                                       String filename,
                                                       String indentifier_characters_separator,
                                                       String character_separator,
                                                       Map<String,String> descriptions)

writeBinaryStatesMatrixAsListToFileForBinaryCombinationsForGraphAnalysis

public static void writeBinaryStatesMatrixAsListToFileForBinaryCombinationsForGraphAnalysis(CharacterStateMatrix<CharacterStateMatrix.GainLossStates> matrix,
                                                                                            CharacterStateMatrix.GainLossStates state,
                                                                                            String filename,
                                                                                            String indentifier_characters_separator,
                                                                                            String character_separator,
                                                                                            BinaryDomainCombination.OutputFormat bc_output_format)

writeBinaryStatesMatrixToList

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

writeDomainCombinationsCountsFile

public static void writeDomainCombinationsCountsFile(String[][] input_file_properties,
                                                     File output_dir,
                                                     Writer per_genome_domain_promiscuity_statistics_writer,
                                                     GenomeWideCombinableDomains gwcd,
                                                     int i,
                                                     GenomeWideCombinableDomains.GenomeWideCombinableDomainsSortOrder dc_sort_order)

writeDomainSimilaritiesToFile

public static DescriptiveStatistics writeDomainSimilaritiesToFile(StringBuilder html_desc,
                                                                  StringBuilder html_title,
                                                                  Writer w,
                                                                  SortedSet<DomainSimilarity> similarities,
                                                                  boolean treat_as_binary,
                                                                  List<Species> species_order,
                                                                  PrintableDomainSimilarity.PRINT_OPTION print_option,
                                                                  DomainSimilarity.DomainSimilaritySortField sort_field,
                                                                  DomainSimilarity.DomainSimilarityScoring scoring,
                                                                  boolean verbose)
                                                           throws IOException
Throws:
IOException

writeMatrixToFile

public static void writeMatrixToFile(CharacterStateMatrix<?> matrix,
                                     String filename,
                                     CharacterStateMatrix.Format format)

writeMatrixToFile

public static void writeMatrixToFile(File matrix_outfile,
                                     List<DistanceMatrix> matrices)

writePhylogenyToFile

public static void writePhylogenyToFile(Phylogeny phylogeny,
                                        String filename)

writeTaxonomyLinks

public static void writeTaxonomyLinks(Writer writer,
                                      String species)
                               throws IOException
Throws:
IOException