Язык R# — это разновидность языка, который нравится R и который реализован в среде .NET для анализа биоинформатических данных.
[ВНИМАНИЕ] Этот проект находится в стадии разработки и не рекомендуется для промышленного использования.
Также требуется последняя версия среды выполнения sciBASIC.NET Framework.
Синтаксис языка R#
является оригинальным, заимствованным из языка R
, но с более модернизированными стилями программирования. Язык R#
его интерпретатор и компилятор .NET изначально написаны на языке VisualBasic со встроенной поддержкой среды выполнения .NET.
Язык R#
не предназначен для общего анализа данных, а специально разработан для моих работ в компании, реализует систему анализа биоинформатических данных на базе платформы GCModeller, для построения стека биоинформатических данных с помощью R и языка VisualBasic. .
R#
Основная среда выполнения и механизм сценариев языка R#.Library
Основная библиотека в системе сценариев R#.Rscript
Хост сценариев R#.R-terminal
Программа оболочки R#Rsharp_kit
Набор инструментов R-sharpnjl
Язык 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#
Пакету ggplot2 языка AR понравилась грамматика графической библиотеки для программирования на языке R#.
Язык R#
— это еще один язык научных вычислений, разработанный для среды выполнения .NET. R#
произошел от языка R. Существует известная графическая библиотека под названием ggplot2
на языке R, поэтому она остается неизменной: существует графическая библиотека под названием ggplot
, разработанная для языка R#
.
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#, она также включает в себя скрипты на языке Python и механизм сценариев на языке Julia, которые работают в среде выполнения R#
.
Ссылка на скрипт Python или скрипт Julia на языке R#
точно так же, как и при импорте другого скрипта R#
:
# 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 " ;
А также вы можете импортировать скрипт R в скрипты Python или Julia:
# 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"
Импорт скриптов Python и R#
в скрипты Julia также выполняется легко:
# 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#: