#!/usr/bin/env icarus
# ICLC Animal Cell Lines Database - Syntax file
# Version 2004.12.17.01
# Last Updated December 17, 2004
# Author: Domenico Marra & Francesca Piersigilli & Paolo Romano
# (c) CABRI 1999-2023
$fn={
Accession_number:acc_no # MDS
Cell_line_name:cell_line_name # MDS
Brief_description:brief # MDS
Description:description # MDS
Depositor:depositor # MDS
Bibliographic_reference:biblio_ref # MDS
Morphology:morph # MDS
Culture_conditions:culture_conditions # MDS
Viruses:viruses # MDS
Properties:properties # MDS
Release_conditions:rel_cond # MDS
Hazard:hazard # MDS
Passage_number:pass_no # RDS
Species_validation:spec_valid # RDS
Tumorigenicity:tumor # FDS
Karyology:karyology # FDS
Freezing_medium:freezing_medium # FDS
Sterility:sterility # FDS
Validation_assays:val_assays # FDS
Further_bibliography:further_biblio # FDS
Comments:comments # FDS
}
$rules={
entry: ~ {$In:[file:text] $Out pre $Skip:0}
('Accession_number' {$Not} ln)*
('Accession_number' {$entryFip=$Fip $Wrt} ln {$App}
('Accession_number' {$Not} ln {$App})*)?
~
# fields
fields: ~ {$In:entry $Out $Skip:1}
(/\/[^\n]+\n/ {$Wrt} |
word {$Wrt:$fn.$Ct}
(/[\/A-Z]/ {$Not} ln {$App})+)+ ~
#indexing
acc_no: ~ {$In:[fields c:acc_no] $Out}
word ' ' (word2{$Wrt} |punct4)* ~
strX: ~ {$In:[fields c:{cell_line_name brief description depositor
morph culture_conditions viruses
properties rel_cond hazard pass_no spec_valid
tumor karyology freezing_medium sterility
val_assays comments}] $Out}
word (str{$Uniq:$Itc} | /./ |punct2)* ~
biblio_ref: ~ {$In:[fields c:biblio_ref] $Out}
bib_tag
(bib_word {$Uniq:$Itc} | bib_vol | bib_punct | ' ')*
('[PMID: ' pmid {$Uniq:$Itc} ']')? ~
further_biblio: ~ {$In:[fields c:further_biblio] $Out}
bib_tag
(bib_word {$Uniq:$Itc} | bib_vol | bib_punct | ' ')*
('[PMID: ' pmid {$Uniq:$Itc} ']')?
(' <BR>' (bib_word {$Uniq:$Itc} | bib_vol | bib_punct | ' ')*
('[PMID: ' pmid {$Uniq:$Itc} ']')? )*
~
cell_line_name: ~ {$In:[fields c:cell_line_name] $Out}
word (word { $Wrt:[ s:$StrRep:[s:$Ct r:"[\/|\.|-]" to:""]] }
| /./ | punct)* ~
#HTML stuff
h_top: ~ {$In:[fields c:acc_no t:html] pre if:$ParInt:isTable $Fail}
word {$Rep:
|</TR><TR VALIGN=TOP>
|<TD colspan=2 bgcolor=\"#ffffff\">
|<font color=\"#000066\">
|<B>CABRI:($entry.libName)</B></TD>
|</TR>
|<TR VALIGN=TOP><TD bgcolor=\"#ffffff\">
|<font color=\"#000066\">
|<b><i>$Ct</i></b></font></TD><TD bgcolor=\"#ffffff\">
}
/.*/ {$Rep:"$Ct</TD></TR>"} ~
h_fields: ~ {$In:[fields xc:{biblio_ref further_biblio} t:html]
pre if:$ParInt:isTable $Fail}
word {if:$isTable==0 $Rep:
|<TR VALIGN=TOP><TD bgcolor=\"#ffffff\">
|<font color=\"#000066\">
|<b><i>$Ct</i></b></font></TD>
|<TD bgcolor=\"#ffffff\">
}
/.*/ {$Rep:"$Ct</TD></TR>"} ~
h_biblio_ref: ~ {$In:[fields c:biblio_ref t:html]
pre if:$ParInt:isTable $Fail}
bib_tag {if:$isTable==0 $Rep:
|<TR VALIGN=TOP><TD bgcolor=\"#ffffff\">
|<font color=\"#000066\">
|<b><i>$Ct</i></b></font></TD>
|<TD bgcolor=\"#ffffff\">
}
/[^\\[]*/
('[PMID: ' pmid {$Rep:$Hlink:[pubmedCabriR p:{$Ct $Ct}]} ']')?
x{$Rep:"</TD></TR>"} ~
h_further_biblio: ~ {$In:[fields c:further_biblio t:html]
pre if:$ParInt:isTable $Fail}
bib_tag {if:$isTable==0 $Rep:
|<TR VALIGN=TOP><TD bgcolor=\"#ffffff\">
|<font color=\"#000066\">
|<b><i>$Ct</i></b></font></TD>
|<TD bgcolor=\"#ffffff\">
}
/[^\\[]*/
('[PMID: ' pmid {$Rep:$Hlink:[pubmedCabriR p:{$Ct $Ct}]} ']')?
( /[^\\[]*/
('[PMID: ' pmid {$Rep:$Hlink:[pubmedCabriR p:{$Ct $Ct}]} ']')?)*
x{$Rep:"</TD></TR>"} ~
t_fields: ~ {$In:fields $Out} tag /.*/ {$Wrt:$Itc} ~
# definitions
tag: ~ word ~
bib_tag: ~ ('Bibliographic_reference'|'Further_bibliography') ~
bib_word: ~ /[a-zA-Z]+/ ~
bib_punct: ~ /[;:.-]/ ~
bib_vol: ~ (number bib_punct?)+ ~
pmid: ~ /[0-9]+/ ~
number: ~ /[0-9]+/ ~
ln: ~ /[^\n]*\n/ ~
word: ~ /[0-9a-zA-Z_\\.\\?\/-]+/ ~
word2: ~ /[ 0-9a-zA-Z_\\.\\?\/-]+/ ~
punct: ~ /[ \t,;:\\(\\)\\.\\+\\*]+/ ~
punct2: ~ /[ \t;\\(\\)]+/ ~
str: ~ /[a-zA-Z0-9&.:'=\/\\%_-]+/ ~
punct4: ~ /[\t,;:\/\\+]+/ ~
}