annotate lib/tarean/mgblast2GL.R @ 0:1d1b9e1b2e2f draft

Uploaded
author petr-novak
date Thu, 19 Dec 2019 10:24:45 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
1 #!/usr/bin/env Rscript
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
2 ## get script dir:
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
3 initial.options <- commandArgs(trailingOnly = FALSE)
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
4 file.arg.name <- "--file="
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
5 script.name <- sub(file.arg.name, "", initial.options[grep(file.arg.name, initial.options)])
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
6 script.dir <- normalizePath(dirname(script.name))
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
7 fout <- commandArgs(T)[[2]]
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
8
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
9 source(paste(script.dir, "/methods.R", sep=''))
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
10 suppressPackageStartupMessages (library(igraph))
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
11 fin <- commandArgs(T)[[1]]
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
12
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
13 colcls = rep("NULL", 12)
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
14 colcls[c(1,5,11)] = c("character","character","numeric")
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
15 cat("loading mgblast table\n")
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
16 df = read.table(pipe(paste("cut -f1,5,11 ",fin)), sep="\t",comment.char="", as.is=TRUE, header= FALSE, colClasses = c("character","character","numeric"))
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
17
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
18 cat("creating graph\n")
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
19 GL = list()
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
20 colnames(df) = c("V1", "V2", "weight")
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
21 GL$G = graph.data.frame(df , directed = FALSE)
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
22 print(summary(GL$G))
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
23 cat("calculating ogdf layouts\n")
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
24 try({
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
25 L1 <- OGDFlayout(GL$G, alg=c("fmmm"))
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
26 })
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
27 cat("calculating fruchterman reingold layouts\n")
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
28
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
29 L2 = layout.fruchterman.reingold(GL$G,dim=3)
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
30 if (class(L1) != "try-error"){
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
31 GL$L <- cbind(L1[[1]],L2)
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
32 }else{
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
33 GL$L <- L2
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
34 }
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
35 cat("saving output\n")
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
36 save(GL, file=fout)