Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Check that nDemes > 1 #47

Closed
hensonlh opened this issue Nov 17, 2020 · 6 comments
Closed

Check that nDemes > 1 #47

hensonlh opened this issue Nov 17, 2020 · 6 comments

Comments

@hensonlh
Copy link

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
Copy link
Owner

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
Copy link
Author

hensonlh commented Nov 17, 2020 via email

@dipetkov
Copy link
Owner

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

@hensonlh
Copy link
Author

hensonlh commented Nov 17, 2020 via email

@dipetkov
Copy link
Owner

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
  1. 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
Copy link
Author

Hi Desi,

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

Best,

Lauren

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants