LICENSE
Copyright [2015-2017] EMBL-European Bioinformatics Institute
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
NAME
Bio::DB::Big::AutoSQLField
SYNOPSIS
printf("%d: %s (%s)\n", $field->position(), $field->name(), $field->type());
DESCRIPTION
Provides access to an AutoSQL field's definition
METHODS
Looks at the comment and field name and attmepts to divine if the field was an autogenerated one or not i.e. when a BigBed file was created no AutoSQL definition was given to bedToBigBed and the tool created placeholder fields. This happens if the name is formatted as field8
or the comment was Undocumented field
.
type()
Accessor for the type of field this is. Can be one of the following items.
- int
- uint
- short
- ushort
- byte
- ubyte
- float
- char
- string
- lstring
- enum
- set
In addition we can have a field set to object, simple or table. These are normally used to backreference another AutoSQL definition. If you field is set to one of these consult declare_name
, declare_size
.
name()
Accessor for the name given to this field.
comment()
Accessor for the comment given to this field.
position()
Accessor for the position this field occupies in the AutoSQL definition. This is indexed from 1 and maps to BigBed column positions.
field_size()
Accessor for the field size assigned to this field. This is normally used when a fixed length char has been specified e.g.
char[2] state index; "Just store the abbreviation for the state"
field_values()
Accessor for the field values. Only used if the field was an enum or set. Values are presented in the parsed order but no additional meaning is given.
declare_name()
Accessor for the declared name. Used when field type was set to simple, object or table. This should be set to the back-referened AutoSQL name e.g.
object face[faceCount] faces; "List of faces"
Here declare name would be set to face where we expect to find the definition of the face object.
declare_size()
Accessor for the declare size i.e. the number of elements available. If set to a number this is a fixed size. If this is a string then it points to a field in the AutoSQL definition that should be used to set the field size e.g.
object face[faceCount] faces; "List of faces"
Here declare size is set to faceCount
.
index_type()
Accessor for the type of index for a field. Can be set to primary, index or unique.
index_size()
Accessor for the size of index to generate. Used in definitions to create a prefix index e.g.
string city index[12]; "City - indexing just first 12 character"
This would create an index on the city field where the first 12 characters were used in the index.
auto()
Accessor for the auto field. Flags if this field is considered an auto incremented key e.g.
uint id primary auto; "Autoincrementing primary key for this record."
There is nothing more than to note it is an autoincrementing key
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 50:
Unknown directive: =head