fastcodeml issueshttps://gitlab.sib.swiss/phylo/fastcodeml/-/issues2018-05-01T07:34:00+02:00https://gitlab.sib.swiss/phylo/fastcodeml/-/issues/33Doesn't compile with MPI support enabled.2018-05-01T07:34:00+02:00Iakov DavydovDoesn't compile with MPI support enabled.If MPI is enabled in CMakeLists.txt gives an error:
```
/home/idavydov/work/fastcodeml/fastcodeml/HighLevelCoordinator.cpp: In member function ‘bool HighLevelCoordinator::startWork(Forest&, const CmdLine&)’:
/home/idavydov/work/fastco...If MPI is enabled in CMakeLists.txt gives an error:
```
/home/idavydov/work/fastcodeml/fastcodeml/HighLevelCoordinator.cpp: In member function ‘bool HighLevelCoordinator::startWork(Forest&, const CmdLine&)’:
/home/idavydov/work/fastcodeml/fastcodeml/HighLevelCoordinator.cpp:459:76: error: no matching function for call to ‘Forest::getBranchRange(const CmdLine&, size_t&, size_t&)’
bool do_all = aForest.getBranchRange(aCmdLine, branch_start, branch_end);
^
/home/idavydov/work/fastcodeml/fastcodeml/HighLevelCoordinator.cpp:459:76: note: candidate is:
In file included from /home/idavydov/work/fastcodeml/fastcodeml/HighLevelCoordinator.h:5:0,
from /home/idavydov/work/fastcodeml/fastcodeml/HighLevelCoordinator.cpp:22:
/home/idavydov/work/fastcodeml/fastcodeml/Forest.h:97:8: note: bool Forest::getBranchRange(const CmdLine&, size_t&, size_t&, std::set<int>&, std::set<int>&) const
bool getBranchRange(const CmdLine &aCmdLine, size_t &aBranchStart,
^
/home/idavydov/work/fastcodeml/fastcodeml/Forest.h:97:8: note: candidate expects 5 arguments, 3 provided
make[2]: *** [CMakeFiles/fast.dir/HighLevelCoordinator.cpp.o] Error 1
make[1]: *** [CMakeFiles/fast.dir/all] Error 2
make: *** [all] Error 2
```
tested in commit: 8ab98271ef0e79fa9006e9e03e7d9a821b810533Omid ShahmirzadiOmid Shahmirzadihttps://gitlab.sib.swiss/phylo/fastcodeml/-/issues/30'number of threads VS performance' is not as expected2018-05-01T07:34:00+02:00Omid Shahmirzadi'number of threads VS performance' is not as expectedIncreasing number of threads does not constantly improves performance. After a certain threshold, increasing number of threads seems to have adverse effects on performance. This observation is more obvious when fcml is compiled with lapa...Increasing number of threads does not constantly improves performance. After a certain threshold, increasing number of threads seems to have adverse effects on performance. This observation is more obvious when fcml is compiled with lapack library. The reason is not clear.
For now adjusting number of threads to the optimum value (which is not the maximum number of cores) can have considerable performance gains.
A side issue regarding correctness: in case of compilation with lapack, #threads = #cores/2 (and not other values) can lead to completely wrong results. https://gitlab.sib.swiss/phylo/fastcodeml/-/issues/29BEB results2018-05-01T07:34:00+02:00Omid ShahmirzadiBEB resultssites under selection are reported non-deterministically when number of threads change. sites under selection are reported non-deterministically when number of threads change. https://gitlab.sib.swiss/phylo/fastcodeml/-/issues/28Add M1 model in FastCodeML2018-05-01T07:34:00+02:00Sebastien MorettiAdd M1 model in FastCodeMLWould be good to have M1 model (and M0 model?) in FastCodeml.
This way we could estimate parameters (kappa and branch lengths) directly in FastCodeml before running the branch-site model, in the same run.
Currently this is what i...Would be good to have M1 model (and M0 model?) in FastCodeml.
This way we could estimate parameters (kappa and branch lengths) directly in FastCodeml before running the branch-site model, in the same run.
Currently this is what is done in Selectome in different steps: M1 (or M0) model is run in codeml, then kappa and branch length estimations are parsed and used for branch-site model (estimated kappa as starting point, branch lengths as fixed lengths).
@mrobinso & @idavydov do you see other parameters that could be useful?Omid ShahmirzadiOmid Shahmirzadihttps://gitlab.sib.swiss/phylo/fastcodeml/-/issues/23uses all available CPU's even if -nt 1 with OpenBLAS2018-05-01T07:34:00+02:00Iakov Davydovuses all available CPU's even if -nt 1 with OpenBLASIf fastcodeml is compiled with OpenBLAS it uses all available CPU's irrespective of -nt option.
It's a default behavior of OpenBLAS to use all CPU's. That's especially problematic since
1. OpenBLAS is the default BLAS implementation ...If fastcodeml is compiled with OpenBLAS it uses all available CPU's irrespective of -nt option.
It's a default behavior of OpenBLAS to use all CPU's. That's especially problematic since
1. OpenBLAS is the default BLAS implementation in Ubuntu
2. Most CPUs have hyper-threading which doesn't give a real advantages. Instead huge number of processes is making things significantly slower.
One work-around is to run fastcodeml with OMP_NUM_THREADS=1, but it only works if you need one thread.
I consider this bug to be important, because it prevents most users from using a parallel version of fastcodeml.https://gitlab.sib.swiss/phylo/fastcodeml/-/issues/17Potential problem with BOBYQA optimizer2018-05-01T07:34:00+02:00Iakov DavydovPotential problem with BOBYQA optimizerThis problem was identified by Xavier Meyer.
The small problem I noticied is in file BranchSiteModel.cpp starting at line 1850 to 1854 :
```c++
// --------------------------------
if (mFixedBranchLength)
{
nlopt::opt local_...This problem was identified by Xavier Meyer.
The small problem I noticied is in file BranchSiteModel.cpp starting at line 1850 to 1854 :
```c++
// --------------------------------
if (mFixedBranchLength)
{
nlopt::opt local_opt(nlopt::LN_BOBYQA, mNumTimes+mNumVariables);
opt->set_local_optimizer(local_opt
}
// --------------------------------
```
The "mNumTimes" shouldn't be present since branch are fixed in this case.
I tried to launch with "-m99 -bl -bf" and it crashed with "Default exception caught." after removing "mNumTimes" it seems to work.
Maybe already fixed in latest version.https://gitlab.sib.swiss/phylo/fastcodeml/-/issues/15Automatic trim of the last codon if it is a stop codon2018-05-01T07:34:00+02:00Sebastien MorettiAutomatic trim of the last codon if it is a stop codonMINOR ISSUE but could be useful
Need to be linked to genetic code!MINOR ISSUE but could be useful
Need to be linked to genetic code!https://gitlab.sib.swiss/phylo/fastcodeml/-/issues/11Could we deal with Selenocystein and other "new" Amino acids?2018-05-01T07:34:00+02:00Sebastien MorettiCould we deal with Selenocystein and other "new" Amino acids?Could we deal with Selenocystein ("U" amino acid) and other "new" Amino acids?
See http://en.wikipedia.org/wiki/Amino_acid#Table_of_standard_amino_acid_abbreviations_and_propertiesCould we deal with Selenocystein ("U" amino acid) and other "new" Amino acids?
See http://en.wikipedia.org/wiki/Amino_acid#Table_of_standard_amino_acid_abbreviations_and_propertieshttps://gitlab.sib.swiss/phylo/fastcodeml/-/issues/10Non-standard genetic codes2018-05-01T07:34:00+02:00Sebastien MorettiNon-standard genetic codesAdd an option to deal with different genetic code, and maybe user own genetic code fileAdd an option to deal with different genetic code, and maybe user own genetic code filehttps://gitlab.sib.swiss/phylo/fastcodeml/-/issues/9For cmake, need a CMakeLists.txt example file with other compilers2018-05-01T07:34:00+02:00Sebastien MorettiFor cmake, need a CMakeLists.txt example file with other compilersFor cmake, need a CMakeLists.txt example file with other compilers.
Don't really know how to compiler with non-gcc compilers !!!
What are the right options?
Maybe one CMakeLists.txt file per compiler?For cmake, need a CMakeLists.txt example file with other compilers.
Don't really know how to compiler with non-gcc compilers !!!
What are the right options?
Maybe one CMakeLists.txt file per compiler?https://gitlab.sib.swiss/phylo/fastcodeml/-/issues/7Need code tests2018-05-01T07:34:00+02:00Sebastien MorettiNeed code testsNeed Unit Tests, integration tests, ... (a general test suite)Need Unit Tests, integration tests, ... (a general test suite)https://gitlab.sib.swiss/phylo/fastcodeml/-/issues/3sometimes optimizer doesn't find maximum2018-05-01T07:34:00+02:00Iakov Davydovsometimes optimizer doesn't find maximumOn certain datasets fastcodeml optimizer gives solution with likelihood lower then the solution of codeml.On certain datasets fastcodeml optimizer gives solution with likelihood lower then the solution of codeml.