CCL Home Page
Up Directory CCL mdf2connect.awk
#!/usr/local/bin/nawk -f
# input: DISCOVER mdf file
# output: connectivity

# strip parts from atom reference, residue and atom name remain
function format_atom_name(name){
	if ( name ~ /_/ ) {
		split(name,s,"_")
		name = s[2]
	}
	if ( name ~ /\// ){
		split(name,s,"/")
		name = s[1]
	}
	return(name)
}


BEGIN{
	if ( FILENAME == "-" ) {
		print "usage: mdf2connect.awk "
		exit
	}
}
/@molecule/,/#atomset/{
	if ( NF >= 12 ) {
		# print name of first atom
		first = format_atom_name($1)
		printf "%-10s\t\t",first
		# current residue
		split(first,s,":")
		residue = s[1]
		# print names of connected atoms
		for ( i=13 ; i<= NF ; ++i ) {
			name = format_atom_name($i)
			if ( name !~ /:/ ) name = residue ":" name
			printf "%s ",name
		}
		printf "\n"
	}
}
Modified: Wed Nov 13 17:00:00 1996 GMT
Page accessed 382 times since Thu Apr 11 18:51:53 2002 GMT