igraph-help
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [igraph] Igraph and SONIA


From: Gábor Csárdi
Subject: Re: [igraph] Igraph and SONIA
Date: Wed, 20 Oct 2010 17:40:03 +0200

Lorenzo, Simone,

here is a function that seems to work on two of the three examples at
the sonia website:

sonia2igraph <- function(filename, directed=TRUE) {
  lines <- readLines(filename)
  lines <- grep("^//", lines, value=TRUE, invert=TRUE)
  fromid <- grep("^FromId", lines)[1]
  nodes <- lines[1:(fromid-1)]
  edges <- lines[fromid:length(lines)]

  nodes <- strsplit(split="\t", nodes)
  nodesnames <- nodes[[1]]
  nodes <- data.frame(do.call(rbind, nodes[-1]))
  colnames(nodes) <- nodesnames
  colnames(nodes)[1] <- "name"

  edges <- strsplit(split="\t", edges)
  edgesnames <- edges[[1]]
  edges <- data.frame(do.call(rbind, edges[-1]))
  colnames(edges) <- edgesnames

  graph.data.frame(edges, directed=directed, vertices=nodes)
}

All attributes are added as strings, modify the function if you want
to convert them to numeric and/or use the igraph attribute names:
'color', etc. Clusters are not supported.

The third example file does not work, because it contains multiple
lines for the same vertex, and I don't know what this means. They do
not say anything about this on the website, unfortunately.

I have added a bug report for putting (and extended version of) this
into igraph:
https://bugs.launchpad.net/igraph/+bug/663959

Best,
Gabor

On Wed, Oct 20, 2010 at 5:04 PM, Simone Gabbriellini
<address@hidden> wrote:
> Gabor,
>
> http://sourceforge.net/apps/mediawiki/sonia/index.php?title=Son_format
>
> I am interested too, so I've joined the thread
>
> best,
> simone
>
> Il giorno 20/ott/2010, alle ore 16.58, Gábor Csárdi ha scritto:
>
>> Lorenzo,
>>
>> could you please point me to the SONIA file format? Time information
>> can be added as vertex/edge attributes, so that is not a problem I
>> guess.
>>
>> Best,
>> Gabor
>>
>> On Wed, Oct 20, 2010 at 4:44 PM, Lorenzo Isella
>> <address@hidden> wrote:
>>> Dear All,
>>> I am not experienced at all about the various formats for storing networks,
>>> but someone told me that the SONIA format is quite common for
>>> visualizing/representing dynamical networks.
>>> I found several online resources telling how to save an igraph graph in the
>>> SONIA format, e.g.
>>>
>>> http://bit.ly/fTqhQ and
>>> http://cran.r-project.org/web/packages/igraphtosonia/
>>>
>>> but can I also go the other way around (reading a graph stored in the SONIA
>>> format as an igraph graph)? Or am I asking a question which does not make
>>> sense as igraph would (perhaps) have troubles in dealing with nodes/edges
>>> specified as having a finite lifetime?
>>> Many thanks
>>>
>>> Lorenzo
>>>
>>> _______________________________________________
>>> igraph-help mailing list
>>> address@hidden
>>> http://lists.nongnu.org/mailman/listinfo/igraph-help
>>>
>>
>>
>>
>> --
>> Gabor Csardi <address@hidden>     UNIL DGM
>>
>> _______________________________________________
>> igraph-help mailing list
>> address@hidden
>> http://lists.nongnu.org/mailman/listinfo/igraph-help
>
>
> _______________________________________________
> igraph-help mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/igraph-help
>



-- 
Gabor Csardi <address@hidden>     UNIL DGM



reply via email to

[Prev in Thread] Current Thread [Next in Thread]