Die R#-Sprache ist eine Art von R-ähnlicher Sprachimplementierung in einer .NET-Umgebung für die Bioinformatik-Datenanalyse
[WARNUNG] Dieses Projekt ist noch in Arbeit und wird nicht für den Produktionseinsatz empfohlen.
Die neueste sciBASIC.NET Framework-Laufzeitumgebung ist ebenfalls erforderlich
Die Syntax der R#
-Sprache ist ursprünglich von der R
-Sprache abgeleitet, jedoch mit moderneren Programmierstilen. Die R#
-Sprache, der Interpreter und der .NET-Compiler sind ursprünglich in der VisualBasic-Sprache geschrieben und bieten native Unterstützung für die .NET-Laufzeitumgebung.
Die R#
-Sprache ist nicht für allgemeine Datenanalysezwecke konzipiert, sondern speziell für meine Arbeit im Unternehmen konzipiert. Sie implementiert das Bioinformatik-Datenanalysesystem basierend auf der GCModeller-Plattform zum Aufbau des Bioinformatik-Data-Science-Stacks mit R und VisualBasic .
R#
Die Kernlaufzeit- und Skript-Engine der R#-SpracheLibrary
Die Basisbibliothek im R#-SkriptsystemRscript
Der R#-SkripthostR-terminal
Das R#-Shell-ProgrammRsharp_kit
Das R-Sharp-Toolkitnjl
Die Julia-Sprache mochte die Skript-Enginenpy
Die Python-Sprache beliebte Skript-EngineRData
Der R-Sprachdaten-Reader für *.rda/*.rds
Dateien # 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!"
Wird in der VisualBasic.NET-Programmierung verwendet:
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#
Das AR-Sprachpaket ggplot2 mochte die Grammatik der Grafikbibliothek für die R#-Sprachprogrammierung.
Die R#
-Sprache ist eine weitere wissenschaftliche Computersprache, die für die .NET-Laufzeit entwickelt wurde. R#
ist eine Weiterentwicklung der R-Sprache. Es gibt eine berühmte Grafikbibliothek namens ggplot2
in der R-Sprache, also bleibt es gleich: Es gibt eine Grafikbibliothek namens ggplot
die für R#
-Sprache entwickelt wurde.
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 )
)
;
Das R#
-System unterstützt nicht nur die R#-Sprache, sondern umfasst auch eine Skripting-Engine in der Python-Sprache und eine Skripting-Engine in der Julia-Sprache, die auf der R#
-Laufzeit ausgeführt wird.
Referenz des Python-Skripts oder Julia-Skripts in R#
-Sprache, genau wie beim Importieren anderer R#
-Skripte:
# 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 " ;
Außerdem können Sie R-Skripte in Python- oder Julia-Skripte importieren:
# 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"
Das Importieren von Python- und R#
-Skripten in Julia-Skripten ist ebenfalls einfach:
# 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#
-PaketressourcePakete, die für die R#-Programmierumgebung entwickelt wurden: