qpAdm_rotation
when nsources >= 3
. (issue)EIGENSTRAT
is checked in all user-facing functions that
operate on this data. (issue)mergeit
and qpfstats
in the $PATH
is now checked
when library(admixr)
is called.qpAdm_rotation()
).qpAdm_rotation()
procedure.Finally resumed the development of admixr! Apologies to everyone for having to wait so long. Thank you for your patience and feedback since the last release. I hope that things will start moving a little bit faster and we will reach version 1.0 in the next couple of months.
New features and improvements:
loginfo()
which operates on any output object from an
admixr wrapper and shows the full log output (the "log file" in
ADMIXTOOLS jargon) associated with the analysis. It also has options
for saving the log file to a permanent location and to only show a
log file for a target sample of interest (relevant for qpAdm
analyses with multiple targets at once).details
- the user will always want to
see the full analysis summary so this option is redundant. It is
still kept in qpWave - for now, until I figure out how useful the
full output actually is. Given the implementation of loginfo()
above, we might remove the argument from qpWave too at some point
soon.download_data()
now fetches data from a more stable
location.read_geno()
and write_geno()
,
which makes it more convenient to write custom analytic code working
on data.frames.qpAdm()
output elements and changed its function
signature.keep_transversions()
to transversions_only()
. The old
function is now deprecated.print.EIGENSTRAT()
now uses a pre-calculated numbers of
removed/remaining sites, instead of calculating them each and every
time.read_output()
made public.It turned out that dragging along Rcpp and Boost dependencies just for the VCF -> EIGENSTRAT conversion function causes unnecessary complications in the installation process. It's not worth having it in the package if it would be used only by a small fraction of potential users.
This function has been removed and the vcf2eigenstrat
program is
maintained in its own repository.
qpWave()
and qpAdm()
functions.filter_bed()
now implemented simply by calling bedtools
in the
background. This turned out to be way faster and memory efficient
than the previous data.table-based solution.group_labels()
update.download_data()
function that fetches the example data set from the web.filter_sites
is now implemented using data.table
and allows
overlap with an arbitrary BED file.qpDstat()
-> d()
,
qpF4ratio()
-> f4ratio()
, etc).f4()
function
(f4mode
parameter remains in the d()
function though, as f4()
calls d()
internally).The package now includes qpAdm functionality.
Formal tests for all implemented wrapper functions have been implemented.
Implemented: