Building a 3D root Descriptor:
To encode the maize root structure variation in genotype and interaction with environment using Quaternion representation of maize root Structure
Example of 3D maize root structure v.s. Visualization of Quaternion rotation vectors
Example of 3D root Descriptor to enocde genotype varition of a test panel of field-grown maize root samples
Summary of our 3D root Descriptor pipeline
Skeleton/structure of 3D root models(A Graph with edges and nodes) of M samples with N different treatment/genotypes
Graph representation of a 3D root Skeleton/structure (*.ply) in Polygon File Format or the Stanford Triangle Format.
Computed from Computational-Plant-Science / 3D_model_traits_demo
-
Computed quaternion values in 3 different definitions
(Average, Composition Differential of quaternion values of all paths from the root stem tip nodes)
-
Cluster center of N quaternion values of different treatment/genotypes using all M samples
Transformation matrixes between each pair of different treatment/genotypes in total N different treatment/genotypes
Number of transformation matrixes = N!2!(N − 2)! (combinations without repeat, order does not matter)
-
Mahalanobis Distance between each pairs of different treatment/genotypes in total N different treatment/genotypes.
Same number as “Number of transformation”
-
The rotation angles between each pairs of different treatment/genotypes were computed from Transformation matrix.
-
The transformation distance between each pairs of different treatment/genotypes can be computed from Transformation matrix.
-
Statical analysis of correlation between rotation angles with Genotype and Environment. G*E
Docker is required to run this project in a Linux environment.
Install Docker Engine (https://docs.docker.com/engine/install/)
We suggest to run the pipeline inside a docker container,
The Docker container allows you to package up your application(s) and deliver them to the cloud without any dependencies. It is a portable computing environment. It contains everything an application needs to run, from binaries to dependencies to configuration files.
There are two ways to run the pipeline inside a docker container,
One was is to build a docker based on the docker recipe file inside the GitHub repository. In our case, please follow step 1 and step 3.
Antoher way is to download prebuild docker image directly from Docker hub. In our case, please follow step 2 and step 3.
- Build docker image on your PC under linux environment
git clone https://github.com/Computational-Plant-Science/3D_model_descriptor.git
docker build -t 3D_model_descriptor -f Dockerfile .
- Download prebuild docker image directly from Docker hub, without building docker image on your local PC
docker pull computationalplantscience/3D_model_descriptor
- Run the pipeline inside the docker container
link your test 3D model path (e.g. '/home/test/test.ply', $path_to_your_3D_model = /home/test, $your_3D_model_name.ply = test.ply)to the /srv/test/ path inside the docker container
docker run -v /$path_to_your_3D_model:/srv/test -it 3D_model_descriptor
or
docker run -v /$path_to_your_3D_model:/srv/test -it computationalplantscience/3D_model_descriptor
- Run the pipeline inside the container
python3 pipeline.py -p /srv/test/ -m $your_3D_model_structure_file_name.ply
Suxing Liu ([email protected]), Alexander Bucksch ([email protected])
Docker container was maintained and deployed to PlantIT by Wes Bonelli ([email protected]).