This is a test version of Biostars. For the public version, visit https://www.biostars.org.
miRNAS and Target genes

Dear All

I have xlsx file have miRNAs list and Target genes.

hsa-miR-29a-3p                     BCL7A; TNFAIP3; DICER1; CDK6; CDC42; BACE1; PXDN; PPP1R13B; DNMT3A; DNMT3B; COL4A1; COL4A2; MCL1; BCL2; CD276; DKK1; NAV3; SFRP2; ITIH5; S100B; IMPDH1; GLUL; PPM1D; PIK3R1; KREMEN2; FGG; FGA; FGB; LPL; CPEB3; CPEB4; ADAMTS9; ITGA11; NASP; NASP; PTEN; PTEN; ABL1; HBP1 
hsa-miR-527, hsa-miR-518a-5p       MCL1
hsa-miR-498                        TERT; KRTAP5-9; RBFOX2

Some miRNAs have more than one target genes and these target genes are separated by semicolon.If I use Cytoscape then those miRNAs which have more than one target genes they will be displaced by just one node and all those genes can not be seen separately they will be merged but if I will have miRNAs in this shape for example for last miRNAs

hsa-miR-498
hsa-let-7b-5p      TERT
hsa-let-7b-5p      KRTAP5-9
hsa-let-7b-5p      RBFOX2

Is there any easy way in R?

I would really appreciate your help

gene next-gen r

I don't think you should post the same question twice. I already gave you some example perl and R code here: Target Network in Cytoscape (R code seems to have been removed) to convert your input to cytoscape sif format. If that was not the answer you wanted, you should amend the question not post it a second time.

Sorry I re posted this question because I thought may be people would have look on it because I posted my question yesterday night..Thanks for your help

3 answers

While you can use R for this, it's easy enough to do from the command line:

sed 's/; /\t/g' foo.txt | awk '{for(i=2;i<NF;i+=1) print $1"\t"$i}' > foo.new.txt

Here is an R code example. There are probably better methods around (look at the tidyr and reshape2 packages for instance)

library(stringr)
library(foreach)
library(iterators)

test <- rbind(data.frame(miRNA="hsa-let-7a", genes="A;B;C;D"), data.frame(miRNA="hsa-mir-32", genes="D;E")
foreach(row=iter(test, "row"), .combine=rbind) %do% {
  genes <- str_split(row$genes, ";")
  foreach(gene=genes, .combine=rbind) %do% {
    return(data.frame(miRNA=row$miRNA, gene=gene))
  }
}

While not 100% directly related to your question, it may be nonetheless useful to you and others based on the topic title.

We have a free-to-use application called iPathwayGuide that will take gene-expression data and provide a list of potentially active miRNAs based on the gene-expression signature. We also display the target genes for each miRNA that have at least one DE target gene. See screen shot below.

In the "Genes" tab, you can see the miRNA's that target a specific gene.

We are working on developing a more generic "browser" that would allow you to see all the various inter-relationships between various entities such as genes, miRNAs, Ontologies, pathways, drugs, variants, and diseases from any perspective. Should be out sometime in Q2 of this year.

iPathwayGuide "Genes" tab screenshot

iPathwayGuide "Predicted miRNAs" tab screenshot

Hey Andrew that was really very informative thanks for sharing this..

Log in to answer this question.