All Projects → clindet → anor

clindet / anor

Licence: other
anor: an annotation and visualization system based on R and Shiny framework

Programming Languages

r
7636 projects

Projects that are alternatives of or similar to anor

Jsoup Annotations
Jsoup Annotations POJO
Stars: ✭ 242 (+764.29%)
Mutual labels:  annotations
simple-commands
An (even more) simplified and intuitive command framework for Spigot.
Stars: ✭ 14 (-50%)
Mutual labels:  annotations
obsidian-hypothesis-plugin
An Obsidian.md plugin that syncs highlights from Hypothesis.
Stars: ✭ 164 (+485.71%)
Mutual labels:  annotations
Annotation tools
Visipedia Annotation Tools
Stars: ✭ 245 (+775%)
Mutual labels:  annotations
Yolo-to-COCO-format-converter
Yolo to COCO annotation format converter
Stars: ✭ 176 (+528.57%)
Mutual labels:  annotations
serde with
This crate provides custom de/serialization helpers to use in combination with serde's `with`-annotation and with the improved `serde_as`-annotation.
Stars: ✭ 392 (+1300%)
Mutual labels:  annotations
Koro1fileheader
VSCode插件:自动生成,自动更新VSCode文件头部注释, 自动生成函数注释并支持提取函数参数,支持所有主流语言,文档齐全,使用简单,配置灵活方便,持续维护多年。
Stars: ✭ 3,137 (+11103.57%)
Mutual labels:  annotations
DyAnnotationExtractor
DyAnnotationExtractor is software for extracting annotations (highlighted text and comments) from e-documents like PDF.
Stars: ✭ 34 (+21.43%)
Mutual labels:  annotations
controller-logger
AOP based API logging for Spring Boot
Stars: ✭ 57 (+103.57%)
Mutual labels:  annotations
GEAN
This toolkit deals with GEnomic sequence and genome structure ANnotation files between inbreeding lines and species.
Stars: ✭ 36 (+28.57%)
Mutual labels:  annotations
Cocostuff10k
The official homepage of the (outdated) COCO-Stuff 10K dataset.
Stars: ✭ 248 (+785.71%)
Mutual labels:  annotations
stylelint-problem-matcher
A GitHub Action that registers a problem matcher for Stylelint's report format
Stars: ✭ 18 (-35.71%)
Mutual labels:  annotations
Library-Spring
The library web application where you can borrow books. It's Spring MVC and Hibernate project.
Stars: ✭ 73 (+160.71%)
Mutual labels:  annotations
Each
A macro library that converts native imperative syntax to scalaz's monadic expressions
Stars: ✭ 245 (+775%)
Mutual labels:  annotations
TouchPortalPluginSDK
This Project is an SDK to create a Touch Portal Plugin using Java or Kotlin and Gradle
Stars: ✭ 32 (+14.29%)
Mutual labels:  annotations
React Tater
A React component to add annotations to any element on a page 🥔
Stars: ✭ 235 (+739.29%)
Mutual labels:  annotations
attributes
PHP Attributes Reader. Subtree split of the Spiral Attributes component (see spiral/framework)
Stars: ✭ 22 (-21.43%)
Mutual labels:  annotations
young-examples
java学习和项目中一些典型的应用场景样例代码
Stars: ✭ 21 (-25%)
Mutual labels:  annotations
goat
Annotate Images (or goats) On The Web™
Stars: ✭ 75 (+167.86%)
Mutual labels:  annotations
boost-reflection
This library provides Java-like Reflection API to C++ language.
Stars: ✭ 16 (-42.86%)
Mutual labels:  annotations

anor

Build Status CRAN Downloads License codecov

Introduction

The anor package provides R functions as well as database resources which offer an integrated framework to annotate genetic variants from genome and transcriptome data. The wrapper functions of anor unified the interface of many published annotation tools, such as VEP, ANNOVAR, vcfanno and AnnotationDbi.

It also simplified the use of some of the external annotation tools in R. Besides, massive published genetic variants annotation databases were integrated into anor.

The main development motivation of anor is to increase the supported database and facilitate the variants annotation work. There are already too many tools and databases available and the usage is quite different. anor will integrate these annotation tools and get the merged annotation result in R.

anor will not only provides annotation functions (both internal and external) but also hope to establish a shared annotation database resources. In fact, we have made some efforts in the relevant direction that massive scattered databases can easily to be download via using BioInstaller R package.

Besides, we collected total 1,285 cases public B-progenitor acute lymphoblastic leukemia (B-ALL) transcriptome data from five different published datasets and built a novel large-scale transcript level sequencing variant database. The Genome Analysis Toolkit (GATK), VarScan2 and LoFreq be used to call variants from the RNA-seq data (Database called BRVar). This work can help us to screen candidate systematic sequencing bias and evaluate variant calling trait from B-ALL RNA-seq.

If you want to download the 1,285 RNA-seq variants frequency database, you need click here and send us a short application message (Whether it is for commercial use?). If the application is applied, we will reply you within 24 hours with a download required license code.

# Download BRVar database
# You must input the applied license code
library(anor)
download.database("db_annovar_brvar", "/path/annovar.dir",  license = "licence_code")

Requirements

anor annotation system:

ANNOVAR annotation system:

VEP annotation system

vcfanno annotationo system

Installation

Core softwares

# CRAN to install anor (The R package BioInstaller will be installed)
setRepositories(ind=1:2)
install.packages('anor')

# Github to install anor (The R package BioInstaller will be installed)
# install.packages("devtools")
devtools::install_github("JhuangLab/anor")

# Set needed directory
annovar.dir <- "/opt/bin/annovar"
database.dir <- "/opt/bin/annovar/humandb"
vcfanno.dir <- "/opt/bin/vcfanno.dir"

# Use BioInstaller to install ANNOVAR easily in R
library(BioInstaller)
install.bioinfo('annovar', annovar.dir)

# Use BioInstaller to install vcfanno easily in R
# Support linux and mac
install.bioinfo('vcfanno', vcfanno.dir)

Annotation Database

# Use download.database to download databases supported by anor and ANNOVAR
# Some of examples as shown as below
library(anor)
download.database('db_annovar_refgene', database.dir = database.dir, buildver = "hg19")
download.database('db_ucsc_cytoband', database.dir = database.dir, buildver = "hg19")
download.database('db_annovar_avsnp147', database.dir = database.dir, buildver = "hg19")
# Or
download.database(c("db_annovar_refgene", "db_ucsc_cytoband"), 
  database.dir = database.dir, buildver = "hg19")

# All anor supported big annotation database required SQLite format
download.database('db_annovar_avsnp147_sqlite', database.dir = database.dir, buildver = "hg19")

Support Summary

  • ANNOVAR databases
  • 1285 cases B-ALL RNA-seq variants
  • Public RNA-editing databases
  • Other public database

Basic Usage

# View the vignettes in anor package
browseVignettes("anor")

# Get all anor supported annotation name
get.annotation.names()

# Get annotation name needed download.name and 
# you can use download.database to download database using the download.name.
download.name <- get.download.name('avsnp147')

# Show download.name avaliable all versions database
download.database(download.name = download.name, show.all.versions = TRUE)
# Download database in annotation database directory
# Buildver default is hg19
download.database(download.name = download.name, version = "avsnp147", buildver = "hg19", 
  database.dir = database.dir)

# Annotate variants from avsnp147 database use anor
library(data.table)
chr <- c("chr1", "chr2", "chr1")
start <- c("10020", "10020", "10020")
end <- c("10020", "10020", "10020")
ref <- c("A", "A", "A")
alt <- c("-", "-", "-")
dat <- data.table(chr = chr, start = start, end = end, ref = ref, alt = alt)
x <- annotation(dat = dat, anno.name = "avsnp147", database.dir = database.dir)

# Annotate using multiple database
x <- annotation.merge(dat = dat, anno.names = c("cosmic81", "avsnp147"), database.dir = database.dir)

# Database configuration file
database.cfg <- system.file('extdata', 'config/databases.toml', package = "anor")

# Get anno.name needed input cols
get.annotation.needcols('avsnp147')

# Annotate avinput format R data and file using ANNOVAR
chr = "chr1"
start = "123"
end = "123"
ref = "A"
alt = "C"
dat <- data.table(chr, start, end, ref, alt)
tmpfn <- tempfile()
write.table(dat, tmpfn, row.names = FALSE, quote = FALSE, sep = "\t", col.names = FALSE)
x <- annotation(dat, anno.name = "perl_annovar_refGene", annovar.dir = annovar.dir, 
             database.dir = database.dir)
x <- annotation(input.file = tmpfn, anno.name = "perl_annovar_refGene", annovar.dir = annovar.dir, 
             database.dir = database.dir)

# Annotate avinput format R data using anor and ANNOVAR
# It will return a list contatin two data.table object that 
# one is anor annotation system and the another is ANNOVAR output 
x <-annotation.merge(dat = dat, anno.names = c('avsnp147', 'perl_annovar_refGene'), 
  annovar.dir = annovar.dir, database.dir = database.dir)
x <- annotation.merge(dat = dat, anno.names = c('avsnp147', '1000g2015aug_all', 
  'perl_annovar_refGene', 'perl_annovar_ensGene'), annovar.dir = annovar.dir, database.dir = database.dir)
# If use perl_annovar_merge as the anno.name, you can use annovar.anno.names to 
# run all original ANNOVAR supported annotation names, see http://annovar.openbioinformatics.org/en/latest/user-guide/download/
x <- annotation.merge(dat = dat, anno.names = c('avsnp147', '1000g2015aug_all', 
  'perl_annovar_merge'), annovar.anno.names = c('refGene', 'ensGene'), annovar.dir = annovar.dir, database.dir = database.dir)

# Annotate VCF file using ANNOVAR
test.vcf.raw <- system.file("extdata", "demo/example.vcf", package = "anor") 
test.vcf <- tempfile()
file.copy(test.vcf.raw, test.vcf)
x <- annotation(anno.name = "perl_annovar_ensGene", input.file = test.vcf,
             annovar.dir = annovar.dir, database.dir = database.dir, 
             out = tempfile(), vcfinput = TRUE)

# Annotate VCF file use VEP
vep(debug = TRUE)
x <- annotation(anno.name = "vep_all", input.file = test.vcf,
             out = tempfile(), debug = TRUE)

# Annotate VCF file use vcfanno
vcfanno(debug = TRUE)
x <- annotation(anno.name = "vcfanno_demo", input.file = test.vcf,
                   out = tempfile(), vcfanno = sprintf("%s/vcfanno_linux64", vcfanno.dir))

# Annotate VCF file use ANNOVAR and vcfanno
x <- annotation.merge(input.file = test.vcf, anno.names = c("vcfanno_demo", "perl_annovar_ensGene"), 
  annovar.dir = annovar.dir, database.dir = database.dir, vcfanno = sprintf("%s/vcfanno_linux64", vcfanno.dir))

# Annotate gene using BioConductor database
# The example below will use the org.Hs.eg.db to get the alias of TP53 and NSD2
# It is more simple than the previous annotation API
gene <- c("TP53", "NSD2")
x <- annotation(dat = gene, anno.name = "bioc_gene2alias")

# Do same things use AnnotationDbi
library(org.Hs.eg.db)
library(AnnotationDbi)
select(keys = gene, keytype = "SYMBOL", columns = "ALIAS")

There are still plenty of places to go for this tool. More annotation tools and annotation databases are being integrated. We hope this tool can provide some help for your variants annotation work.

Shiny App

In the BoInstaller bioshiny application, we developed several bioshiny plugins, such as ANNOVAR, vcfanno, maftools, gvmap, and so on.

echo 'export BIO_SOFTWARES_DB_ACTIVE="~/.bioshiny/info.yaml" >> ~/.bashrc'
echo 'export BIOSHINY_CONFIG="~/.bioshiny/shiny.config.yaml" >> ~/.bashrc'
. ~/.bashrc

# Start the standalone Shiny application
wget https://raw.githubusercontent.com/openbiox/bioshiny/master/bin/bioshiny_deps_r
wget https://raw.githubusercontent.com/openbiox/bioshiny/master/bin/bioshiny_deps_3rd
wget https://raw.githubusercontent.com/openbiox/bioshiny/master/bin/bioshiny_start
chmod a+x bioshiny_deps_r
chmod a+x bioshiny_deps_3rd
chmod a+x bioshiny_start
./bioshiny_deps_r
./bioshiny_deps_3rd

# Start Shiny application workers
Rscript -e "bioshiny::set_shiny_workers(1)"
./bioshiny_start

# or use yarn
yarn global add bioshiny
bioshiny_deps_r
bioshiny_deps_3rd
Rscript -e "bioshiny::set_shiny_workers(1)"
bioshiny_start

How to contribute?

Please fork the GitHub anor repository, modify it, and submit a pull request to us.

Maintainer

Jianfeng Li

License

R package:

MIT

Related Other Resources:

Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].