As I've recently said there is no perfect tool (and this is only my private opinion) which can do all class reverse engineering for me. But as I tried o dozen of them there is one which works not bad. Omondo can reverse from Java 1.5 and as is stated on features site can do much more. Anyway I found it useful. Don't get me wrong, I really like idea of using EMP and MoDisco but I don't have time right now.
What is funny not only people here at Frankfurt Uni are interested in knowing BEAST architecture (or rather design) (just look at this thread) so maybe this is worth to publish my findings after all.
A bit of this... a bit of that. About and around programmer's daily problems, solutions, and struggles.
Showing posts with label bioinformatics. Show all posts
Showing posts with label bioinformatics. Show all posts
Wednesday, March 19, 2008
Wednesday, March 12, 2008
PERL for fast and ugly scripts :)
Yup. Example below. Data generator for dishonest casino example from "Biological sequences analysis". Yes I know that states are hardly changeable :). I am putting this code here also to hear answer for this question. how to produce nice colored html output from Eclipse. Eclipse -> Open office -> blogger is quite disappointing solution.
$outputName = $ARGV[0];
$dices = $ARGV[1];
@fair = (1,2,3,4,5,6);
@loaded = (1,2,3,4,5,6,6,6,6,6);
%model = (
"f" => \@fair,
"l" => \@loaded
);
%change = (
"f" => .05,
"l" => .1
);
if(rand() > .5) {
$actual = "l";
$next = "f";
} else {
$actual = "f";
$next = "l";
}
open(F, '>', $outputName) or die "file $outputName cannot be opened\n";
select F;
for($i = 0; $i < $dices; ++$i) {
my @a = @{$model{$actual}};
print $a[(rand() * @a) % @a], " ", $actual, "\n";
if(rand() <= $change{$actual}) {
($actual, $next) = ($next, $actual);
}
}
close(F);
Reversing BEAST
I am exhausted :) Have you ever tried reverse java code using open source software (and also community editions of popular commercial tools) ?? Under Linux ? :D
Well, sometimes it works. And sometimes not necessarily.
Well, sometimes it works. And sometimes not necessarily.
BEAST is a cross-platform program for Bayesian MCMC analysis of molecular sequences.
This software package contains almost 800 java classes (and I don't mention classes from used jar libraries) It is about ~60000 LoC. And all written in Java 1.5 (OK, compiled against Java 1.5 shows more than 1500 warnings).
There is a number of problems with freeware software for java reverse engineering that make this tools useless when analysing blast. In many cases the problem is that they works only for Java <=1.4. Non of the tested tools was able to import whole source folder from BEAST and analyze it. In case of ArgoUML (which is still, in my opinion, the best open RE tool for Java 1.5) it failed after using all available for VM memory (yes, I've changed the default values). Now when I change my working model to so called "step-by-step" it works only with few complains.
So, what is the alternative? Commercial license. And believe me I am actually close to make this choice. But who will guarantee that money spent on license solves the problem?
Later on I will give chance Eclipse + UML2. I know I should start with Eclipse (as always), but nobody's perfect :).
Monday, February 25, 2008
Random walk

It looks like my process of learning bioinformatics. Though, it should be rather breadth first ;). On of the first MCMC algorithms in my case was Metropolis-Hastings algorithm. And if you will look for good visualization of it please give a try this applet.
Sunday, February 10, 2008
Crawling through the information's ocean
And from my short experience you can find that all. I can say, I am excited cause bioinformatics integrates my knowledge with the ocean of new methods and problems. Continuous improvement ... But there is also a risk, I should have learn more in high-school or even during my MA studies, there are things that still reminds new for me, but they shouldn't. It makes me feel so stupid... It makes me want to leave this feeling behind.
Subscribe to:
Posts (Atom)