Благодарю! Сейчас напишу по почте. Моя почта
kushelev20120@yandex.ru
Здесь я тоже продублирую, т.к. кому-то может пригодиться тот скрипт, что уже есть.
Этот скрипт рабочий:
newmat = multimaterial name:"MyMultiMat" numsubs: (999)
newmat[1].faceted = on
newmat[2].faceted = on
newmat[3].faceted = on
newmat[4].faceted = on
newmat[5].faceted = on
newmat[6].faceted = on
newmat[7].faceted = on
newmat[8].faceted = on
newmat[9].faceted = on
newmat[1].diffuse = (color 255 0 0)
newmat[2].diffuse = (color 0 255 0)
newmat[3].diffuse = (color 0 0 255)
newmat[4].diffuse = (color 180 100 0)
newmat[5].diffuse = (color 255 0 0)
newmat[6].diffuse = (color 255 0 255)
newmat[7].diffuse = (color 0 0 255)
newmat[8].diffuse = (color 0 255 0)
newmat[9].diffuse = (color 255 255 0)
angx=#(-10,0,0,-10,-10,-1,0,0,-10); angy=#(30,120,30,30,30,50,30,120,30); angz=#(-97,-120,60,-80,-97,-97,60,-120,-97)
dx=#(-1.5,-1,-1.6,-1.5,-1.5,-1.5,-1.6,-1,-1.5); dy=#(0,-0.5,-0.3,0,0,0,-0.3,-0.5,0); dz=#(-1.2,1,1.2,-1.2,-1.2,-1.2,1.2,1,-1.2)
kk=#(5,5,7,5,7,5,7,5,5,7,7,7,5,5,8,5,7,1,1,1,1,4,1,7,8,5,7,5,7,1,1,1,1,7,8,1,1,1,1,1,7,7,5,5,7,4,4,4,7,7,
5,5,7,5,8,7,5,5,7,1,6,1,1,7,7,5,7,1,4,4,1,1,1,7,1,1,1,1,1,7,7,5,7,5,5,5,7,5,7,8,7,5,7,5,5,5,8,5,5,5,
7,5,5,7,7,7,5,5,5,8,5,5,7,7,1,1,1,1,1,1,7,5,7,1,1,1,1,1,1,4,1,1,4,4,1,1,4,1,1,1,1,1,1,4,7,1,1,1,1,7,
5,8,5,5,8,5,5,7,5,5,7,5,5,5,7,5,5,7,4,1,1,1,1,7,7,4,1,4,1,7,5,5,5,8,7,1,4,1,1,7,5,7,5,5,5,8,1,1,1,1,
1,1,1,8,8,7,5,7,5,7,7,1,4,1,6,8,4,4,1,1,1,4,1,7,8,8,7,5,5,7,7,7,1,4,1,1,1,1,7,5,7,5,5,7,5,5,5,7,7,1,
4,1,4,1,4,7,4,1,1,1,1,4,1,7,4,1,1,4,4,1,1,1,1,1,7,8,5,5,7,8,5,7,4,4,1,1,4,4,4,1,1,7,4,4,4,8,7,5,8,7,
1,1,1,1,1,4,8,1,6,1,1,1,1,4,1,4,4,1,7,5,5,5,8,5,5,8,7,7,1,1,1,1,1,4,7,8,5,5,7,5,7,5,5,7,5,5,7,4,1,1,
1,1,7,1,1,1,1,1,1,7,8,1,1,4,1,4,1,1,1,1,7,7,5,5,7,4,1,4,1,1,1,7,7,1,4,1,1,7,5,5,7,5,5,7,8,4,4,1,4,1,
1,1,7,5,7,1,1,1,1,1,1,1,6,7,1,4,1,1,1,1,8,1,4,1,1,1,1,1,7,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,
4,7,7,5,7,5,7,5,7,1,1,1,9,7,5,5,7,5,5,7,5,5,7,5,7,5,7,8,4,4,4,7,5,2,2,2,1,1,1,1,1,8,5,5,5,7,1,4,1,1,
8,8,5,5,5,7,5,7,4,1,1,1,7,5,8,7,5,7,8,5,8,4,1,6,4,4,7,5,8,4,1,1,1,7,5,5,5,7,5,7,1,6,4,1,1,4,1,6,1,1,
1,1,6,1,1,1,1,8,8,1,1,1,6,1,1,7,7,5,5,7,1,1,6,1,1,7,5,5,7,5,7,1,1,1,1,1,4,1,1,7,8,7,5,8,5,8,5,8,5,5,
5,7,5,5,7,5,8,5,7,5,5,5,8,8,5,5,7,5,8,7,5,5,5,8,7,5,7,1,1,1,4,7,5,8,7,4,1,4,1,1,1,1,1,1,6,7,1,4,1,1,
1,1,1,7,5,5,5,7,1,1,1,1,4,7,5,5,7,5,7,1,1,1,1,1,4,1,1,6,1,7,7,1,6,1,1,7,5,5,5,7,8,7,1,1,1,1,1,1,1,4,
1,8,1,1,1,1,4,7,8,5,5,7,1,4,1,1,6,1,1,1,1,1,1,1,1,4,4,1,4,4,1,4,4,1,1,1,7,1,1,4,1,1,1,1,4,7,1,4,1,1,
7,1,1,1,1,1,4,1,1,1,1,1,1,8,5,5,7,1,1,1,1,1,1,4,1,1,1,4,4,8,5,8,7,8,5,7,1,1,1,1,7,5,5,7,5,7,5,5,5,8,
5,7,8,7,5,7,1,1,1,9,7,7,7,1,4,1,1,7,5,8,5,7,5,8,5,7,7,1,1,1,1,7,5,5,5,8,5,5,7)
--
pro=#(0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,1,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0)
angp=#()
angp[14]=0
angp[15]=0
angp[24]=0
angp[25]=0
angp[29]=0
angp[33]=0
angp[34]=0
angp[35]=0
angp[64]=0
angp[74]=0
angp[91]=0
angp[109]=0
angp[110]=0
angp[152]=0
angp[244]=0
angp[275]=0
angp[322]=0
angp[337]=0
angp[361]=0
angp[457]=0
angp[463]=0
angp[502]=0
angp[609]=0
angp[613]=0
angp[614]=0
angp[624]=0
angp[764]=0
angp[795]=0
angp[810]=0
angp[824]=0
angp[836]=0
peptide=box length:0.1 width:0.1 height:0.1 position:[0,0,-.5] wirecolor:[250,250,250]; Converttomesh peptide
peptide.material = newmat[1]
for k = 1 to 839 do(
newmat[k].faceted = on
element = sphere radius:0.7 pos:[0,0,0]; Converttomesh element
element.material = newmat[kk[k]]
attach peptide element; peptide.pivot = [0,0,0]; move peptide [dx[kk[k]],dy[kk[k]],dz[kk[k]]]
rotate peptide angx[kk[k]] [1,0,0]; rotate peptide angy[kk[k]] [0,1,0]; rotate peptide angz[kk[k]] [0,0,1])
***
На первом этапе нужно читать массив kk из файла с неизвестным названием, который находится в подкаталоге Composite9 и имеет расширение txt.
После того, как эта модификация получится, можно будет продолжить совершенствование скрипта. В частности, нужно будет за менить box на 4 объекта, как в этом скрипте:
-- spheres
-- C-alpha
mp4 = sphere radius:0.3 position:[0,2.41,-3.82] wirecolor:[0,0,0]
c8 = Cylinder heightsegs:5 capsegs:1 sides:18 height:3 radius:0.1 position:[0,2.41,-3.82] wirecolor:[255,255,255]
rotate c8 118.7 [1,0,0]
rotate c8 68 [0,0,1]
-- OH-group
mp5 = sphere radius:0.3 position:[0,0,-1.41] wirecolor:[255,0,0]
c5 = Cylinder heightsegs:5 capsegs:1 sides:18 height:3 radius:0.1 position:[0,0,-1.41] wirecolor:[255,255,255]
rotate c5 -80 [1,0,0]
-- c9 = Cylinder heightsegs:5 capsegs:1 sides:18 height:3 radius:0.1 position:[0,0,-1.41] wirecolor:[255,255,255]
-- mp10 = sphere radius:0.3 position:[0,0,1.41] wirecolor:[0,0,0]
--
-- CO-group
mp6 = sphere radius:0.3 position:[0,2.9,-0.9] wirecolor:[0,0,0]
mp7 = sphere radius:0.3 position:[0,4.3,0.5] wirecolor:[255,0,0]
c6 = Cylinder heightsegs:5 capsegs:1 sides:18 height:2 radius:0.1 position:[0,2.9,-0.9] wirecolor:[255,255,255]
rotate c6 -45 [1,0,0]
c7 = Cylinder heightsegs:5 capsegs:1 sides:18 height:3 radius:0.1 position:[0,2.9,-0.9] wirecolor:[255,255,255]
rotate c7 170 [1,0,0]
--
-- NH-group
mp8 = sphere radius:0.3 position:[2.3,1.5,-5.2] wirecolor:[0,0,255]
***
Если вторая модификация тоже пройдёт успешно, тогда нужно будет сделать вывод координат в стандарте PDB, как это сделано в скрипте:
http://nanoworld.narod.ru/EMBLReader023L_20101113.txt
***
Учитывая, что научная работа имеет только начало, понадобится ещё много модификаций скрипта, каждая из которых будет компенсироваться материально.