scientific
7 scientific types: 6 a sibling also accepts and reads alike, 5 that decompose into parts.
The 7 scientific types
Each type's first registry sample, against every sibling's rule
| Type | Sample | Also accepted by |
|---|---|---|
DNA Sequence dna_sequence · VARCHAR | ATGCAGC | protein_sequence; smiles |
CAS Registry Number cas_number · VARCHAR | 7732-18-5 | smiles |
InChI Identifier inchi · VARCHAR | InChI=1S/H2O/h1H2 | smiles |
Measurement Unit measurement_unit · VARCHAR | meter | smiles |
Protein Sequence protein_sequence · VARCHAR | MKVLLIVGS | smiles |
RNA Sequence rna_sequence · VARCHAR | AUGCAGC | smiles |
SMILES Notation smiles · VARCHAR | O | — |
Which scientific type is it?
3 of 7 scientific types accept it, and read it alike.
Measurement Unit carries no pattern or format, so it has no rule to ask.
| Type | Reads it as |
|---|---|
DNA Sequence dna_sequence | ATGCAGC |
Protein Sequence protein_sequence | ATGCAGC |
SMILES Notation smiles | ATGCAGC |
How the engine tells them apart
- DNA Sequence — IUPAC notation: A=Adenine, T=Thymine, G=Guanine, C=Cytosine Plus ambiguity codes: R, Y, S, W, K, M, B, D, H, V, N.
- Protein Sequence — Standard: A, C, D, E, F, G, H, I, K, L, M, N, P, Q, R, S, T, V, W, Y Ambiguity: B (D or N), Z (E or Q), X (any), * (stop codon)
- RNA Sequence — IUPAC notation: A=Adenine, U=Uracil, G=Guanine, C=Cytosine Plus ambiguity codes.
Use it
CLI · DuckDB
$ printf '%s\n' 'ATGCAGC' 'GCTAGCTAGCTAG' > column.txt
$ finetype infer -f column.txt --mode column
SELECT ft_profile(v) FROM (VALUES ('ATGCAGC'), ('GCTAGCTAGCTAG')) t(v);After GCTAGCTAGCTAG, 3 types remain: dna_sequence, protein_sequence, smiles.