Mod:Hunt Research Group/conv xyz2conf
Appearance
#!/usr/bin/perl $name=$ARGV[0]; $i=1; open(PDB,"${name}.xyz"); while($line=<PDB>){ if($line=~/ NA /){ chomp($line); @data=split(/ +/,$line); $atomType[$i]=$data[1];$atomX[$i]=$data[2];$atomY[$i]=$data[3];$atomZ[$i]=$data[4]; $i++; } if($line=~/ CL /){ chomp($line); @data=split(/ +/,$line); $atomType[$i]=$data[1];$atomX[$i]=$data[2];$atomY[$i]=$data[3];$atomZ[$i]=$data[4]; $i++; } if($line=~/ OH2 /){ chomp($line); @data=split(/ +/,$line); $atomType[$i]=$data[1];$atomX[$i]=$data[2];$atomY[$i]=$data[3];$atomZ[$i]=$data[4]; $i++; } if($line=~/ HO /){ chomp($line); @data=split(/ +/,$line); $atomType[$i]=$data[1];$atomX[$i]=$data[2];$atomY[$i]=$data[3];$atomZ[$i]=$data[4]; $i++; } } open(CFG,">${name}.cfg"); $header="Converted from Packmol XYZ\n"; print CFG $header; printf CFG "%10d%10d%10d%20.6f\n",0,0,0,0; printf CFG "%20.12f%20.12f%20.12f\n",0,0,0; printf CFG "%20.12f%20.12f%20.12f\n",0,0,0; printf CFG "%20.12f%20.12f%20.12f\n",0,0,0; #writing atom types and coordinates into DL_POLY CONFIG for($i=1;$i<=$#atomType;$i++){ printf CFG "%-8s%10d\n",$atomType[$i],$i; printf CFG "%20.6f%20.6f%20.6f\n",$atomX[$i],$atomY[$i],$atomZ[$i]; } close(CFG); close(PDB);