Revisión | 14cc3674750f11f3225c7e8b34a8418c425b75bf (tree) |
---|---|
Tiempo | 2015-04-02 04:39:17 |
Autor | Takuo Yasunaga <yasunaga@bio....> |
Commiter | Takuo Yasunaga |
ticket #35034
Sphere index, Disk index, Cylinder index
Larger values indicate its shape.
@@ -66,7 +66,7 @@ lmrcImageShapePCA(mrcImage* in, lmrcImageShapePCAInfo* linfo, int mode) | ||
66 | 66 | int |
67 | 67 | lmrcImageShapePCAResultsPrint(FILE* fpt, lmrcImageShapePCAInfo* linfo, int mode) |
68 | 68 | { |
69 | - double sum; | |
69 | + double sum, sum2; | |
70 | 70 | double lambda[3]; |
71 | 71 | int i; |
72 | 72 |
@@ -88,18 +88,42 @@ lmrcImageShapePCAResultsPrint(FILE* fpt, lmrcImageShapePCAInfo* linfo, int mode) | ||
88 | 88 | for(i=0; i<3; i++) { |
89 | 89 | sum += lambda[i]; |
90 | 90 | } |
91 | + sum2 = 0; | |
91 | 92 | for(i=0; i<3; i++) { |
92 | 93 | lambda[i] /= sum; |
94 | + sum2 += SQR(lambda[i]); | |
93 | 95 | } |
94 | 96 | for(i=0; i<3; i++) { |
95 | 97 | fprintf(fpt, "%15.6f ", lambda[i]); |
96 | 98 | } |
97 | 99 | fprintf(fpt, "\n"); |
98 | 100 | |
99 | - fprintf(fpt, "logS(SphereIndex) : %15.6f\n", log10(1/(lambda[0]*lambda[1] + lambda[1]*lambda[2] +lambda[2]*lambda[0] ))); | |
100 | - fprintf(fpt, "exp(S-1)(SphereIndex) : %15.6f\n", exp(1/(lambda[0]*lambda[1] + lambda[1]*lambda[2] +lambda[2]*lambda[0] )-1)); | |
101 | - fprintf(fpt, "SphereIndex : %15.6f\n", SQR(lambda[0] - lambda[1]) + SQR(lambda[1]-lambda[2]) + SQR(lambda[2]-lambda[0])); | |
102 | - fprintf(fpt, "Log(SphereIndex) : %15.6f\n", log10(SQR(lambda[0] - lambda[1]) + SQR(lambda[1]-lambda[2]) + SQR(lambda[2]-lambda[0]))); | |
101 | + if(mode&0x1) { | |
102 | + fprintf(fpt, "logS(SphereIndex): %15.6f\n", -log10(1/(lambda[0]*lambda[1] + lambda[1]*lambda[2] +lambda[2]*lambda[0] ))); | |
103 | + fprintf(fpt, "exp(S-1)(SphereIndex): %15.6f\n", 1.0/exp(1/(lambda[0]*lambda[1] + lambda[1]*lambda[2] +lambda[2]*lambda[0] )-1)); | |
104 | + fprintf(fpt, "SphereIndex(var): %15.6f\n", 1.0/(SQR(lambda[0] - lambda[1]) + SQR(lambda[1]-lambda[2]) + SQR(lambda[2]-lambda[0]))); | |
105 | + fprintf(fpt, "Log(SphereIndex(var)): %15.6f\n", -log10(SQR(lambda[0] - lambda[1]) + SQR(lambda[1]-lambda[2]) + SQR(lambda[2]-lambda[0]))); | |
106 | + fprintf(fpt, "SphereIndex(var): %15.6f\n", 1.0/(SQR(lambda[0] - lambda[1]) + SQR(lambda[1]-lambda[2]) + SQR(lambda[2]-lambda[0]))); | |
107 | + fprintf(fpt, "SphereIndex(0.33): %15.6f\n", 1.0/(SQR(lambda[0] - 1.0/3) + SQR(lambda[1]-1.0/3) + SQR(lambda[2]-1.0/3))); | |
108 | + fprintf(fpt, "Log(SphereIndex(0.33)): %15.6f\n", -log10(SQR(lambda[0] - 1.0/3) + SQR(lambda[1]-1.0/3) + SQR(lambda[2]-1.0/3))); | |
109 | + } | |
110 | + if(mode&0x2) { | |
111 | + fprintf(fpt, "DiskIndex: %15.6f\n", 1.0/(lambda[2]/lambda[0]*lambda[2]/lambda[1])); | |
112 | + fprintf(fpt, "logD(DiskIndex): %15.6f\n", -log10(lambda[2]/lambda[0]*lambda[2]/lambda[1])); | |
113 | + fprintf(fpt, "DiskIndex(var): %15.6f\n", 1.0/(SQR(lambda[0]-lambda[1]) + SQR(lambda[2] ))); | |
114 | + fprintf(fpt, "Log(DiskIndex(var)): %15.6f\n", -log10(SQR(lambda[0]-lambda[1]) + SQR(lambda[2] ))); | |
115 | + fprintf(fpt, "DiskIndex(0.5): %15.6f\n", 1.0/(SQR(lambda[0]-0.5) + SQR(lambda[1]-0.5) + SQR(lambda[2] ))); | |
116 | + fprintf(fpt, "Log(DiskIndex(0.5)): %15.6f\n", -log10(SQR(lambda[0]-0.5) + SQR(lambda[1]-0.5) + SQR(lambda[2] ))); | |
117 | + } | |
118 | + if(mode&0x4) { | |
119 | + fprintf(fpt, "CylinderIndex: %15.6f\n", 1.0/(lambda[1]/lambda[0]*lambda[2]/lambda[0])); | |
120 | + fprintf(fpt, "logC(CylinderIndex): %15.6f\n", -log10(lambda[1]/lambda[0]*lambda[2]/lambda[0])); | |
121 | + fprintf(fpt, "CylinderIndex(var) : %15.6f\n", 1.0/(SQR(lambda[0] -1) + SQR(lambda[1] - lambda[2]))); | |
122 | + fprintf(fpt, "Log(CylinderIndex(var) : %15.6f\n", -log10(SQR(lambda[0] -1) +SQR(lambda[1] - lambda[2]))); | |
123 | + fprintf(fpt, "CylinderIndex(1.0) : %15.6f\n", 1.0/(SQR(lambda[0] -1) + SQR(lambda[1]) + SQR(lambda[2]))); | |
124 | + fprintf(fpt, "Log(CylinderIndex(1.0)) : %15.6f\n", -log10(SQR(lambda[0] -1) +SQR(lambda[1]) + SQR(lambda[2]))); | |
125 | + } | |
126 | + | |
103 | 127 | |
104 | 128 | return 0; |
105 | 129 | } |
@@ -580,3 +580,5 @@ WORLDNAME=Tools | ||
580 | 580 | WORLDNAME=Tools |
581 | 581 | WORLDNAME=Tools |
582 | 582 | WORLDNAME=Tools |
583 | +WORLDNAME=Tools | |
584 | +WORLDNAME=Tools |
@@ -1,5 +0,0 @@ | ||
1 | -include ../Config/Define.inc | |
2 | -include Config/Define.inc | |
3 | -include .Source | |
4 | - | |
5 | -include Config/Target.inc |
@@ -0,0 +1 @@ | ||
1 | +/Users/tacyas/Eos/src/Config/Template/ToolsHomeTemplate.Dir/Makefile | |
\ No newline at end of file |
@@ -3,5 +3,5 @@ | ||
3 | 3 | "-i","-i[nput]","Input: mrcImage","Essential","1","1","In","inFile::mrcImage","NULL" |
4 | 4 | "-o","-o[utput]","Output: ASCII","Optional","1","1","Out","outFile::ASCII","stdout" |
5 | 5 | "-c","-c[onfig]","ConfigurationFile","Optional","1","1","configFile","inFile","NULL" |
6 | -"-m","-m[ode]","Mode","Optional","1","1","mode","Integer","0" | |
6 | +"-m","-m[ode]","Mode","Optional","1","1","mode","Integer","1" | |
7 | 7 | "-C","-C[ontour]","Contour","Variable","1","1","Contour","Real","1.0" |
@@ -15,7 +15,7 @@ init0(mrcImageShapePCAInfo* info) | ||
15 | 15 | info->fptIn = NULL; info->flagIn = 0; |
16 | 16 | info->fptOut = stdout; info->flagOut = 0; |
17 | 17 | info->fptconfigFile = NULL; info->flagconfigFile = 0; |
18 | - info->mode = 0; info->flagmode = 0; | |
18 | + info->mode = 1; info->flagmode = 0; | |
19 | 19 | info->Contour = NULL; info->flagContour = 0; |
20 | 20 | } |
21 | 21 |
@@ -64,7 +64,11 @@ additionalUsage() | ||
64 | 64 | fprintf(stderr, " 100%% 60%% 40%%\n"); |
65 | 65 | fprintf(stderr, "----- Objectives -----\n"); |
66 | 66 | fprintf(stderr, "Determine the orientations/molecular axis by PCA alogrism\n"); |
67 | - fprintf(stderr, " $ mrcImagePCA -i mrc -o parameter -C C1 C2 C3 ...\n"); | |
67 | + fprintf(stderr, " $ mrcImageShapePCA -i mrc -o parameter -C C1 C2 C3 ...\n"); | |
68 | + fprintf(stderr, "-m \n"); | |
69 | + fprintf(stderr, " +1: Sphere (default)\n"); | |
70 | + fprintf(stderr, " +2: Disk\n"); | |
71 | + fprintf(stderr, " +4: Cylinder\n"); | |
68 | 72 | fprintf(stderr, "\n"); |
69 | 73 | |
70 | 74 | } |
@@ -11,7 +11,7 @@ Options: | ||
11 | 11 | [-i[nput] In (NULL ).as(inFile::mrcImage ) ] :Essential :Input: mrcImage |
12 | 12 | [-o[utput] Out (stdout ).as(outFile::ASCII ) ] :Optional :Output: ASCII |
13 | 13 | [-c[onfig] configFile (NULL ).as(inFile ) ] :Optional :ConfigurationFile |
14 | - [-m[ode] mode (0 ).as(Integer ) ] :Optional :Mode | |
14 | + [-m[ode] mode (1 ).as(Integer ) ] :Optional :Mode | |
15 | 15 | [-C[ontour] Contour (1.0 ).as(Real ) ... ] :Variable :Contour |
16 | 16 | ----- Additional Usage ----- |
17 | 17 | -C : ContourLevels |
@@ -19,7 +19,11 @@ Options: | ||
19 | 19 | 100% 60% 40% |
20 | 20 | ----- Objectives ----- |
21 | 21 | Determine the orientations/molecular axis by PCA alogrism |
22 | - $ mrcImagePCA -i mrc -o parameter -C C1 C2 C3 ... | |
22 | + $ mrcImageShapePCA -i mrc -o parameter -C C1 C2 C3 ... | |
23 | +-m | |
24 | + +1: Sphere (default) | |
25 | + +2: Disk | |
26 | + +4: Cylinder | |
23 | 27 | |
24 | 28 | </PRE> |
25 | 29 | </BODY> |
@@ -10,7 +10,7 @@ | ||
10 | 10 | -I 1 0 1 1 0 1 -1x1+1+1.500000 ' ' 'In' 'Input: mrcImage' i |
11 | 11 | -O 1 0 1 0 0 1 -1x1+1+3.000000 ' ' 'Out' 'Output: ASCII' o |
12 | 12 | -I 1 0 1 0 0 1 -1x1+1+4.500000 ' ' 'configFile' 'ConfigurationFile' c |
13 | - -i 1 0 1 0 0 -1x1+1+6.000000 0 0 0 0 0 'mode' 'Mode' m | |
13 | + -i 1 0 1 0 0 -1x1+1+6.000000 0 0 1 0 0 'mode' 'Mode' m | |
14 | 14 | -f 1 0 1 0 0 -1x1+1+7.500000 0 0 1.000000 0 0 0 'Contour' 'Contour' C |
15 | 15 | -E |
16 | 16 | -E |
@@ -11,13 +11,13 @@ help: | ||
11 | 11 | |
12 | 12 | exec: exec2 |
13 | 13 | @echo "----- Execution Check -----" |
14 | - ../$(OSTYPE)/$(OBJECTNAME) -i data/121p-move.mrc -o data/121p-move.mrc.PCA -C 23696.7 | |
14 | + ../$(OSTYPE)/$(OBJECTNAME) -i data/121p-move.mrc -o data/121p-move.mrc.PCA -C 23696.7 -m 7 | |
15 | 15 | pdbPCA -i data/121p-move.pdb -o data/121p-move.pdb.PCA |
16 | 16 | @echo "----- Calc check -----" |
17 | 17 | |
18 | 18 | exec2: |
19 | 19 | @echo "----- Execution Check -----" |
20 | - ../$(OSTYPE)/$(OBJECTNAME) -i data/myosinSwissModRefine2.mrc -o data/myosinSwissModRefine2.mrc.PCA -C 3.11319 | |
20 | + ../$(OSTYPE)/$(OBJECTNAME) -i data/myosinSwissModRefine2.mrc -o data/myosinSwissModRefine2.mrc.PCA -C 3.11319 -m 7 | |
21 | 21 | pdbPCA -i data/myosinSwissModRefine2.pdb -o data/myosinSwissModRefine2.pdb.PCA |
22 | 22 | @echo "----- Calc check -----" |
23 | 23 |
@@ -10,7 +10,7 @@ usage(char* thisProgram) | ||
10 | 10 | fprintf(stderr, " [-i[nput] In (NULL ).as(inFile::mrcImage ) ] :Essential :Input: mrcImage\n"); |
11 | 11 | fprintf(stderr, " [-o[utput] Out (stdout ).as(outFile::ASCII ) ] :Optional :Output: ASCII\n"); |
12 | 12 | fprintf(stderr, " [-c[onfig] configFile (NULL ).as(inFile ) ] :Optional :ConfigurationFile\n"); |
13 | - fprintf(stderr, " [-m[ode] mode (0 ).as(Integer ) ] :Optional :Mode\n"); | |
13 | + fprintf(stderr, " [-m[ode] mode (1 ).as(Integer ) ] :Optional :Mode\n"); | |
14 | 14 | fprintf(stderr, " [-C[ontour] Contour (1.0 ).as(Real ) ... ] :Variable :Contour\n"); |
15 | 15 | additionalUsage(); |
16 | 16 | } |