怎么把表达值与ENSEMBL匹配用r语言

Python015

怎么把表达值与ENSEMBL匹配用r语言,第1张

R语言中文本处理的重要一环,而R里面最强大的文本处理公式就是grep()一类的general函数(无需添加任何新的package)。

下面以人类基因为例:

library('biomaRt')

mart <- useDataset("hsapiens_gene_ensembl", useMart("ensembl"))

genes <- rownames(pbmc.markers)

G_list <- getBM(filters= "ensembl_gene_id", attributes= c("ensembl_gene_id","hgnc_symbol"),values=genes,mart= mart)

其中genes为一个向量,打印出来,如: "ENSG00000197579" "ENSG00000123096" "ENSG00000143815" "ENSG00000118257"

第一个:

#include<stdio.h>

void main()

{

while(1)

{

void f(int *p,int n)

int i,n,a[1000]

printf("输入人数n(n小于1000):")

scanf("%d",&n)

for(i=1i<=ni++)

a[i]=i

f(a,n)

printf("最后留下的是第%d号.\n",a[1])

}

}

void f(int * p,int n)

{

int i,j,r=3,t

for(n!=1)

{

if(n<r)

{* (p+1)=* (p+2)break}

else

{

for(i=0i<=n/3i++)

{

for(j=1j<3j++)

* (p+2*i+r+j-1)=* (p+3*i+r+j)

}

t=n

n=n-(n-r)/3-1

r=3-(t-r)%3

}

}

}

第二个:(这个是刚学程序设计常做的求两个数的最大公约数和最小公倍数

#include<stdio.h>

#define P printf

void main()

{

while(1)

{

int g_yue(int x,int y)

int g_bei(int x,int y)

int a,b

P("输入两个正整数:")

scanf("%d%d",&a,&b)

P("(a,b)=%d\n[a,b]=%d.\n",g_yue(a,b),g_bei(a,b))

}

}

int g_yue(int x,int y)

{

int r

while(x%y!=0)

{r=x%yx=yy=r}

return(y)

}

int g_bei(int x,int y)

{

int g_yue(int a,int b)

int r

r=x*y/g_yue(x,y)

return(r)

}

前两个是C,下面的是C++:

#include<iostream>

#include<string>

using namespace std

class Date

{

int day,mon,year

public:

Date(){day=0mon=0year=0}

Date(int k,int j,int i)

{day=imon=jyear=k}

int Gety(){return year}

int Getm(){return mon}

int Getd(){return day}

}

class Teacher

{

char*name

Date born

float wage

public:

Teacher(char*na=NULL,int x=1,int y=0,int z=0,int wa=0):born(x,y,z)

{

if(na==NULL)name=NULL

else

{

name=new char[strlen(na)+1]

strcpy(name,na)

}

wage=wa

}

void Destroy()

{

if(name){delete[]namename=NULL}

}

char*Getname(){return name}

int Getbd(){return born.Getd()}

int Getbm(){return born.Getm()}

int Getby(){return born.Gety()}

float Getwage(){return wage}

}

void main()

{

while(1)

{

double tot[3],tots=0

Teacher t[3]

int x[3],y[3],z[3]

char nam[3][30]

float wag[3]

for(int i=0i<3i++)

{

cin>>nam[i]>>x[i]>>y[i]>>z[i]>>wag[i]

t[i]=Teacher(nam[i],x[i],y[i],z[i],wag[i])

tots=tots+wag[i]

}

cout<<"姓名\t\t"<<"出生年,月,日\t"<<"月工资"<<endl

for(i=0i<3i++)

{

cout<<t[i].Getname()<<'\t'<<t[i].Getby()<<','<<t[i].Getbm()

<<','<<t[i].Getbd()<<'\t'<<t[i].Getwage()<<endl

t[i].Destroy()

}

cout<<"月工资总计为:"<<tots<<endl

}

}