sate-dev / sate-core

3 stars 3 forks source link

SATe is accepting Step0 results even if it is bad #9

Closed smirarab closed 12 years ago

smirarab commented 12 years ago

Current SATe code seems to accept alignment/tree from step0 even if it is a bad alignment/tree.

See this log for an example: SATe INFO: Reading input sequences from 'input.fasta'... SATe INFO: Directory for temporary files created at tmp SATe INFO: Performing initial alignment of the entire data matrix... SATe INFO: Performing initial tree search to get starting tree... SATe INFO: Starting SATe algorithm on initial tree... SATe INFO: Step 0. Realigning with decomposition strategy set to longest SATe INFO: Step 0. Alignment obtained. Tree inference beginning... SATe INFO: realignment accepted. SATe INFO: current score: -96055.1834, best score: -93826.1054 SATe INFO: Writing final alignment to sateout/aligned.fasta.marker001.input.aln SATe INFO: Writing final tree to sateout/aligned.fasta.tre SATe INFO: Writing final likelihood score to sateout/aligned.fasta.score SATe INFO: checkpoint dump file removed: checkpoint.dump SATe INFO: Total time spent: 7364.14707279s SATe INFO: Note that temporary files from the run have not been deleted, they can be found in: tmp/aligned.fasta/tempMTlYv3

Although the alignment/tree from the first step is very bad, it is accepted. This is not correct. If SATe cannot improve initial alignment/tree, it should just return those.

joaks1 commented 12 years ago

This problem should be fixed. Can you pull from sate-core and try this again? Let me know if problem persists or not. Thanks!

smirarab commented 12 years ago

thanks for the fix. I will test and will let you know.

mtholder commented 12 years ago

Hi. I think that the original behavior may be more a matter of poor wording of the output message rather than incorrect behavior. I just ran a dataset that had this behavior, and the initial alignment+tree pair was saved as the results of SATé.

I think that the poor current score and the "realignment accepted" will confuse users, but what is actually saved is the tree and alignment pair that corresponds to the best score. So, at least when I ran it, I got the correct output.

Jamie's fix should correct the confusing messages - I'll doublecheck that (and that is definitely worth correcting as a new minor release), but I think that the correct alignment and tree were being written as output.

smirarab commented 12 years ago

Hi Mark,

You are right, the alignment returned is fine. I always knew the message is confusing, but in a recent run I thought it is actually returning the wrong alignment/tree. I just realized I was wrong and it is returning the right tree.

Thanks Siavash