Does anyone know a way to extract the loop sequence from the miRNA hairpin. Basically I need to extract the part that is between the 3p- and 5p part of the hairpin.
Unconfigured Ad
Collapse
X
-
Here is another suggestion using R/Bioconductor. Good luck!
Code:require(rtracklayer) require(BSgenome.Hsapiens.UCSC.hg19) require(ShortRead) mirTrack = import('ftp://mirbase.org/pub/mirbase/20/genomes/hsa.gff3') # split into hairpin, 5arm and 3arm hp = mirTrack[mirTrack$type != "miRNA"] arm5 = mirTrack[grepl("-5p", mirTrack$Name)] arm3 = mirTrack[grepl("-3p", mirTrack$Name)] # make key for matching hairpin with arm5 and arm3 hp$arm5 = match(hp$ID, arm5$Derives_from) hp$arm3 = match(hp$ID, arm3$Derives_from) # discard hairpins lacking annotated 5p and 3p arms (loops not defined) hp = hp[!is.na(hp$arm3) & !is.na(hp$arm5)] # prepare hp$loopStart = 0 hp$loopEnd = 0 # miRNAs on pos and neg strand have to be parsed separately ## posStrand isPos = as.vector(strand(hp) =="+") hp$loopStart[isPos] = end(arm5[hp$arm5[isPos]]) hp$loopEnd[isPos] = start(arm3[hp$arm3[isPos]]) ## negStrand hp$loopEnd[!isPos] = start(arm5[hp$arm5[!isPos]]) hp$loopStart[!isPos] = end(arm3[hp$arm3[!isPos]]) # GRanges for miRNA loops loops = GRanges(seqnames = seqnames(hp), IRanges(hp$loopStart, hp$loopEnd),strand = strand(hp), MI = hp$ID, Name = hp$Name) # sanity check hist(width(loops)) # we don't want the first/last nt of bounding mature miRs loops = loops-1 loops$seq = getSeq(Hsapiens, loops) loops # export as fastaFile loopsFasta = loops$seq names(loopsFasta) = paste("loopSeq", loops$MI, loops$Name, sep = "_") writeFasta(loopsFasta, file = "mirbase20loops.fa")
Comment
-
-
Hi! Here is a suggestion using R/Bioconductor. Good luck
Code:require(rtracklayer) require(BSgenome.Hsapiens.UCSC.hg19) require(ShortRead) mirTrack = import('ftp://mirbase.org/pub/mirbase/20/genomes/hsa.gff3') # split into hairpin, 5arm and 3arm hp = mirTrack[mirTrack$type != "miRNA"] arm5 = mirTrack[grepl("-5p", mirTrack$Name)] arm3 = mirTrack[grepl("-3p", mirTrack$Name)] # make key for matching hairpin with arm5 and arm3 hp$arm5 = match(hp$ID, arm5$Derives_from) hp$arm3 = match(hp$ID, arm3$Derives_from) # discard hairpins without annotated 5p and 3p arms hp = hp[!is.na(hp$arm3) & !is.na(hp$arm5)] # prepare hp$loopStart = 0 hp$loopEnd = 0 # miRNAs on pos and neg strand have to be parsed separately ## posStrand isPos = as.vector(strand(hp) =="+") hp$loopStart[isPos] = end(arm5[hp$arm5[isPos]]) hp$loopEnd[isPos] = start(arm3[hp$arm3[isPos]]) ## negStrand hp$loopEnd[!isPos] = start(arm5[hp$arm5[!isPos]]) hp$loopStart[!isPos] = end(arm3[hp$arm3[!isPos]]) # GRanges for miRNA loops loops = GRanges(seqnames = seqnames(hp), IRanges(hp$loopStart, hp$loopEnd),strand = strand(hp), MI = hp$ID, Name = hp$Name) # sanity check hist(width(loops), breaks = 50) # we dont want th efirst/last nt of bounding mature miRs loops = loops-1 loops$seq = getSeq(Hsapiens, loops) # export loops loopsFasta = loops$seq names(loopsFasta) = paste("loop", loops$MI, loops$Name, sep = "_") writeFasta(loopsFasta, file = "mirbase20loops.fa") readLines("mirbase20loops.fa")
Comment
-
Latest Articles
Collapse
-
by SEQadmin2
Data variability is still an issue in sequencing technologies despite the advances in reproducibility and accuracy of these platforms. But the problem does not originate in the sequencing itself, but in the previous steps, before the sample reaches the sequencer.
The first step is collection, followed by preservation and sample preparation for analysis. Most scientists overlook those steps, but not being careful might just be skewing the experiment’s results.
...-
Channel: Articles
06-02-2026, 10:05 AM -
-
by SEQadmin2
With the launch of new single-cell sequencing platforms in 2026, the field stands at an exciting inflection point. This article surveys the most impactful advances in the field and discusses how they’re reshaping research in cancer, immunology, and beyond.
Introduction
Single-cell sequencing technologies have undergone remarkable advances over the past decade, transitioning from low-throughput experimental approaches to highly scalable platforms capable of...-
Channel: Articles
05-22-2026, 06:42 AM -
ad_right_rmr
Collapse
News
Collapse
| Topics | Statistics | Last Post | ||
|---|---|---|---|---|
|
Started by SEQadmin2, 06-05-2026, 10:09 AM
|
0 responses
14 views
0 reactions
|
Last Post
by SEQadmin2
06-05-2026, 10:09 AM
|
||
|
Started by SEQadmin2, 06-04-2026, 08:59 AM
|
0 responses
24 views
0 reactions
|
Last Post
by SEQadmin2
06-04-2026, 08:59 AM
|
||
|
Started by SEQadmin2, 06-02-2026, 12:03 PM
|
0 responses
31 views
0 reactions
|
Last Post
by SEQadmin2
06-02-2026, 12:03 PM
|
||
|
Started by SEQadmin2, 06-02-2026, 11:40 AM
|
0 responses
23 views
0 reactions
|
Last Post
by SEQadmin2
06-02-2026, 11:40 AM
|
Comment