scorematrix => "application/x-jalview-scorematrix+text",
pdb => "chemical/x-pdb",
mmcif => "chemical/x-cif",
- mmcif2 => "chemical/x-mcif",
+ mmcif2 => "chemical/x-mmcif",
jalview => "application/x-jalview+xml+zip",
jvl => "application/x-jalview-jvl+text",
annotations => "application/x-jalview-annotations+text",
gff3 => {shortname=>"gff3",name=>"Generic Features Format v3",extensions=>["gff3"]},
features => {shortname=>"features",name=>"Jalview Features",extensions=>["features","jvfeatures"]},
annotations => {shortname=>"annotations",name=>"Jalview Annotations",extensions=>["annotations","jvannotations"]},
+ mmcif => {shortname=>"mmcif",name=>"CIF",extensions=>["cif"]},
mmcif2 => {shortname=>"mmcif2",name=>"mmCIF",extensions=>["mcif","mmcif"]},
jvl => {shortname=>"jvl",name=>"Jalview Launch",extensions=>["jvl"],iconfile=>"Jalview-Launch"},
jnet => {shortname=>"jnet",name=>"JnetFile",extensions=>["concise","jnet"]},
sub xml_escape {
my $x = shift;
# stolen from Pod::Simple::XMLOutStream in base distro
- $x =~ s/([^-\n\t !\#\$\%\(\)\*\+,\.\~\/\:\;=\?\@\[\\\]\^_\`\{\|\}abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789])/'&#'.(ord($1)).';'/eg;
+ $x =~ s/([^-\n\t !\#\$\%\(\)\*\+,\.\~\/\:\;=\?\@\[\\\]\^_\`\{\|\}a-zA-Z0-9])/'&#'.(ord($1)).';'/eg;
return $x;
}