dipetkov / eems

Estimating Effective Migration Surfaces
GNU General Public License v2.0
102 stars 28 forks source link

Check that nDemes > 1 #47

Closed hensonlh closed 3 years ago

hensonlh commented 3 years ago

Hi Dr. Petkova,

I'm attempting to use eems_sats for a 21 loci microsatellite set with 357 individuals. I installed and compiled on a Mac (10.13.6) using Homebrew and Boost. I have prepped the input files as described in the manual and have tried specifying several different values for nDemes (20,50,100,200,500,1000) but no matter what number I specify I seem to get the error: "Check that nDemes >1."

Below are the contents of my params-chain1.ini modified file. My files are named datapath.coord, datapath.outer, and datapath.sites. I'm happy to email these files to you if they are helpful.

datapath = Documents/BlackBearMicroPopStruct/eemsinput/datapath mcmcpath = Documents/BlackBearMicroPopStruct/eemsoutput/datapathEEMSchain1 nIndiv = 357 nSites = 21 nDemes = 100 diploid = true numMCMCIter = 2000000 numBurnIter = 1000000 numThinIter = 9999

Any help that you can provide would be much appreciated!

Best,

Lauren

dipetkov commented 3 years ago

Hi Lauren,

Do you run the program with:

./runeems_sats --params your-param-settings.ini     [This is the correct way]

Or with:

./runeems_sats your-param-settings.ini

The second version does raise the “nDemes > 1” error because nDemes is not actually specified. I will update to make the error message more informative.

Desi

hensonlh commented 3 years ago

Hi Desi,

Thanks so much for your quick reply! I have been running the program like thus with the inclusion of --params :

eems-master/runeems_sats/src/runeems_sats --params params-chain1.ini

Thanks!

Lauren

On Tue, Nov 17, 2020 at 2:35 AM Desislava Petkova notifications@github.com wrote:

Hi Lauren,

Do you run the program with:

./runeems_sats --params your-param-settings.ini [This is the correct way]

Or with:

./runeems_sats your-param-settings.ini

The second version does raise the “nDemes > 1” error because nDemes is not actually specified. I will update to make the error message more informative.

Desi

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/dipetkov/eems/issues/47#issuecomment-728840957, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFJBAH2MFJBWEJFHBXLDWS3SQJGYHANCNFSM4TX4CMYQ .

dipetkov commented 3 years ago

So you call eems with the correct program options and still get the "nDemes > 1" error? Can you then share your datapath files?

hensonlh commented 3 years ago

Hi Desi,

Yes it seems that while I include the --params option I still get the nDemes>1 error. Attached are my datapath files. Thank you for your help!

Cheers,

Lauren

On Tue, Nov 17, 2020 at 11:26 AM Desislava Petkova notifications@github.com wrote:

So you call eems with the correct program options and still get the "nDemes > 1" error? Can you then share your datapath files?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/dipetkov/eems/issues/47#issuecomment-729149645, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFJBAH4Q5OISPXKVH2N7MI3SQLE5DANCNFSM4TX4CMYQ .

dipetkov commented 3 years ago

Hi Lauren,

I think I know what the issue might be.

You wrote that you call eems like this:

eems-master/runeems_sats/src/runeems_sats --params params-chain1.ini

This means that the current directory is "eems-master". Does the current directory also contain "params-chain1.ini"? My guess is that the data and the config (ini) file are in some other folder. So make sure that you point to the inputs correctly.

  1. Point eems to the config file. For example:

    eems-master/runeems_sats/src/runeems_sats --params /full/path/to/params-chain1.ini
  2. In the config file, point to the input data. For example:

    datapath = /full/path/to/datapath
    mcmcpath = /full/path/to/datapathEEMSchain1

You can also use relative paths (relative to the current directory).

If you are not sure how absolute and relative paths work, google for "absolute and relative paths linux" to learn more. Here is one explanation: https://www.tjelvarolsson.com/blog/relative-and-absolute-paths-in-linux/.

hensonlh commented 3 years ago

Hi Desi,

Thank you, it appears that it was a simple path issue. Thank you for your assistance!

Best,

Lauren