Am Freitag, den 12.12.2008, 18:03 +0100 schrieb Steffen Moeller:
> Hello,
> 
> I am so busy that I followed my attention deficit disorder a bit and came up 
> with those
> magic for the "file" command. They seem to work. Before I place a wishlist to 
> file, please
> be so kind to check them for me a bit:
> 
> 
> sudo cat >> /etc/magic <<EOMAGIC
> # Sybil mol2 format
> 0       string          @<TRIPOS>       Sybil Mol2 molecular coordinates

There can be comments before this string. But one can search for a
string with file.

> # Ghemical gpr format
> 0       string          !Header\ gpr    ghemical molecular coordinates

One of the possible patterns for this format.

> # Protein Data Bank
> 0       string          HEADER\ \ \ \   PDB structure

That's pretty much generic. However, the PDB format is not very strict
(and there are a lot of applications, which produce, broken PDB). So it
is hard to detect.

> EOMAGIC
> 
> Extensions welcome

The chemical-mime project already creates these magic entries from the
database. But there is no way to "extend" files magic database.
Everything has to be written into /etc/magic(.mime) by hand.

I currently prepare the pattern directly from the shared-mime-info
database entries for these files. But this is some kind of pain
(although it runs automatically). Maybe I will simply write a plain text
file and distribute it with the next cmd release.

Here is the overview for chemical file types (inlcuding pattern):
http://chemical-mime.sourceforge.net/chemical-mime-data.html

And attached the produced magic file.

PS: I'm currently not in favour of asking for an official addition of
these magic pattern to file project, because the chemical MIME types
have never been registered with the IANA.

PPS: Hope, you are fine!

Regards, Daniel
#  This file is part of the chemical-mime-data package.
#  It is distributed under the GNU Lesser General Public License version 2.1.
#
#  Database: '$Id: chemical-mime-database.xml.in 150 2008-02-16 02:47:40Z 
dleidert $'


# This file was created automatically by cmd_file-magic.xsl.        
# Copy or append its content to file(1)'s MIME magic database (on      
# Debian systems, it's the file /etc/magic.mime.                       


# chemical/x-pdb 85
0       string  HEADER\ \ \ \   chemical/x-pdb
0       string  HEADER\ \ \ \   chemical/x-pdb
0       string  TITLE\ \ \ \ \  chemical/x-pdb
0       string  REMARK\         chemical/x-pdb
0       string  AUTHOR\ \ \ \   chemical/x-pdb
0       string  COMPND\ \ \ \   chemical/x-pdb
0       string  MODEL\ \ \ \ \ \ \ \ 1  chemical/x-pdb
0       string  TER\ \ \ \ \ \ \ 1\ \ \ \ \ \   chemical/x-pdb
0       string  CRYST1\ \ \ \   chemical/x-pdb
0       string  ATOM\ \ \ \ \ \ 1\      chemical/x-pdb
0       string  HETATM\ \ \ \ 1\        chemical/x-pdb

# chemical/x-cmtx 80
0       string  TITL
>5      search/76       NOTE    chemical/x-cmtx
0       string  MOLE
>5      search/76       TITL
>>10    search/151      NOTE    chemical/x-cmtx

# chemical/x-gamess-input 80
0       search/80       $CONTRL
>8      search/72       AIMPAC  chemical/x-gamess-input
>8      search/72       CCTYP   chemical/x-gamess-input
>8      search/72       CITYP   chemical/x-gamess-input
>8      search/72       COORD   chemical/x-gamess-input
>8      search/72       DFTTYP  chemical/x-gamess-input
>8      search/72       EXETYP  chemical/x-gamess-input
>8      search/72       FRIEND  chemical/x-gamess-input
>8      search/72       GEOM    chemical/x-gamess-input
>8      search/72       GRDTYP  chemical/x-gamess-input
>8      search/72       ICHARG  chemical/x-gamess-input
>8      search/72       ICUT    chemical/x-gamess-input
>8      search/72       INTTYP  chemical/x-gamess-input
>8      search/72       ISPHER  chemical/x-gamess-input
>8      search/72       ITOL    chemical/x-gamess-input
>8      search/72       LOCAL   chemical/x-gamess-input
>8      search/72       MAXIT   chemical/x-gamess-input
>8      search/72       MOLPLT  chemical/x-gamess-input
>8      search/72       MPLEVEL chemical/x-gamess-input
>8      search/72       MULT    chemical/x-gamess-input
>8      search/72       NPRINT  chemical/x-gamess-input
>8      search/72       NORMF   chemical/x-gamess-input
>8      search/72       NORMP   chemical/x-gamess-input
>8      search/72       NOSYM   chemical/x-gamess-input
>8      search/72       NUMGRD  chemical/x-gamess-input
>8      search/72       NZVAR   chemical/x-gamess-input
>8      search/72       PLTORB  chemical/x-gamess-input
>8      search/72       PP      chemical/x-gamess-input
>8      search/72       QMTTOL  chemical/x-gamess-input
>8      search/72       RELWFN  chemical/x-gamess-input
>8      search/72       RUNTYP  chemical/x-gamess-input
>8      search/72       SCFTYP  chemical/x-gamess-input
>8      search/72       TDDFT   chemical/x-gamess-input
>8      search/72       TREST   chemical/x-gamess-input
>8      search/72       UNITS   chemical/x-gamess-input
>8      search/72       $END    chemical/x-gamess-input

# chemical/x-genbank 80
0       string  \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ GENETIC\ SEQ
>&0     string  UENCE\ DATA\ BANK       chemical/x-genbank
0       string  LOCUS\ \ \ \ \ \ \      chemical/x-genbank

# chemical/x-shelx 80
0       string  TITL
>5      search/76       CELL    chemical/x-shelx

# application/x-chemtool 50
0       string  Chemtool\ Version\      application/x-chemtool

# application/x-ghemical 50
0       string  \!Header\ gpr\ 
>12     string  100\n   application/x-ghemical
>12     string  110\n   application/x-ghemical
>12     string  111\n   application/x-ghemical
0       string  \!Header\ mmlgp\ 
>14     string  100\n   application/x-ghemical

# application/x-jmol-voxel 50
0       string  JVXL\   application/x-jmol-voxel

# application/x-xdrawchem 50
0       search/256      \<\!DOCTYPE\ xdrawchem  application/x-xdrawchem
0       search/64       \<xdrawchem     application/x-xdrawchem

# chemical/x-cactvs-ascii 50
0       string  #
>0      search/100      Cactvs\ NMDSAscii\ by   chemical/x-cactvs-ascii

# chemical/x-cactvs-binary 50
8       byte    07
>9      string  CACTVSBIN       chemical/x-cactvs-binary

# chemical/x-cactvs-table 50
0       string  CACTVS\ QSAR\ Table     chemical/x-cactvs-table

# chemical/x-cdx 50
0       string  VjCD0100
>8      lelong  0x01020304
>>12    lelong  0x00000000
>>>16   lelong  0x00000000
>>>>20  lelong  0x80000000      chemical/x-cdx
>>>>20  lelong  0x00000000      chemical/x-cdx

# chemical/x-cdxml 50
0       search/256      \<\!DOCTYPE\ CDXML      chemical/x-cdxml
0       search/64       \<CDXML chemical/x-cdxml

# chemical/x-chem3d-xml 50
0       search/256      \<\!DOCTYPE\ C3XML      chemical/x-chem3d-xml
0       search/64       \<C3XML chemical/x-chem3d-xml

# chemical/x-cif 50
0       string  #\\#CIF_1.1
>10     byte    9       chemical/x-cif
>10     byte    10      chemical/x-cif
>10     byte    13      chemical/x-cif

# chemical/x-cmdf 50
0       string  CMDFCrystalMakerM       chemical/x-cmdf
0       string  CMD5(CrystalMaker)      chemical/x-cmdf

# chemical/x-cml 50
0       search/256      \<\!DOCTYPE\ cml        chemical/x-cml
0       search/256      \<\!DOCTYPE\ molecule   chemical/x-cml
0       search/64       \<cml   chemical/x-cml
0       search/64       \<molecule      chemical/x-cml

# chemical/x-cmmf 50
0       string  CMMFCrystalMakerM       chemical/x-cmmf
0       string  CMM5(CrystalMaker)      chemical/x-cmmf

# chemical/x-ctx 50
0       string  \ /IDENT\ \ \ \ \ \ \ \         chemical/x-ctx

# chemical/x-embl-dl-nucleotide 50
0       string  ID\ \ \         chemical/x-embl-dl-nucleotide

# chemical/x-fasta 50
0       string  \>
>1      string  bbs|    chemical/x-fasta
>1      string  gi|     chemical/x-fasta
>1      string  gnl|    chemical/x-fasta
>1      string  lcl|    chemical/x-fasta
>1      string  pat|    chemical/x-fasta
>1      string  pdb|    chemical/x-fasta
>1      string  pir||   chemical/x-fasta
>1      string  prf||   chemical/x-fasta
>1      string  ref|    chemical/x-fasta
>1      string  sp|     chemical/x-fasta

# chemical/x-gamess-output 50
0       string  -----\ GAMESS\ execution\ script\ 
>&0     string  -----   chemical/x-gamess-output
65      search/65       GAMESS\ VERSION\ =
>584    search/1        \n\n\ EXECUTION\ OF\ GAMESS\ BEGUN      
>chemical/x-gamess-output

# chemical/x-gaussian-log 50
1       string  Entering\ Gaussian\ System,\ Link
>&0     string  \ 0=    chemical/x-gaussian-log

# chemical/x-gcg8-sequence 50
0       string  \!\!AA_SEQUENCE\ 1.0\n  chemical/x-gcg8-sequence
0       string  \!\!NA_SEQUENCE\ 1.0\n  chemical/x-gcg8-sequence
0       string  GCG8\ format\ protein\ sequence\n
>&0     string  \nGCG8  chemical/x-gcg8-sequence

# chemical/x-gulp 50
81      search/79       GENERAL\ UTILITY\ LATTICE\ PROGRA
>161    search/79       Julian\ Gale
>>241   search/79       Nanochemistry\ Research\ Institu
>>>&0   string  te
>>>>321 search/79       Curtin\ University\ of\ Technolog
>>>>>&0 string  y,\ Western\ Australia  chemical/x-gulp
>161    search/79       Julian\ Gale,\ NRI,\ Curtin\ Unive
>>&0    string  rsity   chemical/x-gulp

# chemical/x-hin 50
0       string  mol\ 1\ 
>6      search/58       .hin
>>12    search/116      atom\ 1 chemical/x-hin

# chemical/x-inchi 50
0       string  InChI=  chemical/x-inchi

# chemical/x-inchi-xml 50
0       search/64       \<INChI chemical/x-inchi-xml

# chemical/x-isostar 50
0       string  #\ Isostar\ Scatter\ Plot       chemical/x-isostar

# chemical/x-kinemage 50
0       string  \<title\>
>17     search/223      \...@text       chemical/x-kinemage
>17     search/223      \...@kinemage   chemical/x-kinemage
0       string  @text   chemical/x-kinemage
0       string  @kinemage       chemical/x-kinemage

# chemical/x-mdl-rdfile 50
0       string  $RDFILE\ 1\n
>10     string  $DATM   chemical/x-mdl-rdfile

# chemical/x-mdl-rxnfile 50
0       string  $RXN\n  chemical/x-mdl-rxnfile
0       string  $RXN\ V3000\n   chemical/x-mdl-rxnfile

# chemical/x-mdl-xdfile 50
0       search/64       \<XDfile        chemical/x-mdl-xdfile

# chemical/x-mol2 50
0       search/800      @\<TRIPOS\>MOLECULE\x0D chemical/x-mol2

# chemical/x-mopac-out 50
81      search/79       MOPAC
>81     search/79       (c)\ Fujitsu    chemical/x-mopac-out
81      search/79       MOPAC   chemical/x-mopac-out

# chemical/x-msi-car 50
0       string  \!BIOSYM\ archive\      chemical/x-msi-car

# chemical/x-msi-hessian 50
0       string  $hessian        chemical/x-msi-hessian

# chemical/x-msi-mdf 50
0       string  \!BIOSYM\ molecular_data\       chemical/x-msi-mdf

# chemical/x-msi-msi 50
0       string  #\ MSI\ CERIUS2\ DataModel\ File\ V
>&0     string  ersion\         chemical/x-msi-msi

# chemical/x-ncbi-asn1 50
0       string  PC-AssayContainer       chemical/x-ncbi-asn1
0       string  PC-Compound     chemical/x-ncbi-asn1
0       string  PC-InfoData     chemical/x-ncbi-asn1
0       string  PC-ID   chemical/x-ncbi-asn1
0       string  PC-Source       chemical/x-ncbi-asn1
0       string  PC-Substance    chemical/x-ncbi-asn1
0       string  PC-XRefData     chemical/x-ncbi-asn1

# chemical/x-ncbi-asn1-binary 50
0       lelong  0x803080A0
>4      lelong  0x80308030      chemical/x-ncbi-asn1-binary
0       lelong  0x80308030
>4      lelong  0x803080A0      chemical/x-ncbi-asn1-binary

# chemical/x-ncbi-asn1-xml 50
0       search/64       \<PC-AssayContainer     chemical/x-ncbi-asn1-xml
0       search/64       \<PC-Compound   chemical/x-ncbi-asn1-xml
0       search/64       \<PC-ID chemical/x-ncbi-asn1-xml
0       search/64       \<PC-InfoData   chemical/x-ncbi-asn1-xml
0       search/64       \<PC-Source     chemical/x-ncbi-asn1-xml
0       search/64       \<PC-Substance  chemical/x-ncbi-asn1-xml
0       search/64       \<PC-XRefData   chemical/x-ncbi-asn1-xml

# chemical/x-pdbml 50
0       search/64       \<PDBx:datablock        chemical/x-pdbml
0       search/64       \<datablock     chemical/x-pdbml

# chemical/x-qchem-output 50
20      string  Welcome\ to\ Q-Chem
>41     string  A\ Quantum\ Leap\ Into\ The\ Future
>>&0    string  \ Of\ Chemistry chemical/x-qchem-output

# chemical/x-swissprot 50
0       string  ID\ \ \         chemical/x-swissprot

# chemical/x-turbomole-basis 50
0       string  $basis\n        chemical/x-turbomole-basis

# chemical/x-turbomole-control 50
0       string  $title\n        chemical/x-turbomole-control
0       string  $operating\ system\ unix\n      chemical/x-turbomole-control

# chemical/x-turbomole-coord 50
0       string  $coord\n        chemical/x-turbomole-coord

# chemical/x-turbomole-grad 50
0       string  $grad\  chemical/x-turbomole-grad

# chemical/x-turbomole-input 50
0       string  %method\n
>8      string  ENRGY\ ::\      chemical/x-turbomole-input
>8      string  FORCE\ ::\      chemical/x-turbomole-input
>8      string  GEOMY\ ::\      chemical/x-turbomole-input
>8      string  GRADI\ ::\      chemical/x-turbomole-input

# chemical/x-turbomole-jbas 50
0       string  $jbas\  chemical/x-turbomole-jbas

# chemical/x-turbomole-scfmo 50
0       string  $scfmo\         chemical/x-turbomole-scfmo

# chemical/x-vamas-iso14976 50
0       string  VAMAS\ Surface\ Chemical\ Analysi
>&0     string  s\ Standard\ Data\ Transfer\ Forma
>>&0    string  t\ 1988\ May\ 4 chemical/x-vamas-iso14976

# chemical/x-vmd 50

Reply via email to