xref: /freebsd/contrib/file/magic/Magdir/scientific (revision 7877fdebeeb35fad1cbbafce22598b1bdf97c786)
1
2#------------------------------------------------------------------------------
3# $File: scientific,v 1.13 2019/04/19 00:42:27 christos Exp $
4# scientific:  file(1) magic for scientific formats
5#
6# From: Joe Krahn <krahn@niehs.nih.gov>
7
8########################################################
9# CCP4 data and plot files:
100	string		MTZ\040		MTZ reflection file
11
1292	string		PLOT%%84	Plot84 plotting file
13>52	byte		1		, Little-endian
14>55	byte		1		, Big-endian
15
16########################################################
17# Electron density MAP/MASK formats
18
190	string		EZD_MAP	NEWEZD Electron Density Map
20109	string		MAP\040(  Old EZD Electron Density Map
21
220	string/c	:-)\040Origin	BRIX Electron Density Map
23>170	string		>0	, Sigma:%.12s
24#>4	string		>0	%.178s
25#>4	addr		x	%.178s
26
277	string		18\040!NTITLE	XPLOR ASCII Electron Density Map
289	string		\040!NTITLE\012\040REMARK	CNS ASCII electron density map
29
30208	string		MAP\040	CCP4 Electron Density Map
31# Assumes same stamp for float and double (normal case)
32>212	byte		17	\b, Big-endian
33>212	byte		34	\b, VAX format
34>212	byte		68	\b, Little-endian
35>212	byte		85	\b, Convex native
36
37############################################################
38# X-Ray Area Detector images
390	string	R-AXIS4\ \ \ 	R-Axis Area Detector Image:
40>796	lelong	<20		Little-endian, IP #%d,
41>>768	lelong	>0		Size=%dx
42>>772	lelong	>0		\b%d
43>796	belong	<20		Big-endian, IP #%d,
44>>768	belong	>0		Size=%dx
45>>772	belong	>0		\b%d
46
470	string	RAXIS\ \ \ \ \ 	R-Axis Area Detector Image, Win32:
48>796	lelong	<20		Little-endian, IP #%d,
49>>768	lelong	>0		Size=%dx
50>>772	lelong	>0		\b%d
51>796	belong	<20		Big-endian, IP #%d,
52>>768	belong	>0		Size=%dx
53>>772	belong	>0		\b%d
54
55
561028	string	MMX\000\000\000\000\000\000\000\000\000\000\000\000\000	MAR Area Detector Image,
57>1072	ulong	>1		Compressed(%d),
58>1100	ulong	>1		%d headers,
59>1104	ulong	>0		%d x
60>1108	ulong	>0		%d,
61>1120	ulong	>0		%d bits/pixel
62
63# Type: GEDCOM genealogical (family history) data
64# From: Giuseppe Bilotta
650       search/1/c	0\ HEAD         GEDCOM genealogy text
66>&0     search		1\ GEDC
67>>&0    search		2\ VERS         version
68>>>&1   string		>\0		%s
69# From: Phil Endecott <phil05@chezphil.org>
700	string	\000\060\000\040\000\110\000\105\000\101\000\104		GEDCOM data
710	string	\060\000\040\000\110\000\105\000\101\000\104\000		GEDCOM data
720	string	\376\377\000\060\000\040\000\110\000\105\000\101\000\104	GEDCOM data
730	string	\377\376\060\000\040\000\110\000\105\000\101\000\104\000	GEDCOM data
74
75# PDB: Protein Data Bank files
76# Adam Buchbinder <adam.buchbinder@gmail.com>
77#
78# https://www.wwpdb.org/documentation/format32/sect2.html
79# https://www.ch.ic.ac.uk/chemime/
80#
81# The PDB file format is fixed-field, 80 columns. From the spec:
82#
83# COLS        DATA
84#  1 -  6      "HEADER"
85#  11 - 50     String(40)
86#  51 - 59     Date
87#  63 - 66     IDcode
88#
89# Thus, positions 7-10, 60-62 and 67-80 are spaces. The Date must be in the
90# format DD-MMM-YY, e.g., 01-JAN-70, and the IDcode consists of numbers and
91# uppercase letters. However, examples have been seen without the date string,
92# e.g., the example on the chemime site.
930	string	HEADER\ \ \ \040
94>&0	regex/1l	\^.{40}
95>>&0	regex/1l	[0-9]{2}-[A-Z]{3}-[0-9]{2}\ {3}
96>>>&0	regex/1ls	[A-Z0-9]{4}.{14}$
97>>>>&0	regex/1l	[A-Z0-9]{4}	Protein Data Bank data, ID Code %s
98!:mime	chemical/x-pdb
99>>>>0	regex/1l	[0-9]{2}-[A-Z]{3}-[0-9]{2}	\b, %s
100
101# Type:	GDSII Stream file
1020	belong	0x00060002	GDSII Stream file
103>4	byte	0x00
104>>5	byte	x		version %d.0
105>4	byte	>0x00		version %d
106>>5	byte	x		\b.%d
107
108# Type: LXT (interLaced eXtensible Trace)
109# chrysn <chrysn@fsfe.org>
1100	beshort	0x0138	interLaced eXtensible Trace (LXT) file
111>2	beshort	>0	(Version %u)
112