micans / mcl

MCL, the Markov Cluster algorithm, also known as Markov Clustering, is a method and program for clustering weighted or simple networks, a.k.a. graphs.
https://micans.org/mcl
Other
89 stars 12 forks source link

mcxload won't work with sif format #19

Open diegorubert opened 1 year ago

diegorubert commented 1 year ago

mcxload won't work with sif files. This used to work just fine in older mcl versions. In the newer ones, a simple file like this:

A -> B:0.4
A -> C:0.5

will result in this error:

___ [mcxload] symmetric mode not compatible with multi-column input formats

when running this command:

mcxload -sif file.sif --expect-values --stream-mirror -write-tab file.tab -o file.mci

It works with abc format, though.

It seems commit 6fd2b6b introduced that behavior, but the changelog says:

*  Fixed bug in mcxload -etc / -235 and others. It is no longer possible
   to combine these with --stream-mirror. Use -ri instead.

As it doesn't say anything about the sif format, thus I cannot tell whether this behavior with sif files is intentional or not. If I use -ri max it says:

___ [mcxload] two domain mode precludes all symmetric tab options

and I cannot guess how to say mcxload that there is a single domain. The example command in the man page of mcxload says this command should be possible:

mcxload --stream-mirror -sif data3.txt -o data3.mci -write-tab data3.tab

But that, again, results in the first error reported here.

micans commented 12 months ago

This is a regression, apologies. I need some time to fix this (mcxload supports a big parameter space and cries for a test suite). Removing the check that results in "symmetric mode not compatible with multi-column input formats" seems to work, but the code needs a thorough going over. For the short term I can only suggest to use mcxload from 14-137, it should be fully compatible in terms of formats read and produced.