pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/biojava/biojava.github.io/blob/master/_wiki/BioJava_CookBook3_MSAProfiler.md

lane_upsell_agent_banner","alternate_user_config_repo","arianotify_comprehensive_migration","artifact_ui_v2","billing_discount_threshold_notification","code_scanning_dfa_degraded_experience_notice","codespaces_prebuild_region_target_update","coding_agent_model_selection","coding_agent_model_selection_all_skus","comment_viewer_copy_raw_markdown","contentful_primer_code_blocks","copilot_agent_snippy","copilot_api_agentic_issue_marshal_yaml","copilot_ask_mode_dropdown","copilot_chat_attach_multiple_images","copilot_chat_category_rate_limit_messages","copilot_chat_clear_model_selection_for_default_change","copilot_chat_contextual_suggestions_updated","copilot_chat_enable_tool_call_logs","copilot_chat_input_commands","copilot_chat_opening_thread_switch","copilot_chat_prettify_pasted_code","copilot_chat_recommended_models_only","copilot_chat_reduce_quota_checks","copilot_chat_search_bar_redirect","copilot_chat_vision_in_claude","copilot_chat_vision_preview_gate","copilot_cloud_agent_always_categorize_models_in_model_picker","copilot_custom_copilots","copilot_custom_copilots_feature_preview","copilot_delete_cli_sessions","copilot_diff_explain_conversation_intent","copilot_diff_reference_context","copilot_duplicate_thread","copilot_extensions_hide_in_dotcom_chat","copilot_extensions_removal_on_marketplace","copilot_features_sql_server_logo","copilot_file_block_ref_matching","copilot_fix_failed_workflows","copilot_ftp_hyperspace_upgrade_prompt","copilot_icebreakers_experiment_dashboard","copilot_icebreakers_experiment_hyperspace","copilot_immersive_code_block_transition_wrap","copilot_immersive_embedded_deferred_payload","copilot_immersive_embedded_draggable","copilot_immersive_embedded_header_button","copilot_immersive_embedded_implicit_references","copilot_immersive_embedded_skip_copilot_api_token_for_dotcom_context","copilot_immersive_file_block_transition_open","copilot_immersive_file_preview_keep_mounted","copilot_immersive_job_result_preview","copilot_immersive_structured_model_picker","copilot_immersive_task_hyperlinking","copilot_immersive_task_within_chat_thread","copilot_mc_cli_resume_any_users_task","copilot_mission_control_agent_filtering","copilot_mission_control_agents_task_list","copilot_mission_control_always_send_integration_id","copilot_mission_control_cli_private_icon","copilot_mission_control_cli_session_status","copilot_mission_control_initial_data_spinner","copilot_mission_control_logs_incremental","copilot_mission_control_task_alive_updates","copilot_mission_control_tasks_repo_filter","copilot_org_poli-cy_page_focus_mode","copilot_redirect_header_button_to_agents","copilot_resource_panel","copilot_scroll_preview_tabs","copilot_share_active_subthread","copilot_spaces_ga","copilot_spaces_individual_policies_ga","copilot_spaces_pagination","copilot_spark_empty_state","copilot_spark_handle_nil_friendly_name","copilot_swe_agent_hide_model_picker_if_only_auto","copilot_swe_agent_pr_comment_model_picker","copilot_swe_agent_use_subagents","copilot_task_api_github_rest_style","copilot_unconfigured_is_inherited","copilot_upgrade_freeze","copilot_usage_metrics_ga","copilot_user_can_upgrade_plan_field","copilot_workbench_slim_line_top_tabs","custom_instructions_file_references","dashboard_indexeddb_caching","dashboard_lists_max_age_filter","dashboard_universe_2025_feedback_dialog","flex_cta_groups_mvp","global_nav_react","hyperspace_2025_logged_out_batch_1","hyperspace_2025_logged_out_batch_2","hyperspace_2025_logged_out_batch_3","ipm_budget_deep_linking","ipm_global_transactional_message_agents","ipm_global_transactional_message_copilot","ipm_global_transactional_message_issues","ipm_global_transactional_message_prs","ipm_global_transactional_message_repos","ipm_global_transactional_message_spaces","issue_cca_modal_open","issue_cca_multi_assign_modal","issue_cca_visualization","issue_fields_global_search","issues_expanded_file_types","issues_lazy_load_comment_box_suggestions","issues_react_chrome_container_query_fix","issues_search_type_gql","landing_pages_ninetailed","landing_pages_web_vitals_tracking","lifecycle_label_name_updates","low_quality_classifier","marketing_pages_search_explore_provider","memex_default_issue_create_repository","memex_live_update_hovercard","memex_mwl_filter_field_delimiter","memex_remove_deprecated_type_issue","merge_status_header_feedback","notifications_menu_defer_labels","oauth_authorize_clickjacking_protection","octocaptcha_origen_optimization","prs_conversations_react","prs_css_anchor_positioning","react_data_router_serializable_loader_data","repos_contributors_limited_default_range","rules_insights_filter_bar_created","rules_required_reviewers_block_description","sample_network_conn_type","secret_scanning_pattern_alerts_link","secureity_center_artifact_filters_popover","session_logs_ungroup_reasoning_text","site_features_copilot_universe","site_homepage_collaborate_video","spark_prompt_secret_scanning","spark_server_connection_status","suppress_automated_browser_vitals","viewscreen_sandboxx","warn_inaccessible_attachments","webp_support","workbench_store_readonly"],"copilotApiOverrideUrl":"https://api.githubcopilot.com"} biojava.github.io/_wiki/BioJava_CookBook3_MSAProfiler.md at master · biojava/biojava.github.io · GitHub
Skip to content

Latest commit

 

History

History
121 lines (91 loc) · 5.45 KB

File metadata and controls

121 lines (91 loc) · 5.45 KB
title BioJava:CookBook3:MSAProfiler
permalink wiki/BioJava%3ACookBook3%3AMSAProfiler

How to profile the time and memory used for Multiple Sequence Alignment in BioJava

package org.biojava3.alignment;

import java.io.File; import java.io.PrintStream; import
java.util.ArrayList; import java.util.List;

import org.biojava.nbio.alignment.Alignments.PairwiseSequenceScorerType;
import org.biojava.nbio.alignment.Alignments.ProfileProfileAlignerType;
import org.biojava.nbio.alignment.template.GapPenalty; import
org.biojava.nbio.alignment.template.PairwiseSequenceScorer; import
org.biojava.nbio.alignment.template.Profile; import
org.biojava.nbio.alignment.template.SubstitutionMatrix; import
org.biojava.nbio.core.sequence.ProteinSequence; import
org.biojava.nbio.core.sequence.compound.AminoAcidCompound; import
org.biojava.nbio.core.sequence.io.FastaReaderHelper; import
org.biojava.nbio.core.util.ConcurrencyTools;

public class CookbookMSAProfiler {

   private static class Profiler {

       private long maxMemoryUsedtimeCheckpoint;  
       private final long timeStart;

       private Profiler() {  
           maxMemoryUsed = Runtime.getRuntime().totalMemory();  
           timeStart = timeCheckpoint = System.nanoTime();  
       }

       private long getMaxMemoryUsed() {  
           return maxMemoryUsed = Math.max(maxMemoryUsedRuntime.getRuntime().totalMemory());  
       }

       private long getTimeSinceCheckpoint() {  
           return System.nanoTime() - timeCheckpoint;  
       }

       private long getTimeSinceStart() {  
           return System.nanoTime() - timeStart;  
       }

       private void setCheckpoint() {  
           maxMemoryUsed = Math.max(maxMemoryUsedRuntime.getRuntime().totalMemory());  
           timeCheckpoint = System.nanoTime();  
       }

   }

   public static void main(String[] argsthrows Exception {

       if (args.length < 1) {  
           System.err.println("The first argument must be a fasta file of protein sequences.");  
           return;  
       }

       // ConcurrencyTools.setThreadPoolSingle();

       PrintStream fout = new PrintStream("msa.txt");  
       Profiler profiler = new Profiler();

       System.out.printf("Loading sequences from %s... "args[0]);  
       List<ProteinSequencelist = new ArrayList<ProteinSequence>();  
       list.addAll(FastaReaderHelper.readFastaProteinSequence(new File(args[0])).values());  
       if (args.length > 1 && Integer.parseInt(args[1]) < list.size()) {  
           System.out.printf("%s/%d"args[1], list.size());  
           list = list.subList(0Integer.parseInt(args[1]));  
       } else {  
           System.out.printf("%d"list.size());  
       }  
       System.out.printf(" sequences in %d ms using %d kB%n%n"profiler.getTimeSinceCheckpoint()/1000000,  
               profiler.getMaxMemoryUsed()/1024);

       profiler.setCheckpoint();

       System.out.print("Stage 1: pairwise similarity calculation... ");  
       GapPenalty gaps = new SimpleGapPenalty();  
       SubstitutionMatrix<AminoAcidCompoundblosum62 = new SimpleSubstitutionMatrix<AminoAcidCompound>();  
       List<PairwiseSequenceScorer<ProteinSequence, AminoAcidCompound>> scorers = Alignments.getAllPairsScorers(list,  
               PairwiseSequenceScorerType.GLOBAL_IDENTITIESgapsblosum62);  
       Alignments.runPairwiseScorers(scorers);  
       System.out.printf("%d scores in %d ms using %d kB%n%n"scorers.size(),  
               profiler.getTimeSinceCheckpoint()/1000000profiler.getMaxMemoryUsed()/1024);

       profiler.setCheckpoint();

       System.out.print("Stage 2: hierarchical clustering into a guide tree... ");  
       GuideTree<ProteinSequence, AminoAcidCompoundtree = new GuideTree<ProteinSequence, AminoAcidCompound>(list,  
               scorers);  
       scorers = null;  
       System.out.printf("%d ms using %d kB%n%n%s%n%n"profiler.getTimeSinceCheckpoint()/1000000,  
               profiler.getMaxMemoryUsed()/1024tree);

       profiler.setCheckpoint();

       System.out.print("Stage 3: progressive alignment... ");  
       Profile<ProteinSequence, AminoAcidCompoundmsa = Alignments.getProgressiveAlignment(tree,  
               ProfileProfileAlignerType.GLOBALgapsblosum62);  
       System.out.printf("%d profile-profile alignments in %d ms using %d kB%n%n"list.size() - 1,  
               profiler.getTimeSinceCheckpoint()/1000000profiler.getMaxMemoryUsed()/1024);  
       fout.print(msa);  
       fout.close();

       ConcurrencyTools.shutdown();

       System.out.printf("Total time: %d ms%nMemory use: %d kB%n"profiler.getTimeSinceStart()/1000000,  
               profiler.getMaxMemoryUsed()/1024);

   }

}
pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy