本文へ移動
cccskills
無料GitHub で公開

bioconductor-syntenet

syntenet can be used to infer synteny networks from whole-genome protein sequences and analyze them. Anchor pairs are detected with the MCScanX algorithm, which was ported to this package with the Rcpp framework for R and C++ integration. Anchor pairs from synteny analyses are treated as an undirected unweighted graph (i.e., a synteny network), and users can perform: i. network clustering; ii. phylogenomic profiling (by identifying which species contain which clusters) and; iii. microsynteny-bas

インストール方法を見る

含まれるファイル(1)

  • SKILL.md6.0 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

syntenet

Workflows

Standard Workflow

Infer a global synteny network from multiple proteomes, cluster it, perform phylogenomic profiling, and reconstruct a microsynteny-based phylogeny.

library(syntenet)
data(proteomes)
data(annotation)
data(blast_list)

# Check and process input data
check_input(proteomes, annotation)
pdata <- process_input(proteomes, annotation)

# Infer synteny network
net <- infer_syntenet(blast_list, pdata$annotation)

# Cluster network and perform phylogenomic profiling
data(network)
clusters <- cluster_network(network)
profiles <- phylogenomic_profile(clusters)

Input: Proteome sequences as a list of AAStringSet objects and gene annotations as a GRangesList. Output: A synteny network edge list and a matrix of phylogenomic profiles.

Pairwise Synteny Detection

Detect and parse intra- and inter-species syntenic blocks and anchor pairs.

library(syntenet)
data(proteomes)
data(annotation)
data(blast_list)

# Preprocess input data
pdata <- process_input(proteomes, annotation)

# Detect synteny and infer anchor pairs
net <- infer_syntenet(blast_list, pdata$annotation)

Input: Preprocessed proteome sequences and gene annotations along with BLAST/DIAMOND tabular similarity search results. Output: A 2-column data frame representing anchor pairs.

When to Use

  • Inference and Analysis of Synteny Networks: Use when you need to detect conserved gene content and order across multiple genomes from protein sequences and gene annotations.
  • Network Clustering: Use cluster_network() to group synteny networks into clusters using algorithms like Infomap.
  • Phylogenomic Profiling: Use phylogenomic_profile() to identify which species contain which synteny clusters, revealing highly conserved or taxon-specific gene groups.
  • Visualizing Synteny Profiles: Use plot_profiles() to generate highly customizable heatmaps of phylogenomic profiles.

When NOT to Use

  • Overlapping Communities (e.g., Tandem Arrays): Do not use the default Infomap algorithm in cluster_network() if genes must belong to multiple clusters; use an alternative like the clique percolation algorithm instead.
  • Simple Sequence Similarity Searches: Do not use infer_syntenet() for simple sequence alignment or similarity searches without genomic coordinate context; use run_diamond() or run_last() directly.

Data Requirements

  • Sequence Data (seq): A list of AAStringSet objects containing translated primary transcripts for each species. Can be imported from FASTA files using fasta2AAStringSetlist().
  • Annotation Data (annotation): A GRangesList or CompressedGRangesList containing gene coordinates. Can be imported from GFF/GTF files using gff2GRangesList().
  • Similarity Search Results: A list of data frames containing tabular outputs of all-vs-all searches (e.g., from DIAMOND or BLASTp), which can be loaded using read_diamond() or read_last().

Key Parameters

  • gene_field ("gene_id"): The column name in the GRanges metadata containing gene IDs, used in check_input() and process_input().
  • clust_function (stats::hclust): The clustering function used to group columns in plot_profiles().
  • clust_params (list(method = "ward.D")): Additional parameters passed to the column clustering function in plot_profiles().
  • dist_function (stats::dist): The distance function used to compute the distance matrix in plot_profiles().
  • dist_params (list(method = "euclidean")): Additional parameters passed to the distance function in plot_profiles().
  • cluster_species (NULL): A character vector defining the custom display order of species in plot_profiles().

Best Practices

  • Run check_input() before processing to verify that sequence names match gene annotations and that isoform sequences are not duplicated.
  • Standardize sequence headers and add unique species identifiers to gene and chromosome names using process_input().
  • Check if DIAMOND is installed and available in your system PATH using diamond_is_installed() before calling run_diamond().
  • Pass a named character vector matching a species tree to the cluster_species parameter in plot_profiles() to visualize synteny patterns in a phylogenetic context.

Common Pitfalls

  • Isoform Duplication: Inputting multiple isoforms of the same gene will fail input checks; ensure only primary transcripts are included in the input sequences.
  • Mismatched Gene IDs: If gene IDs are stored in a non-default column in the GFF/GTF files, you must specify the correct column name using the gene_field parameter in check_input() and process_input().

Alternatives

  • MCScanX: The original C++ command-line tool for synteny detection (syntenet implements a native version of this algorithm in R via Rcpp).
  • igraph: For alternative network clustering methods that can be passed directly to cluster_network().
  • CliquePercolation: For clustering algorithms that allow community overlap.

Citations

  • Zhao and Schranz (2017). Network-based approach to analyze synteny. Scientific Reports.
  • Wang et al. (2012). MCScanX: a toolkit for detection and evolutionary analysis of gene synteny and collinearity. Nucleic Acids Research.

References

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

The package contains functions for exploratory oligonucleotide array analysis. The dependence on tkWidgets only concerns few convenience functions. 'affy' is fully functional without it.

日本語の概要は準備中です。原文の説明を表示しています。

bioMate-AI/biomate-bioconductor-kb8042026年6月21日 更新

This tool uses the label-tree function from HyPhy to annotate a phylogenetic tree. It allows users to select a subset of leaves using either a regular expression or a list of sequence names, and then apply a specified label to these selecte

日本語の概要は準備中です。原文の説明を表示しています。

bioMate-AI/biomate-bioconductor-kb8042026年6月21日 更新

This package provides a client for the Bioconductor AnnotationHub web resource. The AnnotationHub web resource provides a central location where genomic files (e.g., VCF, bed, wig) and other resources from standard locations (e.g., UCSC, En

日本語の概要は準備中です。原文の説明を表示しています。

bioMate-AI/biomate-bioconductor-kb8042026年6月21日 更新

apeglm provides Bayesian shrinkage estimators for effect sizes for a variety of GLM models, using approximation of the posterior for individual coefficients.

日本語の概要は準備中です。原文の説明を表示しています。

bioMate-AI/biomate-bioconductor-kb8042026年6月21日 更新

ASURAT is a software for single-cell data analysis. Using ASURAT, one can simultaneously perform unsupervised clustering and biological interpretation in terms of cell type, disease, biological process, and signaling pathway activity. Inputting a single-cell RNA-seq data and knowledge-based databases, such as Cell Ontology, Gene Ontology, KEGG, etc., ASURAT transforms gene expression tables into original multivariate tables, termed sign-by-sample matrices (SSMs).

日本語の概要は準備中です。原文の説明を表示しています。

bioMate-AI/biomate-bioconductor-kb8042026年6月21日 更新

AUCell allows to identify cells with active gene sets (e.g. signatures, gene modules...) in single-cell RNA-seq data. AUCell uses the "Area Under the Curve" (AUC) to calculate whether a critical subset of the input gene set is enriched with

日本語の概要は準備中です。原文の説明を表示しています。

bioMate-AI/biomate-bioconductor-kb8042026年6月21日 更新

bioMate-AI のスキルをすべて見る

このスキルの問題を報告する