Ok, it's 8 o'clock in the morning and I need some sleep. But first let's show you some small example, how to detect chemical MIME types with the file(1) command. Put the following stuff into your /etc/magic (the local magic data configuration file for the file(1) command):
0 string VjCD0100 CDX binary file
>8 belong 0x04030201
>>12 bequad 0x0000000000000000
>>>20 beshort 0x0000
>>>>34 string ChemDraw written with ChemDraw
>>>>>42 string x b%.4s
>>>>22 beshort 0x0080 (new format)
>>>>22 beshort 0x0000 (old format)
Now search for a CDX (ChemDraw binary) file and run the file command:
$ find . -name "*.cdx" -exec file "{}" ";"
./example.cdx: data (that's really broken)
./dummy.cdx: lif file (that's a CACTVS file in reality)
./x-chemdraw/structures25-27.cdx: CDX binary file written with ChemDraw 4.5 (old format)
./x-chemdraw/structures96-101.cdx: CDX binary file written with ChemDraw 4.5 (old format)
./x-chemdraw/structures40-48.cdx: CDX binary file written with ChemDraw 4.5 (old format)
./x-chemdraw/dimethylamine.cdx: CDX binary file written with ChemDraw 7.0 (old format)
./x-chemdraw/dimethylaminesimple.cdx: CDX binary file (old format)
./x-chemdraw/untitled.cdx: CDX binary file written with ChemDraw 8.0 (new format)
./x-chemdraw/structures1-12.cdx: CDX binary file written with ChemDraw 4.5 (old format)
Why I do this? The chemical-mime-data package contains magic pattern, that can be used to automatically create the rules for the file command too, so file(1) can determine the chemical MIME type too. Expect a stylesheet to extract this information from the database soon.
And now I will get some sleep.
Update
And here, how to recognize the MIME type. Add the following to /etc/magic.mime:
0 string VjCD0100
>8 belong 0x04030201
>>12 bequad 0x0000000000000000
>>>20 beshort 0x0000
>>>>22 beshort 0x0080 chemical/x-cdx
>>>>22 beshort 0x0000 chemical/x-cdx
and run the file(1) command with the -i switch:
$ find . -name "*.cdx" -exec file -i "{}" ";"
./example.cdx: application/octet-stream
./dummy.cdx: application/octet-stream
./x-chemdraw/structures25-27.cdx: chemical/x-cdx
./x-chemdraw/structures96-101.cdx: chemical/x-cdx
./x-chemdraw/structures40-48.cdx: chemical/x-cdx
./x-chemdraw/dimethylamine.cdx: chemical/x-cdx
./x-chemdraw/dimethylaminesimple.cdx: chemical/x-cdx
./x-chemdraw/untitled.cdx: chemical/x-cdx
./x-chemdraw/structures1-12.cdx: chemical/x-cdx
And now I really get some sleep. Cheerio!