Skip to content

Instantly share code, notes, and snippets.

@sirusb
sirusb / Biostring_classes.r
Last active August 29, 2015 14:12
Example of the basic Biostring classes
library(Biostrings)
bs <- BString("This is a normal string") # BString انشاء كائن
ds <- DNAString("GCAAAGT-TT-C") # DNAString انشاء كائن
rs <- RNAString("GCAAAGU-UU-C") # RNAString انشاء كائن
rs2 <- RNAString(ds) # RNAString إلى DNAString تحويل
aas <- AAString(ds) # AAString انشاء كائن
@sirusb
sirusb / Biostrings_access.r
Last active August 29, 2015 14:12
Biostrings basic access
ds <- DNAString("GCAAAGT-TT-C")
length(ds)
# [1] 12
ds[1:3]
# 3-letter "DNAString" instance
#seq: GCA
ds[3:1]
# 3-letter "DNAString" instance
DNAs <- c("ACCT-NACG", "ACGTTCGA","TCACCGAGACTTACGAC")
dnaSet <- DNAStringSet(DNAs)
dnaSet
# A DNAStringSet instance of length 3
# width seq
#[1] 9 ACCT-NACG
#[2] 8 ACGTTCGA
#[3] 17 TCACCGAGACTTACGAC
#يمكن القيام بعمليات على مجموعة من السلاسل مع بعض
@sirusb
sirusb / Biostrings_Views.r
Last active August 29, 2015 14:13
Example of using Biostrings views
library(Biostrings)
library(BSgenome.Hsapiens.UCSC.hg19)
#نأخذ الكروموزوم 1 كمثال
Hsapiens$chr1
# 249250621-letter "DNAString" instance
#seq: NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN...NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
# لنفرض أننا مهتمين بسلسلة الجينات ABCA4, ACADM و GBA
genes <- Views(Hsapiens$chr1,
@sirusb
sirusb / GC_content.r
Last active August 29, 2015 14:13
Example counting GC content
# نقوم بتحميل مواقع جزر السي بي جي لكامل الجينوم
dataURL <-"http://bios221.stanford.edu/data/model-based-cpg-islands-hg19.txt"
cpglocs=read.table(dataURL ,header=T)
# نختار فقظ الكروموزم رقم 8
cpglocs8=cpglocs[which(cpglocs[,1]=="chr8"),2:3]
# الجدول يحتوي على أماكن بداية ونهاية كل جزيرة
head(cpglocs8)
# start end
@sirusb
sirusb / Ranges_Example.r
Last active August 29, 2015 14:15
IRanges example
library(IRanges)
# يمكن انشاء مجموعة مجالات بتحديد نقطة البداية والنهاية
range1 <- IRanges(start=c(10,50,300),end =c(30,90,456))
range1
#IRanges of length 3
# start end width
#[1] 10 30 21
#[2] 50 90 41
#[3] 300 456 157
range1 <- IRanges(start=c(10,50,300),end =c(60,90,456))
range1
#IRanges of length 3
# start end width
#[1] 10 60 51
#[2] 50 90 41
#[3] 300 456 157
reduce(range1)
#IRanges of length 2
@sirusb
sirusb / Re_example.r
Last active August 29, 2015 14:15
Rle example
# ننشئ شعاع يحتوي على أرقام من 1 إلى 10 بطول 40
x<- sort(sample(1:10,40,replace=T))
head(x)
#[1] 1 1 1 1 1 1
# Rle لحفضه
x <- Rle(x)
x
#integer-Rle of length 40 with 10 runs
# Lengths: 6 2 1 3 4 5 6 9 2 2
# Values : 1 2 3 4 5 6 7 8 9 10
@sirusb
sirusb / GRanges_construction.r
Created February 18, 2015 13:20
GRanges construction
# بعدة طرق GRanges يمكن انشاء
# مثلا يمكننا تحديد فقط المجالات الجينومية
gr <- GRanges(seqnames = c("chr1","chr1","chr2","chrX"),
ranges = IRanges(start = c(130,30050,4509,69098),
width= c(250,1300,400,590)),
strand = c("+","+","-","*"))
gr
#GRanges object with 4 ranges and 0 metadata columns:
# seqnames ranges strand
# <Rle> <IRanges> <Rle>
gr[1:2]
#GRanges object with 2 ranges and 1 metadata column:
# seqnames ranges strand | score
# <Rle> <IRanges> <Rle> | <numeric>
# [1] chr1 [ 130, 379] + | 0.0297835641540587
# [2] chr1 [30050, 31349] + | 0.42395940516144
# -------
# seqinfo: 3 sequences from an unspecified genome; no seqlengths
start(gr)