El lenguaje R# es un tipo de lenguaje similar a R que se implementa en el entorno .NET para el análisis de datos bioinformáticos.
[ADVERTENCIA] Este proyecto es un trabajo en progreso y no se recomienda para uso en producción.
También se requiere el último tiempo de ejecución de sciBASIC.NET Framework
El lenguaje R#
su sintaxis es original derivada del lenguaje R
, pero con estilos de programación más modernizados. El lenguaje R#
, su intérprete y compilador .NET, está escrito originalmente en lenguaje VisualBasic, con soporte nativo para el tiempo de ejecución .NET.
El lenguaje R#
no está diseñado para el propósito general de análisis de datos, pero está diseñado específicamente para mis trabajos en la empresa, implementa el sistema de análisis de datos bioinformáticos basado en la plataforma GCModeller, para construir la pila de ciencia de datos bioinformáticos con lenguaje R y VisualBasic. .
R#
El motor de secuencias de comandos y tiempo de ejecución principal del lenguaje R#Library
La biblioteca fundamental en el sistema de secuencias de comandos R#Rscript
El host de secuencias de comandos R#R-terminal
El programa shell de R#Rsharp_kit
El kit de herramientas de R-sharpnjl
Al lenguaje Julia le gustaba el motor de secuencias de comandosnpy
Al lenguaje Python le gustaba el motor de secuencias de comandosRData
El lector de archivos de datos en lenguaje 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!"
Utilizado en la programación 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#
Al paquete ggplot2 del lenguaje AR le gustó la gramática de la biblioteca de gráficos para la programación en lenguaje R#.
El lenguaje R#
es otro lenguaje informático científico diseñado para el tiempo de ejecución .NET, R#
es una evolución del lenguaje R. Hay una biblioteca de gráficos famosa llamada ggplot2
en lenguaje R, así que sigue igual, hay una biblioteca de gráficos llamada ggplot
que fue desarrollada para lenguaje 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 )
)
;
El sistema R#
no solo es compatible con el lenguaje R#, sino que también incluye un motor de secuencias de comandos en lenguaje Python y un motor de secuencias de comandos en lenguaje Julia que se ejecuta en el tiempo de ejecución R#
.
Referencia de la secuencia de comandos de Python o la secuencia de comandos de Julia en el lenguaje R#
al igual que las importaciones de otras secuencias de comandos 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 " ;
Y también puedes importar scripts R en scripts de Python o 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"
Importar scripts de Python y R#
en Julia scripting también es sencillo:
# 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#
relacionadoPaquetes desarrollados para el entorno de programación R#: