+$fileformats = "../../src/jalview/io/FileFormat.java" unless $fileformats;
+
+# default mimetype will be text/x-$shortname
+# TODO: find an actual extension for mat, see JAL-Xxxxx for outstanding issues too
+# TODO: look up standard mime type used for BLASTfmt matrices, etc
+my $mimetypes = {
+ rnaml => "application/rnaml+xml",
+ biojson => "application/x-jalview-biojson+json",
+ jnet => "application/x-jalview-jnet+text",
+ features => "application/x-jalview-features+text",
+ scorematrix => "application/x-jalview-scorematrix+text",
+ pdb => "chemical/x-pdb",
+ mmcif => "chemical/x-cif",
+ mmcif2 => "chemical/x-mcif",
+ jalview => "application/x-jalview+xml+zip",
+ jvl => "application/x-jalview-jvl+text",
+ annotations => "application/x-jalview-annotations+text",
+};
+
+my @dontaddshortname = qw(features json);
+my @dontaddextension = qw(html xml json jar mfa fastq);
+my $add_associations = {
+ biojson => {shortname=>"biojson",name=>"BioJSON",extensions=>["biojson"]},
+ gff2 => {shortname=>"gff2",name=>"Generic Features Format v2",extensions=>["gff2"]},
+ 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"]},
+ mmcif2 => {shortname=>"mmcif2",name=>"mmCIF",extensions=>["mcif","mmcif"]},
+ jvl => {shortname=>"jvl",name=>"Jalview Version Locator",extensions=>["jvl"],iconfile=>"Jalview-Version-Locator"},
+ jnet => {shortname=>"jnet",name=>"JnetFile",extensions=>["concise","jnet"]},
+ scorematrix => {shortname=>"scorematrix",name=>"Substitution Matrix",extensions=>["mat"]},
+};
+my $add_extensions = {
+ blc => ["blc"],
+};
+my @put_first = qw(jalview jvl);