Export clustering result of ipcaps to text file called 'groups.txt'.

export.groups(result.dir)

Arguments

result.dir

A result directory as the $output object returned from the ipcaps function.

Value

A data frame of exported data containing 4 columns; group, node, label, row.number, as described below for more details:

  • group represents group membership of IPCAPS result.

  • node represents node numbers of IPCAPS result.

  • label represents labels of rows in orginal input data.

  • row.number represents row numbers of orginal input data.

Details

After running, this function exports the file called 'groups.txt' to the same result directory. If 'groups.txt' already exists in the result directory, the exported file is changed to 'groups1.txt', 'groups2.txt', 'groups3.txt', ..., accordingly.

Examples

# Importantly, bed file, bim file, and fam file are required # Use the example files embedded in the package BED.file <- system.file("extdata","ipcaps_example.bed",package="IPCAPS") LABEL.file <- system.file("extdata","ipcaps_example_individuals.txt.gz",package="IPCAPS") my.cluster <- ipcaps(bed=BED.file,label.file=LABEL.file,lab.col=2,out=tempdir())
#> Running ... IPCAPS #> output: /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk #> label file: /private/var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T/RtmpYTlCbr/temp_libpath1351142c69ef5/IPCAPS/extdata/ipcaps_example_individuals.txt.gz #> label column: 2 #> threshold: 0.18 #> minimum Fst: 8e-04 #> maximum thread: 1 #> method: mix #> bed: /private/var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T/RtmpYTlCbr/temp_libpath1351142c69ef5/IPCAPS/extdata/ipcaps_example.bed #> minimum in group: 20 #> data type: snp #> missing: NA #> In preprocessing step #> Note: the directory '/var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk' is existed. #> The result files will be saved to this directory: /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output #> Input data: 103 individuals, 2000 markers #> Start calculating #> Node 1: Start the process #> Node 1: Loading /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/tree.RData #> Node 1: Loading /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/condition.RData #> Node 1: Loading /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/rawdata.RData #> Node 1: Loading /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/node1.RData #> Node 1: Check for splitting #> Node 1: Reducing matrix #> Node 1: EigenFit = 0.652486925995028, Threshold = 0.18, no. significant PCs = 3 #> Node 1: Start clustering #> Node 1: Loading /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/node1.RData #> Node 1: done for clustering #> Time difference of 0.1141951 secs #> Node 1: Checking Fst of group 1 and group 2 #> Node 1: Checking Fst of group 1 and group 3 #> Node 1: Checking Fst of group 1 and group 4 #> Node 1: Checking Fst of group 2 and group 3 #> Node 1: Checking Fst of group 2 and group 4 #> Node 1: Checking Fst of group 3 and group 4 #> Node 1 times took 0.376849889755249 secs #> Node 1: 103 individuals were splitted into: 4 groups #> Node 1: Return status 0 #> Node 1: Split to sub-nodes #> Node 1: Saving /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/node2.RData #> Node 1: Saving /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/node3.RData #> Node 1: Saving /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/node4.RData #> Node 1: Saving /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/node5.RData #> Node 1: Loading /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/tree.RData #> Node 1: Updating /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/tree.RData #> Node 1: Done! #> Time difference of 0.5424469 secs #> Node 2: Start the process #> Node 2: Loading /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/tree.RData #> Node 2: Loading /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/condition.RData #> Node 2: Loading /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/rawdata.RData #> Node 2: Loading /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/node2.RData #> Node 2: Check for splitting #> Node 2: A number of node is lower than the minimum number (20), therefore split was not performed #> Node 2: Return status 1 #> Node 2: No split was performed, Status=1 #> Node 2: Updating /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/leafnode.RData #> Node 2: Loading /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/tree.RData #> Node 2: Updating /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/tree.RData #> Node 2: Done! #> Time difference of 0.03121614 secs #> Node 3: Start the process #> Node 3: Loading /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/tree.RData #> Node 3: Loading /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/condition.RData #> Node 3: Loading /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/rawdata.RData #> Node 3: Loading /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/node3.RData #> Node 3: Check for splitting #> Node 3: A number of node is lower than the minimum number (20), therefore split was not performed #> Node 3: Return status 1 #> Node 3: No split was performed, Status=1 #> Node 3: Updating /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/leafnode.RData #> Node 3: Loading /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/tree.RData #> Node 3: Updating /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/tree.RData #> Node 3: Done! #> Time difference of 0.03238106 secs #> Node 4: Start the process #> Node 4: Loading /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/tree.RData #> Node 4: Loading /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/condition.RData #> Node 4: Loading /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/rawdata.RData #> Node 4: Loading /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/node4.RData #> Node 4: Check for splitting #> Node 4: A number of node is lower than the minimum number (20), therefore split was not performed #> Node 4: Return status 1 #> Node 4: No split was performed, Status=1 #> Node 4: Updating /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/leafnode.RData #> Node 4: Loading /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/tree.RData #> Node 4: Updating /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/tree.RData #> Node 4: Done! #> Time difference of 0.0307951 secs #> Node 5: Start the process #> Node 5: Loading /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/tree.RData #> Node 5: Loading /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/condition.RData #> Node 5: Loading /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/rawdata.RData #> Node 5: Loading /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/node5.RData #> Node 5: Check for splitting #> Node 5: Reducing matrix #> Node 5: EigenFit = 0.343228072167861, Threshold = 0.18, no. significant PCs = 3 #> Node 5: Start clustering #> Node 5: Loading /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/node5.RData #> Node 5: done for clustering #> Time difference of 0.11921 secs #> Node 5: Checking Fst of group 1 and group 2 #> Node 5 times took 0.168837070465088 secs #> Node 5: 100 individuals were splitted into: 2 groups #> Node 5: Return status 0 #> Node 5: Split to sub-nodes #> Node 5: Saving /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/node6.RData #> Node 5: Saving /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/node7.RData #> Node 5: Loading /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/tree.RData #> Node 5: Updating /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/tree.RData #> Node 5: Done! #> Time difference of 0.3281519 secs #> Node 6: Start the process #> Node 6: Loading /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/tree.RData #> Node 6: Loading /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/condition.RData #> Node 6: Loading /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/rawdata.RData #> Node 6: Loading /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/node6.RData #> Node 6: Check for splitting #> Node 6: Reducing matrix #> Node 6: EigenFit = 0.0221170820186458, Threshold = 0.18, no. significant PCs = #> Node 6: No split was performed because EigenFit is lower than threshold #> Node 6: Return status 1 #> Node 6: No split was performed, Status=1 #> Node 6: Updating /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/leafnode.RData #> Node 6: Loading /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/tree.RData #> Node 6: Updating /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/tree.RData #> Node 6: Done! #> Time difference of 0.1188481 secs #> Node 7: Start the process #> Node 7: Loading /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/tree.RData #> Node 7: Loading /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/condition.RData #> Node 7: Loading /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/rawdata.RData #> Node 7: Loading /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/node7.RData #> Node 7: Check for splitting #> Node 7: Reducing matrix #> Node 7: EigenFit = 0.0367738545252401, Threshold = 0.18, no. significant PCs = #> Node 7: No split was performed because EigenFit is lower than threshold #> Node 7: Return status 1 #> Node 7: No split was performed, Status=1 #> Node 7: Updating /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/leafnode.RData #> Node 7: Loading /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/tree.RData #> Node 7: Updating /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/RData/tree.RData #> Node 7: Done! #> Time difference of 0.1057658 secs #> In post process step #> Exporting node 2 as group 1 #> Exporting node 3 as group 2 #> Exporting node 4 as group 3 #> Exporting node 6 as group 4 #> Exporting node 7 as group 5 #> Note: save as /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/groups.txt
#> The result files were saved at: /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output #> Total runtime is 2.21453499794006 sec
#Here, to export the IPCAPS result to a text file exported.data <- export.groups(my.cluster$output.dir)
#> Exporting node 2 as group 1 #> Exporting node 3 as group 2 #> Exporting node 4 as group 3 #> Exporting node 6 as group 4 #> Exporting node 7 as group 5 #> Note: save as /var/folders/sp/hhmj9xvx53z4g4dktf5f503r0000gp/T//Rtmpvv9uwk/cluster_output/groups1.txt
print(dim(exported.data))
#> [1] 103 4
head(exported.data)
#> group node label row.number #> 1 1 2 outlier3 102 #> 2 2 3 outlier3 103 #> 3 3 4 outlier3 101 #> 4 4 6 pop1 1 #> 5 4 6 pop1 2 #> 6 4 6 pop1 3