eXtensible Forward Time SIMulator
xftsim simulates complex phenotype/genotype data with an emphasis on short timescale phenomena. xftsim is designed with two primary goals:
make it easy for statistical geneticists to perform reproducible and systematic sensitivity analyses to better understand limitations and assumptions
enable evaulation of methods for analyzing complex traits under realistically complex generative models
Getting started
User guide
- Nuts and bolts
- Anatomy of a simulation
- Founder data
- Recombination maps
- Phenogenetic architectures
- Mating regimes
- Statistics
- Post-processing
- Advanced genetic architectures
API reference
- Submodule organization
- arch module
AdditiveGeneticComponentAdditiveNoiseComponentArchitectureArchitecture.metadataArchitecture.componentsArchitecture.depthArchitecture.expand_componentsArchitecture.founder_initializations()Architecture.merged_component_indexer()Architecture.initialize_phenotype_array()Architecture.initialize_founder_phenotype_array()Architecture.compute_phenotypes()Architecture.check_dependencies()Architecture.compute_phenotypes()Architecture.dependency_graphArchitecture.dependency_graph_edgesArchitecture.draw_dependency_graph()Architecture.founder_initializationsArchitecture.initialize_founder_phenotype_array()Architecture.initialize_phenotype_array()Architecture.merged_component_indexer
ArchitectureComponentArchitectureComponent._compute_componentArchitectureComponent.input_haplotypesArchitectureComponent.input_cindexArchitectureComponent.output_cindexArchitectureComponent.founder_initializationArchitectureComponent.component_nameArchitectureComponent.compute_component()ArchitectureComponent.default_input_cindex()ArchitectureComponent.default_output_cindex()ArchitectureComponent.dependency_graphArchitectureComponent.dependency_graph_edgesArchitectureComponent.draw_dependency_graph()ArchitectureComponent.input_component_nameArchitectureComponent.input_phenotype_nameArchitectureComponent.input_vorigin_relativeArchitectureComponent.merged_phenotype_indexerArchitectureComponent.output_component_nameArchitectureComponent.output_phenotype_nameArchitectureComponent.output_vorigin_relativeArchitectureComponent.phenotype_nameArchitectureComponent.vorigin_relative
BinarizingTransformationConstantFounderInitializationCorrelatedNoiseComponentFounderInitializationGCTA_ArchitectureGaussianFounderInitializationHorizontalComponentInfinitessimalArchitectureLinearTransformationComponentLinearVerticalComponentProductComponentSpikeSlabArchitectureSumAllTransformationSumTransformationSumTransformation.input_haplotypesSumTransformation.input_cindexSumTransformation.output_cindexSumTransformation.founder_initializationSumTransformation.compute_component()SumTransformation.construct_cindexes()SumTransformation.construct_input_cindex()SumTransformation.construct_output_cindex()
VerticalComponentZeroFounderInitialization
- effect module
AdditiveEffectsAdditiveEffects.AFAdditiveEffects.beta_scaled_standardized_diploidAdditiveEffects.beta_scaled_standardized_haploidAdditiveEffects.beta_scaled_unstandardized_diploidAdditiveEffects.beta_scaled_unstandardized_haploidAdditiveEffects.beta_unscaled_standardized_diploidAdditiveEffects.beta_unscaled_standardized_haploidAdditiveEffects.beta_unscaled_unstandardized_diploidAdditiveEffects.beta_unscaled_unstandardized_haploidAdditiveEffects.beta_raw_diploidAdditiveEffects.beta_raw_haploidAdditiveEffects.component_indexerAdditiveEffects.kAdditiveEffects.mAdditiveEffects.offsetAdditiveEffects.variant_indexerAdditiveEffects.beta_raw_diploidAdditiveEffects.beta_raw_haploidAdditiveEffects.beta_scaled_standardized_haploidAdditiveEffects.beta_scaled_unstandardized_haploidAdditiveEffects.beta_unscaled_standardized_haploidAdditiveEffects.beta_unscaled_unstandardized_haploidAdditiveEffects.corr()AdditiveEffects.m_causalAdditiveEffects.offset
GCTAEffectsNonOverlappingEffects
- founders module
- index module
ComponentIndexComponentIndex.phenotype_nameComponentIndex.component_nameComponentIndex.vorigin_relativeComponentIndex.k_totalComponentIndex.k_phenotypesComponentIndex.k_componentsComponentIndex.k_relativeComponentIndex.depthComponentIndex.unique_identifierComponentIndex.to_vorigin()ComponentIndex.to_proband()ComponentIndex.from_frame()ComponentIndex.from_arrays()ComponentIndex.from_product()ComponentIndex.range_index()ComponentIndex.comp_typeComponentIndex.component_nameComponentIndex.depthComponentIndex.from_arrays()ComponentIndex.from_frame()ComponentIndex.from_product()ComponentIndex.k_componentsComponentIndex.k_phenotypesComponentIndex.k_relativeComponentIndex.k_totalComponentIndex.phenotype_nameComponentIndex.range_index()ComponentIndex.to_proband()ComponentIndex.to_vorigin()ComponentIndex.unique_identifierComponentIndex.vorigin_relative
DiploidVariantIndexDiploidVariantIndex.vidDiploidVariantIndex.chromDiploidVariantIndex.zero_alleleDiploidVariantIndex.one_alleleDiploidVariantIndex.hcopyDiploidVariantIndex.afDiploidVariantIndex.pos_bpDiploidVariantIndex.pos_cMDiploidVariantIndex.ploidyDiploidVariantIndex.annotationDiploidVariantIndex.annotation_arrayDiploidVariantIndex.annotation_namesDiploidVariantIndex.mDiploidVariantIndex.n_chromDiploidVariantIndex.n_annotationsDiploidVariantIndex.mafDiploidVariantIndex.afDiploidVariantIndex.annotate()DiploidVariantIndex.annotationDiploidVariantIndex.annotation_arrayDiploidVariantIndex.annotation_namesDiploidVariantIndex.chromDiploidVariantIndex.hcopyDiploidVariantIndex.mDiploidVariantIndex.mafDiploidVariantIndex.n_annotationsDiploidVariantIndex.n_chromDiploidVariantIndex.one_alleleDiploidVariantIndex.ploidyDiploidVariantIndex.pos_bpDiploidVariantIndex.pos_cMDiploidVariantIndex.to_haploid()DiploidVariantIndex.vidDiploidVariantIndex.zero_allele
HaploidVariantIndexHaploidVariantIndex.vidHaploidVariantIndex.chromHaploidVariantIndex.zero_alleleHaploidVariantIndex.one_alleleHaploidVariantIndex.afHaploidVariantIndex.pos_bpHaploidVariantIndex.pos_cMHaploidVariantIndex.mHaploidVariantIndex.n_chromHaploidVariantIndex.n_annotationsHaploidVariantIndex.mafHaploidVariantIndex.ploidyHaploidVariantIndex.hcopyHaploidVariantIndex.to_diploid()HaploidVariantIndex.ploidyHaploidVariantIndex.to_diploid()
NullFilterRandomSiblingFilterRandomSiblingSubsampleFilterRandomSubsampleFilterSampleFilterSampleIndexSiblingPairFilterXftIndexsampleIndex_from_VCF()sampleIndex_from_plink()variantIndex_from_VCF()variantIndex_from_plink()
- io module
- mate module
BatchedMatingRegimeFilteredMatingRegimeGeneralAssortativeMatingRegimeLinearAssortativeMatingRegimeMateAssignmentMateAssignment.get_mate_phenotypes()MateAssignment.get_mating_frame()MateAssignment.get_reproduction_frame()MateAssignment.is_constant_populationMateAssignment.maternal_integer_indexMateAssignment.n_femalesMateAssignment.n_malesMateAssignment.n_reproducing_pairsMateAssignment.n_total_offspringMateAssignment.offspring_fidsMateAssignment.offspring_iidsMateAssignment.offspring_sample_indexMateAssignment.offspring_sexMateAssignment.paternal_integer_indexMateAssignment.reduce_merge()MateAssignment.reproducing_maternal_indexMateAssignment.reproducing_paternal_indexMateAssignment.trio_view()MateAssignment.update_pedigree()
MatingRegimeMatingRegime.sex_awareMatingRegime.offspring_per_pairMatingRegime.mates_per_femaleMatingRegime.female_offspring_per_pairMatingRegime.exhaustiveMatingRegime.mateFunctionMatingRegime.expected_offspring_per_pairMatingRegime.expected_mates_per_femaleMatingRegime.expected_female_offspring_per_pairMatingRegime.population_growth_factorMatingRegime.get_potential_mates()MatingRegime.enumerate_assignment()MatingRegime.mate()MatingRegime.dependency_graphMatingRegime.dependency_graph_edgesMatingRegime.draw_dependency_graph()MatingRegime.enumerate_assignment()MatingRegime.expected_female_offspring_per_pairMatingRegime.expected_mates_per_femaleMatingRegime.expected_offspring_per_pairMatingRegime.get_potential_mates()MatingRegime.mate()MatingRegime.mateFunctionMatingRegime.population_growth_factor
RandomMatingRegime
- ped module
- proc module
- reproduce module
- sim module
DemoSimulationSimulationSimulation.mating_regimeSimulation.recombination_mapSimulation.architectureSimulation.statisticsSimulation.post_processorsSimulation.generationSimulation.controlSimulation.reproduction_methodSimulation.controlSimulation.haplotypesSimulation.phenotypesSimulation.matingSimulation.parent_matingSimulation.parent_haplotypesSimulation.parent_phenotypesSimulation.resultsSimulation.current_afs_empiricalSimulation.current_std_genotypesSimulation.current_std_phenotypesSimulation.phenotype_storeSimulation.haplotype_storeSimulation.mating_storeSimulation.results_storeSimulation.pedigreeSimulation.metadataSimulation.apply_filter()Simulation.compute_phenotypes()Simulation.controlSimulation.current_afs_empiricalSimulation.current_std_genotypesSimulation.current_std_genotypes_filteredSimulation.current_std_phenotypesSimulation.current_std_phenotypes_filteredSimulation.dependency_graphSimulation.dependency_graph_edgesSimulation.draw_dependency_graph()Simulation.estimate_statistics()Simulation.generationSimulation.haplotypesSimulation.haplotypes_filteredSimulation.increment_generation()Simulation.mate()Simulation.matingSimulation.move_forward()Simulation.parent_haplotypesSimulation.parent_matingSimulation.parent_phenotypesSimulation.phenotypesSimulation.phenotypes_filteredSimulation.pickle_results()Simulation.process()Simulation.prune_generation()Simulation.prune_old_generations()Simulation.reproduce()Simulation.resultsSimulation.run()Simulation.run_generation()Simulation.update_pedigree()
- stats module
GWAS_EstimatorHasemanElstonEstimatorHasemanElstonEstimatorSibshipHasemanElstonEstimatorSibship.component_indexHasemanElstonEstimatorSibship.genetic_correlationHasemanElstonEstimatorSibship.randomizedHasemanElstonEstimatorSibship.prettifyHasemanElstonEstimatorSibship.n_probeHasemanElstonEstimatorSibship.daskHasemanElstonEstimatorSibship.estimator()HasemanElstonEstimatorSibship.estimator()
MatingStatisticsPop_GWAS_EstimatorSampleStatisticsSib_GWAS_EstimatorStatisticapply_threshold_PGS()apply_threshold_PGS_all()haseman_elston()threshold_PGS()
- struct module
GeneticMapHaplotypeArrayPhenotypeArrayXftAccessorXftAccessor._objXftAccessor._array_typeXftAccessor._non_annotation_varsXftAccessor._variant_varsXftAccessor._sample_varsXftAccessor._component_varsXftAccessor._row_dimXftAccessor._col_dimXftAccessor.shapeXftAccessor.nXftAccessor.dataXftAccessor.row_varsXftAccessor.column_varsXftAccessor.sample_mindexXftAccessor.component_mindexXftAccessor.af_empiricalXftAccessor.all_componentsXftAccessor.all_phenotypesXftAccessor.all_relativesXftAccessor.as_pd()XftAccessor.column_varsXftAccessor.component_mindexXftAccessor.dataXftAccessor.depthXftAccessor.diploid_chromXftAccessor.diploid_vidXftAccessor.generationXftAccessor.get_annotation_dict()XftAccessor.get_column_indexer()XftAccessor.get_comp_type()XftAccessor.get_component_indexer()XftAccessor.get_intermediate_components()XftAccessor.get_k_rel()XftAccessor.get_non_annotation_dict()XftAccessor.get_outcome_components()XftAccessor.get_row_indexer()XftAccessor.get_sample_indexer()XftAccessor.get_variant_indexer()XftAccessor.grep_component_index()XftAccessor.interpolate_cM()XftAccessor.k_componentsXftAccessor.k_currentXftAccessor.k_phenotypesXftAccessor.k_relativeXftAccessor.k_totalXftAccessor.mXftAccessor.maf_empiricalXftAccessor.nXftAccessor.reindex_components()XftAccessor.row_varsXftAccessor.sample_mindexXftAccessor.set_column_indexer()XftAccessor.set_row_indexer()XftAccessor.set_sample_indexer()XftAccessor.set_variant_indexer()XftAccessor.shapeXftAccessor.split_by_component()XftAccessor.split_by_phenotype()XftAccessor.split_by_phenotype_vorigin()XftAccessor.split_by_vorigin()XftAccessor.standardize()XftAccessor.to_diploid()XftAccessor.to_diploid_standardized()XftAccessor.use_empirical_afs()
- utils module
ConstantCountMixtureCountNegativeBinomialCountPoissonCountVariableCountZeroTruncatedPoissonCountcartesian_product()cov2cor()ensure2D()exhaustive_enumerate()exhaustive_permutation()hierarchical_subsample()ids_from_generation()ids_from_generation_range()ids_from_n_generation()match()matching_indices_conditional()merge_duplicate_pairs()merge_duplicates()paste()print_tree()profiled()sort_and_paste()standardize_array()standardize_array_hw()to_proportions()to_simplex()unique_identifier()