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

bioconductor-orfhunter

The ORFhunteR package is a R and C++ library for an automatic determination and annotation of open reading frames (ORF) in a large set of RNA molecules. It efficiently implements the machine learning model based on vectorization of nucleotide sequences and the random forest classification algorithm. The ORFhunteR package consists of a set of functions written in the R language in conjunction with C++. The efficiency of the package was confirmed by the examples of the analysis of RNA molecules fr

インストール方法を見る

含まれるファイル(1)

  • SKILL.md7.5 KB

SKILL.md(原文)

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

ORFhunteR

Workflows

Predict And Annotate Orfs

library(ORFhunteR)

trans <- system.file("extdata", "Set.trans_sequences.fasta", package = "ORFhunteR")
model <- "http://www.sstcenter.com/download/ORFhunteR/classRFmodel_1.rds"

# Predict ORFs
ORFs <- predictORF(tr = trans, model = model, prThr = 0)

# Write coordinates to a temporary file for downstream functions
orfs_path <- tempfile(fileext = ".txt")
write.table(ORFs, file = orfs_path, sep = "\t", row.names = FALSE, quote = FALSE)

# Extract sequences
seq_orfs <- getSeqORFs(orfs = orfs_path, tr = trans, genome = "BSgenome.Hsapiens.UCSC.hg38")

# Find PTCs
gtf_path <- system.file("extdata", "Set.trans_sequences.gtf", package = "ORFhunteR")
ptcs <- findPTCs(orfs = orfs_path, gtf = gtf_path)

# Translate ORFs
seq_orf_path <- system.file("extdata", "Set.trans_ORFs.sequences.fasta", package = "ORFhunteR")
prot_seqs <- translateORFs(seqORFs = seq_orf_path)

# Annotate ORFs
prts_path <- system.file("extdata", "Set.trans_proteins.sequences.fasta", package = "ORFhunteR")
anno_orfs <- annotateORFs(orfs = orfs_path, tr = trans, gtf = gtf_path, prts = prts_path)

Input: FASTA file of transcript sequences and a pre-trained Random Forest model.
Output: Predicted ORFs, extracted sequences, PTC status, translated proteins, and a comprehensive annotation table.

Standard Workflow

library(ORFhunteR)

# Load pseudo-ORFs (lncRNAs) and true ORFs (mRNAs)
fileORFLncRNAs <- "http://www.sstcenter.com/download/ORFhunteR/NCBI_RefSeq_release_109_GRCh38.p12_ORF_candidates_sequences_lncRNAs.fasta.gz"
ORFLncRNAs <- loadTrExper(tr = fileORFLncRNAs)

fileORFmRNAs <- "http://www.sstcenter.com/download/ORFhunteR/NCBI_RefSeq_release_109_GRCh38.p12_ORFs_true_sequences_mRNAs.fasta.gz"
ORFmRNAs <- loadTrExper(tr = fileORFmRNAs)

# Train the Random Forest classifier
clt <- classifyORFsCandidates(
  ORFLncRNAs = ORFLncRNAs[1:10],
  ORFmRNAs = ORFmRNAs[1:10],
  pLearn = 0.75,
  nTrees = 10
)

Input: Lists of pseudo-ORFs and true coding ORFs.
Output: A trained randomForest classifier object.

Orf Prediction And Annotation

library(ORFhunteR)

trans <- system.file("extdata", "Set.trans_sequences.fasta", package = "ORFhunteR")
model <- "http://www.sstcenter.com/download/ORFhunteR/classRFmodel_1.rds"

# 1. Predict true ORFs
ORFs <- predictORF(tr = trans, model = model, prThr = 0)

# 2. Extract nucleotide sequences of predicted ORFs
orfs_path <- system.file("extdata", "Set.trans_ORFs.coordinates.txt", package = "ORFhunteR")
seq_orfs <- getSeqORFs(orfs = orfs_path, tr = trans, genome = "BSgenome.Hsapiens.UCSC.hg38")

# 3. Detect premature termination codons (PTCs)
gtf_path <- system.file("extdata", "Set.trans_sequences.gtf", package = "ORFhunteR")
ptcs <- findPTCs(orfs = orfs_path, gtf = gtf_path)

# 4. Translate predicted ORFs into amino acid sequences
seq_orf_path <- system.file("extdata", "Set.trans_ORFs.sequences.fasta", package = "ORFhunteR")
prot_seqs <- translateORFs(seqORFs = seq_orf_path)

# 5. Generate a comprehensive annotation table
prts_path <- system.file("extdata", "Set.trans_proteins.sequences.fasta", package = "ORFhunteR")
anno_orfs <- annotateORFs(orfs = orfs_path, tr = trans, gtf = gtf_path, prts = prts_path)

Input: Transcript sequences, coordinates of ORFs, GTF file, and protein sequences.
Output: Annotated ORF table containing molecular weight, isoelectric point, and potential protein interaction index.

When to Use

  • Automatically identifying and annotating open reading frames (ORFs) in large sets of RNA molecules.
  • Vectorizing sequence features of ORFs (mono-, di-, trinucleotide frequencies, Bao model entropy, etc.) using vectorizeORFs.
  • Training custom Random Forest classifiers to distinguish true ORFs from pseudo-ORFs using classifyORFsCandidates.
  • Translating nucleotide sequences of identified ORFs into amino acid sequences using translateORFs.

When NOT to Use

  • For general gene annotation or transcript assembly from RNA-seq reads; use StringTie or Scallop instead.
  • For predicting protein 3D structures or detailed functional domains; use specialized tools like InterProScan or AlphaFold.

Data Requirements

  • Transcript sequences in fasta or fa format (or gtf/gff format with a corresponding BSgenome package like BSgenome.Hsapiens.UCSC.hg38).
  • Coordinates of ORFs in a tab-delimited TXT file (as generated by predictORF).
  • Transcript structure in gtf or gff format for PTC detection.

Key Parameters

  • tr: Character string giving the path to the file with transcripts of interest (FASTA, FA, GTF, or GFF).
  • model: Character string giving the path or connection to the pre-trained Random Forest model RDS file.
  • prThr (0): Probability threshold for the winning class of ORFs.
  • codStart ("ATG"): Start codon to scan for in findORFs.
  • pLearn (0.75): Fraction of ORFs used for the training set in classifyORFsCandidates.
  • nTrees (500): Number of trees to grow in the Random Forest model.
  • genome ("BSgenome.Hsapiens.UCSC.hg38"): Name of the pre-installed BSgenome data package.

Best Practices

  • Use loadTrExper to safely load and parse transcript sequences from FASTA or GTF files.
  • Filter out low-probability ORF candidates by setting a strict probability threshold prThr (e.g., 0.9) in predictORF to reduce false positives.
  • Ensure that the transcript IDs in the coordinates file (orfs), transcript sequences (tr), and GTF file (gtf) match exactly when running annotateORFs or findPTCs.

Common Pitfalls

  • Missing BSgenome Package: Running getSeqORFs or predictORF with GTF/GFF inputs fails if the specified genome package is not installed. Fix: Install the required BSgenome package (e.g., BSgenome.Hsapiens.UCSC.hg38) before running.
  • Mismatched Transcript IDs: Downstream annotation functions fail to find matching transcripts. Fix: Verify that the transcript IDs in the FASTA, GTF, and coordinates files are identical.
  • Low Random Forest Accuracy: Training a model with too few trees or too small a dataset. Fix: Use a larger training set (e.g., N = 1000) and set nTrees to at least 500 in classifyORFsCandidates.

Alternatives

  • systemPipeR: For general workflow management including ORF prediction.
  • Biostrings: For basic sequence manipulation and translation without machine learning-based ORF classification.

Citations

  • Vasily V. Grinev, Mikalai M. Yatskou, Victor V. Skakun, Maryna K. Chepeleva, Petr V. Nazarov (2021). ORFhunteR: an accurate approach for the automatic identification and annotation of open reading frames in human mRNA molecules. bioRxiv.

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 のスキルをすべて見る

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