Rev 16998 | Blame | Compare with Previous | Last modification | View Log | RSS feed
!if $wims_read_parm!=slib_header
!goto proc
!endif
slib_author=Bernadette, Perrin-Riou
slib_example=c2h2f2,label=false scale=0.8 height=300 width=300\
cl2o,label=true scale=1 height=300 width=300
!exit
:proc
slib_data = !item 1 of $wims_read_parm
slib_option= !item -1 of $wims_read_parm
slib_atom=
!default slib_cnt=0
slib_cnt= $[$slib_cnt +1]
Préliminaires : mettre dans un fichier la correspondance
atome couleur, rayon.
!for slib_a in label,scale,box,bonds,bgcolor,bondcolor,format,width,height
slib_$slib_a=!getopt $slib_a in $slib_option
!next slib_a
!default slib_label=false
!default slib_bgcolor=000000
!default slib_bondcolor=9966CC
!default slib_box=false
!default slib_bonds=true
!default slib_scale=0.8
!default slib_format=pdb
!default slib_width=300
!default slib_height=300
slib_out=
slib_cnt_word=!wordcnt $slib_data
!if $slib_cnt_word=1
slib_data=!record 0 of data/molecule_pdb/$slib_data.pdb
!endif
!if $slib_format issametext pdb
slib_nr=!linecnt $slib_data
slib_atomes=
slib_liens=
slib_Atom=
slib_data= !replace internal , by . in $slib_data
!for slib_i=1 to $slib_nr
slib_l=!line $slib_i of $slib_data
slib_n=!charcnt $slib_l
slib_nom=!char 1 to 6 of $slib_l
slib_nom = !nospace $slib_nom
!if $slib_nom iswordof HETATM ATOM
slib_atom=!char 13 to 14 of $slib_l
slib_L =!char 32 to 54 of $slib_l
slib_L = $slib_atom $slib_L
slib_atomes=!append line $slib_L to $slib_atomes
slib_atom=!trim $slib_atom
slib_atom1=!lookup $slib_atom in slib/chemistry/atom
!if $slib_atom1!=$empty
slib_atom2=!item 4,3 of $slib_atom1
slib_atom2 = !items2words $slib_atom2
slib_Atom=!append line ATOM $slib_atom $slib_atom2 to $slib_Atom
!endif
!endif
!if $slib_nom issametext COMPND
slib_nommolecule=!words 2 of $slib_l
!endif
!if $slib_nom issametext CONECT
slib_L = !char 10 to -1 of $slib_l
slib_L = !words2items $slib_L
slib_liens=!append line $slib_L to $slib_liens
!endif
!next i
slib_nbatomes=!linecnt $slib_atomes
slib_nbliens=!linecnt $slib_liens
!for slib_nb=1 to $slib_nbliens
slib_r=!line $slib_nb of $slib_liens
slib_cnt_r=!itemcnt $slib_r
slib_lien1=!item 1 of $slib_r
slib_lien2=!item 2 to -1 of $slib_r
slib_lien2=!items2words $slib_lien2
slib_r1=!line $slib_lien1 of $slib_atomes
slib_r1=$slib_r1 $slib_lien2
slib_atomes=!replace internal line number $slib_lien1 by $slib_r1 in $slib_atomes
!next slib_nb
!else
slib_atomes=$slib_data
!endif
slib_atomes=!translate $ $ to $\
$ in $slib_atomes
slib_fichier=fichier.$slib_cnt
!readproc oef/togetfile.proc $slib_fichier new\
$slib_Atom\
$slib_atomes
slib_out=$wims_ref_name?session=$session&+cmd=getfile&+special_parm=$slib_fichier
slib_out=<object type="application/x-java-applet;jpi-version=1.4" \
classid="java:LatticeViewer.class" width="$slib_width" height="$slib_height">\
<param name="java_codebase" value="java/Lattice">\
<param name="java_code" value="LatticeViewer.class">\
<param name="java_archive" value="Lattice.jar">\
<param name="model" value="$slib_out">\
<param name="label" value="$slib_label">\
<param name="scale" value="$slib_scale">\
<param name="box" value="$slib_box">\
<param name="bonds" value="$slib_bonds">\
<param name="bgcolor" value="$slib_bgcolor">\
<param name="bondcolor" value="$slib_bondcolor">\
</object>