Mercurial > repos > davidvanzessen > report_clonality_igg
comparison RScript.r @ 25:ea5c2a2cc1f3 draft
Uploaded
| author | davidvanzessen |
|---|---|
| date | Mon, 09 Feb 2015 05:02:33 -0500 |
| parents | 5454af6fece1 |
| children | 01f05258f672 |
comparison
equal
deleted
inserted
replaced
| 24:5454af6fece1 | 25:ea5c2a2cc1f3 |
|---|---|
| 62 PRODF = inputdata[inputdata$VDJ.Frame != "In-frame with stop codon" & inputdata$VDJ.Frame != "Out-of-frame" & inputdata$CDR3.Found.How != "NOT_FOUND" , ] | 62 PRODF = inputdata[inputdata$VDJ.Frame != "In-frame with stop codon" & inputdata$VDJ.Frame != "Out-of-frame" & inputdata$CDR3.Found.How != "NOT_FOUND" , ] |
| 63 UNPROD = inputdata[!(inputdata$VDJ.Frame != "In-frame with stop codon" & inputdata$VDJ.Frame != "Out-of-frame" & inputdata$CDR3.Found.How != "NOT_FOUND" ), ] | 63 UNPROD = inputdata[!(inputdata$VDJ.Frame != "In-frame with stop codon" & inputdata$VDJ.Frame != "Out-of-frame" & inputdata$CDR3.Found.How != "NOT_FOUND" ), ] |
| 64 } | 64 } |
| 65 } | 65 } |
| 66 | 66 |
| 67 clonalityFrame = PRODF | |
| 68 | |
| 67 #remove duplicates based on the clonaltype | 69 #remove duplicates based on the clonaltype |
| 68 if(clonaltype != "none"){ | 70 if(clonaltype != "none"){ |
| 69 clonaltype = paste(clonaltype, ",Sample", sep="") #add sample column to clonaltype, unique within samples | 71 clonaltype = paste(clonaltype, ",Sample", sep="") #add sample column to clonaltype, unique within samples |
| 70 PRODF$clonaltype = do.call(paste, c(PRODF[unlist(strsplit(clonaltype, ","))], sep = ":")) | 72 PRODF$clonaltype = do.call(paste, c(PRODF[unlist(strsplit(clonaltype, ","))], sep = ":")) |
| 71 PRODF = PRODF[!duplicated(PRODF$clonaltype), ] | 73 PRODF = PRODF[!duplicated(PRODF$clonaltype), ] |
| 74 | |
| 75 #again for clonalityFrame but with sample+replicate | |
| 76 clonalityFrame$clonaltype = do.call(paste, c(clonalityFrame[unlist(strsplit(clonaltype, ","))], sep = ":")) | |
| 77 clonalityFrame$clonality_clonaltype = do.call(paste, c(clonalityFrame[unlist(strsplit(paste(clonaltype, ",Replicate", sep=""), ","))], sep = ":")) | |
| 78 clonalityFrame = clonalityFrame[!duplicated(clonalityFrame$clonality_clonaltype), ] | |
| 72 } | 79 } |
| 73 | 80 |
| 74 PRODF$freq = 1 | 81 PRODF$freq = 1 |
| 75 | 82 |
| 76 if(any(grepl(pattern="_", x=PRODF$ID))){ #the frequency can be stored in the ID with the pattern ".*_freq_.*" | 83 if(any(grepl(pattern="_", x=PRODF$ID))){ #the frequency can be stored in the ID with the pattern ".*_freq_.*" |
| 441 | 448 |
| 442 # ---------------------- calculating the clonality score ---------------------- | 449 # ---------------------- calculating the clonality score ---------------------- |
| 443 | 450 |
| 444 if("Replicate" %in% colnames(inputdata)) #can only calculate clonality score when replicate information is available | 451 if("Replicate" %in% colnames(inputdata)) #can only calculate clonality score when replicate information is available |
| 445 { | 452 { |
| 446 clonalityFrame = inputdata | |
| 447 if(clonaltype != "none"){ | |
| 448 clonalityFrame$clonaltype = do.call(paste, c(clonalityFrame[unlist(strsplit(clonaltype, ","))], sep = ":")) | |
| 449 clonalityFrame$ReplicateConcat = paste(clonalityFrame$clonaltype, clonalityFrame$Sample, clonalityFrame$Replicate, sep = ":") | |
| 450 clonalityFrame = clonalityFrame[!duplicated(clonalityFrame$ReplicateConcat), ] | |
| 451 } | |
| 452 write.table(clonalityFrame, "clonalityComplete.csv", sep=",",quote=F,row.names=F,col.names=T) | 453 write.table(clonalityFrame, "clonalityComplete.csv", sep=",",quote=F,row.names=F,col.names=T) |
| 453 | 454 |
| 454 ClonalitySampleReplicatePrint <- function(dat){ | 455 ClonalitySampleReplicatePrint <- function(dat){ |
| 455 write.table(dat, paste("clonality_", unique(inputdata$Sample) , "_", unique(dat$Replicate), ".csv", sep=""), sep=",",quote=F,row.names=F,col.names=T) | 456 write.table(dat, paste("clonality_", unique(inputdata$Sample) , "_", unique(dat$Replicate), ".csv", sep=""), sep=",",quote=F,row.names=F,col.names=T) |
| 456 } | 457 } |
| 476 CT = read.table(tcct, sep="\t", header=TRUE) | 477 CT = read.table(tcct, sep="\t", header=TRUE) |
| 477 close(tcct) | 478 close(tcct) |
| 478 clonalFreqCount = merge(clonalFreqCount, CT, by.x="Type", by.y="Type", all.x=T) | 479 clonalFreqCount = merge(clonalFreqCount, CT, by.x="Type", by.y="Type", all.x=T) |
| 479 clonalFreqCount$WeightedCount = clonalFreqCount$Count * clonalFreqCount$Weight | 480 clonalFreqCount$WeightedCount = clonalFreqCount$Count * clonalFreqCount$Weight |
| 480 | 481 |
| 481 ReplicateReads = data.frame(data.table(clonalityFrame)[, list(Type=.N), by=c("Sample", "Replicate", "clonaltype")]) | 482 ReplicateReads = data.frame(data.table(clonalityFrame)[, list(Type=.N), by=c("Sample", "Replicate", "clonality_clonaltype")]) |
| 482 ReplicateReads = data.frame(data.table(ReplicateReads)[, list(Reads=.N), by=c("Sample", "Replicate")]) | 483 ReplicateReads = data.frame(data.table(ReplicateReads)[, list(Reads=.N), by=c("Sample", "Replicate")]) |
| 483 clonalFreqCount$Reads = as.numeric(clonalFreqCount$Reads) | 484 clonalFreqCount$Reads = as.numeric(clonalFreqCount$Reads) |
| 484 ReplicateReads$squared = ReplicateReads$Reads * ReplicateReads$Reads | 485 ReplicateReads$squared = ReplicateReads$Reads * ReplicateReads$Reads |
| 485 | 486 |
| 486 ReplicatePrint <- function(dat){ | 487 ReplicatePrint <- function(dat){ |
