get the first item everything before first semicolon , if it has one in the attribute field , which is assumed to be a group identifer . this is appropriate for gff1 files and variants . it is not appropriate for gtf and gff2 files , although they may use a named attribute key , such as `` gene_id '' or `` transcript_id '' , for grouping . concode_field_sep String mSource concode_elem_sep double mScore concode_elem_sep String mSeqname concode_elem_sep HashMap<String,String> mUserMap concode_elem_sep HashMap<String,String> attributeHashMap concode_elem_sep String mAttributes concode_elem_sep Location mLocation concode_elem_sep String mType concode_elem_sep int mFrame concode_field_sep HashMap<String,String> userData concode_elem_sep HashMap<String,String> getAttributes concode_elem_sep boolean hasAttribute concode_elem_sep boolean hasAttribute concode_elem_sep void main concode_elem_sep String source concode_elem_sep String type concode_elem_sep double score concode_elem_sep void initAttributeHashMap concode_elem_sep String getAttribute concode_elem_sep Location location concode_elem_sep String attributes concode_elem_sep String toString concode_elem_sep String seqname concode_elem_sep String getAttributeOld concode_elem_sep int frame
String function ( ) { int loc0 = mAttributes . indexOf ( ';' ) ; return ( loc0 < 0 ) ? mAttributes . trim ( ) : mAttributes . substring ( 0 , loc0 ) . trim ( ) ; }