Skip to content

jimmy-penn/grafanc

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GrafAnc

GrafAnc is a software tool that infers genetic ancestry at both continental and subcontinental levels quickly and reliably. GrafAnc source code includes C++ programs and Perl scripts. See GrafAnc documentation for software documentation.

Developer: Yumi (Jimmy) Jin, PhD.

Required libraries and files

The GrafAnc repository can be downloaded using the following command:

$ git clone https://github.com/jimmy-penn/grafanc.git

GrafAnc requires that htslib be installed on the system. Please refer to the htslib documentation for details.

GrafAnc also requires that file AncSnpPopAFs.txt be placed under the data directory. File AncSnpPopAFs.txt.gz needs to be unzipped:

$ cd grafanc/cpp
$ gunzip data/AncSnpPopAFs.txt.gz

Make C++ binary grafanc

If htslib is installed under directory ~/htslib/1.20/, GrafAnc can be built by running the following command under the root directory:

$ make

To regenerate the C++ binary after editing the code, execute:

$ make clean
$ make

If htslib is installed under a different directory, e.g., /applications/htslib/1.20/, GrafAnc can be built by executing:

$ make HTSLIB="/applications/htslib/1.20"

Or alternatively, users can set HTSLIB in Makefile to the correct htslib directory and execute make.

In case the executable cannot be built from the source code, a prebuilt binary can be found under directory grafanc/bin/.

Running medium tests

Test scripts and test cases are placed under medium_testing directory. Test cases are saved in test_manifest.txt. Perl script test_grafanc.pl is used for manually running these test cases.

  1. Make sure environment variable PATH includes current directory ..
  2. If necessary, set environment variable GARFPATH to include the directory where GrafAnc binary and Perl scripts are located.
  3. Under medium_testing directory, execute: test_grafanc.pl test_manifest.txt.
  4. If source code is updated, update test_manifest.txt to add new test cases or modify existing cases, and execute test_grafanc.pl test_manifest.txt 1 to update the baseline.
  5. Check the baseline files and make sure they are all correct, then execute test_grafanc.pl test_manifest.txt (without the second parameter) again.
  6. Make sure all test cases pass.

About

GrafPop from dbSNP

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 66.8%
  • Python 22.2%
  • Perl 10.1%
  • Makefile 0.9%