// models.wrm - main file defining tree class structures
// This file is read only when starting a new database or when you select 
// "Read Models" or "Add Update File" from the main menu.
//
// all tags must appear in tags.wrm or systags.wrm


?Map	Type UNIQUE Genetic  // this flag can be used to define subclasses
                    Cytogenetic // Chromosome could be Map, filtered Cytogenetic
                    Physical
        Display Non_graphic  // Prevents a graphic display 
                Title UNIQUE ?Text
                Remark Text // Will appear in top right corner  
		Flipped // Then coordinates go upwards
                Unit   Text // i.e. kb, centiMorgan, MegaParsec
		Centre UNIQUE Float UNIQUE Float  // centre, width - else 0, 10
	    	Extent UNIQUE Float UNIQUE Float  // min, max - else min, max gene/locus
                Error_scale UNIQUE Float  // To position loci on x axis, default = 10
        Inherits  From_map ?Map 	  // To loaclly edit
		  Author Text             // login name of who edited it
		  Date Text
 	Main_Marker ANY       // Appear left of scroll bar
        Contains Locus ?Locus XREF Map
                 YAC ?YAC XREF Map
                 Fragment ?Fragment XREF Map
                 Clone ?Clone XREF Map
                 Chrom_Band ?Chrom_Band XREF Map
                 Map ?Map XREF Map #map_location

?map_location UNIQUE Position UNIQUE Float #map_error
                     Multi_Position  Float #map_error
                     Ends Left UNIQUE Float #map_error
                          Right UNIQUE Float #map_error

?map_error Error UNIQUE Float

?MultiMap Map ?Map

?Clone  Position  Map ?Map XREF Clone #map_location  // position on vertical maps
        Inside    Links ?Fragment XREF Link
        Contains  Locus   ?Locus XREF Clone


?YAC    Location 	Position  UNIQUE Map ?Map XREF YAC #map_location
        Contains        Locus ?Locus XREF Inside_YAC
        Inside          Inside_Fragment ?Fragment XREF YAC
        Size UNIQUE Int Int // length , range in kb
        Status UNIQUE Chimeric
                      Non_Chimeric
       
?Fragment   Position  UNIQUE Map ?Map XREF Fragment #map_location
            Contains Locus ?Locus XREF Inside_Fragment Int // offset in fragment
                     Link ?Clone XREF Links Int
                     YAC ?YAC XREF Inside_Fragment Int 
            Length UNIQUE Int // kb
       
  
?Chrom_Band   	Type    Centromere
	              	p_Telomere	// Left end of chromosome
                      	q_Telomere	// Right end of chromosome
                Drawing Dark
                      	NOR
                      	Colour #Colour
		Position  UNIQUE Map ?Map XREF Chrom_Band #map_location
		Contains ?Chrom_Band XREF Contained_in
		Contained_in UNIQUE ?Chrom_Band XREF Contains
		Locus Inside ?Locus XREF Chrom_Band

?Motif	Site UNIQUE Text // AA or DNA or some more elaborate descriptor
	Oligo
	Restriction_Enzyme	Isoschizomers ?Motif XREF Isoschizomers REPEAT
		                Offset Int   
	        		Cleavage Text  // will show the cleavage points ex: G_ACGT'C
		                Overhang  Text // was Int
                		Company  Text
                                Paper   Text
                                Remark  Text

?GDB_id Refers_to ANY

?Enzyme Locus ?Locus XREF EC_enzyme

?OMIM   Title            UNIQUE      Text
        Document                     ?LongText
        Locus         ?Locus XREF OMIM_document
        KW                           ?Keyword
        CS                           ?Keyword
        Editing_Date     UNIQUE      Text
        Old_Num          UNIQUE      Text

?Probe  General Name ?Text
		Other_name ?Text 
                Locus ?Locus XREF Probe
                DNA_type Text
                Clone ?Clone
                Pick_me_to_call Text Text
                Location Text
                Type ?Keyword
                Species ?Keyword
                Polymorphism ?Keyword
                Availability Text
                Description  Text
		Annotation  Text
                Cosmid_clones ?Clone ?Keyword
        Vector_type Text
        Excision_Data  Text
        Polymorphism_Data Text
        Originator Text
        GenBank_ref ?Text
        ATCC_ref    ?Text
        EC_ref      ?Text
        HGML_ref    ?Text
        Reference ?Source XREF Probe
        Contact   ?Contact XREF Probe
        Paper     ?Paper
	Created Text
	Modified  Text
	Approved Text

?Source Name ?Text
        Address Text
        Probe ?Probe XREF Reference

?Reference Locus ?Locus XREF Reference

?Locus  GDB Name              UNIQUE Text
            Other_name        Text
            Type              UNIQUE Text
            Current_symbol    UNIQUE Text
            Previous_symbol   Text
            GDB_id            UNIQUE ?GDB_id XREF Refers_to
            Assign_mode       Text
            Annotation        Text
            Polymorphism         UNIQUE Text
            Max_heterozygosity   UNIQUE Float
            Add_date          UNIQUE Text
            Modification_date UNIQUE Text
            Approval_date     UNIQUE Text
        Location Cytogenetic_location Text
                 Map ?Map XREF Locus #map_location
                 Main_Marker ?Map XREF Main_Marker
                 Inside  Inside_YAC  ?YAC XREF Locus
                         Inside_Fragment ?Fragment XREF Locus
                         Chrom_Band ?Chrom_Band XREF Locus
        Links_to Probe          ?Probe    XREF Locus
                 Sequence       ?Sequence XREF Locus
                 Clone          ?Clone    XREF Locus
                 OMIM_document  ?OMIM     XREF Locus
                 EC_enzyme      ?Enzyme   XREF Locus
        Reference  ?Reference XREF Locus 
        Remark ?Text
        Data_source Text

?Author Full_name Text
	Laboratory ?Laboratory XREF Staff
        Address Mail Text
                E_mail Text
                Phone Text
		Fax   Text
        Paper ?Paper
	Image ?Image XREF Author

?Journal Paper ?Paper XREF Journal

?Paper  Reference       Title UNIQUE ?Text
                        Journal UNIQUE ?Journal XREF Paper
			Publisher UNIQUE Text
                        Unpublished
			Contained_in ?Paper XREF Contains
                        Year UNIQUE Text
                        Volume UNIQUE Text Text
                        Page  UNIQUE  Text UNIQUE Text
			Pages UNIQUE Text
			Medline_ID  UNIQUE Int
        Author ?Author XREF Paper
        Abstract ?LongText
	Type UNIQUE Text
	Contains ?Paper XREF Contained_in
        Image ?Image XREF Paper
        Refers_to	ANY
        Keyword ?Keyword
	Remark  Text

?Image  Author ?Author XREF Image
	Paper  ?Paper  XREF Image
	Pick_me_to_call  UNIQUE Text Text   // A program name followed by a file name

?Contact  GDB_id  ?GDB_id  XREF Refers_to
          Name  Text
          Address Text
          Email   Text
          Probe  ?Probe XREF Contact

?Sequence Title UNIQUE ?Text
	  Other_name ?Text	// for repeats
	  Type UNIQUE DNA UNIQUE ?DNA UNIQUE Int	// Int is the length
		      Peptide UNIQUE ?AA
          RNA			// if this tag is set display AUGC
	  Structure  Length UNIQUE Int
		     From	Source UNIQUE ?Sequence
				Source_Exons Int UNIQUE Int // start at 1
	                        Assembled_into ?Sequence
		     Subsequence ?Sequence XREF Source UNIQUE Int UNIQUE Int
		     Assembled_from ?Sequence XREF Assembled_into UNIQUE Int UNIQUE Int
	  Library	?Library Text Text // ID  Accession_number
	  Origin  From_Library ?Library
		  From_Author ?Author
		  From_Laboratory ?Laboratory
		  Date Text
		  Species ?Species XREF Sequence
	  Visible	cDNA 
			Genomic_Canonical UNIQUE Float // from the project: order
			Matching_Genomic ?Sequence XREF Matching_cDNA
			Matching_cDNA ?Sequence XREF Matching_Genomic
			Corresponding_DNA ?Sequence XREF Corresponding_peptide
			Corresponding_peptide ?Sequence XREF Corresponding_DNA
		  	Clone ?Clone XREF Sequence 
          	        Locus ?Locus XREF Sequence
		        Related_Sequence ?Sequence XREF Related_Sequence
			Keyword ?Keyword
	  		Remark ?Text
			DB_remark ?Text
			Brief_identification ?Text
	  		Reference ?Paper XREF Sequence
			Foreign_Reference ?Text
			DB_searched ?Library Int // version
			Expression_construct ?Clone
	  Properties    Pseudogene Text
			Transposon Text
			Coding	CDS UNIQUE Int UNIQUE Int
				CDS_predicted_by ?Method Float // score of method
				Precursor
			Transcript	End_not_found
				 	Start_not_found Int // Int is frame of base 1
					mRNA	Processed_mRNA
						Unprocessed_mRNA
					tRNA Text
					rRNA Text
					snRNA Text
			Status UNIQUE	Shotgun
					Contiguous
					Finished
	  Repeats	Inverted	Int UNIQUE Int #Match
			Tandem		Int UNIQUE Int #Match
			Direct		Int UNIQUE Int #Match
          Assembly_tags Comment Int Int Text
                        Compression Int Int Text
                        Stop Int Int Text
                        Assembly_repeat Int Int Text
                        Cosmid_vector Int Int Text
                        Alu_segment Int Int Text
                        Sequencing_vector Int Int Text
                        Cloning_vector Int Int Text
                        Oligo Int Int Text
			A_Repeat Int Int Text
	  Features	TSL_site Int UNIQUE Int Text // Trans-spliced leader
			TSL Int UNIQUE Int Text
			Possible_exon Int UNIQUE Int UNIQUE Int ?Method UNIQUE Float // 3rd Int is frame
			promoter Int UNIQUE Int ?Text
			polyA_site Int UNIQUE Int Text
			polyA_signal Int UNIQUE Int Text  // AATAA
			misc_signal Int UNIQUE Int ?Text
			misc_feature Int UNIQUE Int ?Text
			repeat_region Int UNIQUE Int Text
			repeat_unit Int UNIQUE Int Text
			mutation Int UNIQUE Int ?Text
			sig_peptide Int UNIQUE Int Text
			mat_peptide Int UNIQUE Int Text
			old_sequence Int UNIQUE Int Text
			modified_base Int UNIQUE Int Text
			TATA_signal Int UNIQUE Int Text
	  Similarity	Homol ?Sequence XREF Homol ?Method Float Int UNIQUE Int Int UNIQUE Int

?Species Sequence ?Sequence XREF Species	// much more to do here

?Match	Percent_Identity UNIQUE Int
	Score ?Method UNIQUE Float
	N_gaps UNIQUE Int
	Loop UNIQUE Int UNIQUE Int	// rel start, stop
	Unit_Length UNIQUE Int

?Library	Name Text // Full name
		Contents ?Text // Description of material included

?Method	Function ?Text	// what does it do?
	Variant_of UNIQUE ?Method XREF Variant
	Variant ?Method
	Version	Text
	Parameters 	Float_Params UNIQUE Text Float REPEAT 
			Int_Params UNIQUE Text Int REPEAT
			Text_Params UNIQUE Text Text REPEAT
	Min_score UNIQUE Float	// used in plotting
	Remark ?Text
	Reference ?Paper XREF Search_Method