R# 언어는 생물정보학 데이터 분석을 위해 .NET 환경에서 구현하는 일종의 R 선호 언어입니다.
[경고] 이 프로젝트는 진행 중인 작업이므로 프로덕션 용도로는 권장되지 않습니다.
최신 sciBASIC.NET Framework 런타임도 필요합니다.
R#
언어의 구문은 원래 R
언어에서 파생되었지만 더욱 현대화된 프로그래밍 스타일을 사용합니다. R#
언어의 인터프리터와 .NET 컴파일러는 원래 VisualBasic 언어로 작성되었으며 .NET 런타임을 기본적으로 지원합니다.
R#
언어는 일반적인 데이터 분석 목적으로 설계된 것이 아니라 회사 내 업무에 맞게 특별히 설계된 언어이며, R 및 VisualBasic 언어로 생물정보학 데이터 과학 스택을 구축하기 위해 GCModeller 플랫폼을 기반으로 생물정보학 데이터 분석 시스템을 구현합니다. .
R#
R# 언어 핵심 런타임 및 스크립팅 엔진Library
R# 스크립팅 시스템의 자금 라이브러리Rscript
R# 스크립팅 호스트R-terminal
R# 쉘 프로그램Rsharp_kit
R-sharp 툴킷njl
Julia 언어가 좋아하는 스크립팅 엔진npy
Python 언어가 좋아하는 스크립팅 엔진RData
R 언어 데이터 *.rda/*.rds
파일 판독기 # declare a variable
let word as string = [ ' world ' , ' R# user ' , ' GCModeller user ' ];
# declare a function
let echo as function ( words ) {
print( `Hello ${ words }!` );
}
# or declare a lambda function
let echo.lambda = words - > print( `Hello ${ words }!` );
# and then invoke function via pipeline operator
word : > echo ;
# [3] "Hello world!" "Hello R# user!" "Hello GCModeller user!"
word : > echo.lambda ;
# [3] "Hello world!" "Hello R# user!" "Hello GCModeller user!"
VisualBasic.NET 프로그래밍에 사용됩니다.
Dim R As New RInterpreter()
' Run script by invoke method
Call R.Evaluate( "
# test script
let word as string = [ 'world', 'R# user', 'GCModeller user'];
let echo as function (words) {
print( ` Hello $ { words }! ` ) ;
}
word :> echo ;
" )
' or assign variable
Call R.Add( "word" , { "world" , "R# user" , "GCModeller user" })
' then declare R function throught script
Call R.Add( "echo" ,
Function (words As String ()) As String ()
Return Internal.print(words)
End Function )
' at last, invoke R function throught Invoke method
Call R.Invoke( "echo" , R!word)
# read scatter point data from a given table file
# and then assign to tuple variables
[ x , y , cluster ] = read.csv( " ./scatter.csv " , row.names = NULL );
# umap scatter with class colors
bitmap( file = " ./scatter.png " ) {
plot( x , y ,
padding = " padding:200px 400px 200px 250px; " ,
class = cluster ,
title = " UMAP 2D Scatter " ,
x.lab = " dimension 1 " ,
y.lab = " dimension 2 " ,
legend.block = 13 ,
colorSet = " paper " ,
grid.fill = " transparent " ,
size = [ 2600 , 1600 ]
);
};
R#
에 대한 ggplotAR 언어 ggplot2 패키지는 R# 언어 프로그래밍을 위한 그래픽 라이브러리의 문법을 좋아했습니다.
R#
언어는 .NET 런타임용으로 설계된 또 다른 과학 컴퓨팅 언어이며, R#
은 R 언어에서 발전되었습니다. R 언어에는 ggplot2
라는 유명한 그래픽 라이브러리가 있으므로 그대로 유지하면서 R#
언어용으로 개발된 ggplot
이라는 그래픽 라이브러리가 있습니다.
ggplot( myeloma , aes( x = " molecular_group " , y = " DEPDC1 " ))
+ geom_boxplot( width = 0.65 )
+ geom_jitter( width = 0.3 )
# Add horizontal line at base mean
+ geom_hline( yintercept = mean( myeloma $ DEPDC1 ), linetype = " dash " , line.width = 6 , color = " red " )
+ ggtitle( " DEPDC1 ~ molecular_group " )
+ ylab( " DEPDC1 " )
+ xlab( " " )
+ scale_y_continuous( labels = " F0 " )
# Add global annova p-value
+ stat_compare_means( method = " anova " , label.y = 1600 )
# Pairwise comparison against all
+ stat_compare_means( label = " p.signif " , method = " t.test " , ref.group = " .all. " , hide.ns = TRUE )
+ theme(
axis.text.x = element_text( angle = 45 ),
plot.title = element_text( family = " Cambria Math " , size = 16 )
)
;
R#
시스템은 R# 언어를 지원할 뿐만 아니라 R#
런타임에서 실행되는 Python 언어 스크립팅 및 Julia 언어 스크립팅 엔진도 포함합니다.
다른 R#
스크립트를 가져오는 것과 마찬가지로 R#
언어로 Python 스크립트 또는 Julia 스크립트 참조:
# imports an external R# script
imports " ./script.R " ;
# imports an external python script in R#
imports " ./script.py " ;
# imports an external julia script in R#
imports " ./script.jl " ;
또한 Python 또는 Julia 스크립트로 R 스크립트를 가져올 수도 있습니다.
# example of import R#/julia script in python
# imports an external R# script in python
import "./script.R"
# imports an external julia script in python
import "./script.jl"
Julia 스크립팅에서 Python 및 R#
스크립트를 가져오는 것도 쉽습니다.
# example of imports R#/python script in julia
# imports an external R# script in julia
include ( " ./script.R " )
# imports an external python script in julia
include ( " ./script.py " )
require ( "GCModeller" ) ;
// load the fastq module from rna-seq package
// inside the GCModeller
import { FastQ } from "rnaseq" ;
// do short reads assembling via SCS algorithm
var assem = FastQ . assemble ( [
"AACAAATGAGACGCTGTGCAATTGCTGA" ,
"AACAAATGAGACGCTGTGCAATTGCAAA" ,
"CAAATGAGACGCTGTGCAATTGCTGAGT" ,
"GCAAATGATACGCTGTGCAATTGCTAGA" ,
"ATGAGACGCTGTGCAATTGCTGAGTACC" ,
"CTGTGCAATTGCTGAGAACAAATGAGAC" ,
"CTGTGCAATTGCTAGAAACAAATGAGAC"
] )
// view the short reads assemble result
console . table ( assem )
// Loading required package: GCModeller
// Loading required package: igraph
// Attaching package: 'igraph'
//
// The following object is masked from 'package:igraph':
//
// eval, class
//
//
//
// GCModeller: genomics CAD(Computer Assistant Design) Modeller System
// author by: [email protected]
//
// (c) 2023 | SMRUCC genomics - GuiLin, China
//
// AssembleResult
// --------------------------------------------------------------------------------------------------------------
// <mode> <string>
// [1, ] "CTGTGCAATTGCTGAGAACAAATGAGACGCTGTGCAATTGCAAATGATACGCTGTGCAATTGCTAGAAACAAATGAGACGCTGTGCAATTGCTGAGTACC"
// [2, ] "...................................................................AACAAATGAGACGCTGTGCAATTGCTGA....."
// [3, ] "................AACAAATGAGACGCTGTGCAATTGCAAA........................................................"
// [4, ] ".....................................................................CAAATGAGACGCTGTGCAATTGCTGAGT..."
// [5, ] ".......................................GCAAATGATACGCTGTGCAATTGCTAGA................................."
// [6, ] "........................................................................ATGAGACGCTGTGCAATTGCTGAGTACC"
// [7, ] "CTGTGCAATTGCTGAGAACAAATGAGAC........................................................................"
// [8, ] "...................................................CTGTGCAATTGCTAGAAACAAATGAGAC....................."
R#
패키지 리소스R# 프로그래밍 환경용으로 개발된 패키지: