annotate lib/tarean/mgblast2GL.R @ 10:6212933b1a83 draft

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