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.
Seqanswers Leaderboard Ad
Collapse
Announcement
Collapse
No announcement yet.
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 seqadmin
The complexity of cancer is clearly demonstrated in the diverse ecosystem of the tumor microenvironment (TME). The TME is made up of numerous cell types and its development begins with the changes that happen during oncogenesis. “Genomic mutations, copy number changes, epigenetic alterations, and alternative gene expression occur to varying degrees within the affected tumor cells,” explained Andrea O’Hara, Ph.D., Strategic Technical Specialist at Azenta. “As...-
Channel: Articles
07-08-2024, 03:19 PM -
ad_right_rmr
Collapse
News
Collapse
Topics | Statistics | Last Post | ||
---|---|---|---|---|
Started by seqadmin, Yesterday, 06:46 AM
|
0 responses
9 views
0 likes
|
Last Post
by seqadmin
Yesterday, 06:46 AM
|
||
Started by seqadmin, 07-24-2024, 11:09 AM
|
0 responses
26 views
0 likes
|
Last Post
by seqadmin
07-24-2024, 11:09 AM
|
||
Started by seqadmin, 07-19-2024, 07:20 AM
|
0 responses
159 views
0 likes
|
Last Post
by seqadmin
07-19-2024, 07:20 AM
|
||
Started by seqadmin, 07-16-2024, 05:49 AM
|
0 responses
127 views
0 likes
|
Last Post
by seqadmin
07-16-2024, 05:49 AM
|
Comment