public static boolean isCircularBoundary ( CompoundLocation < Location > location , long sequenceLength ) { if ( location . getLocations ( ) . size ( ) == 1 ) { return false ; // cant be if there is only 1 location element } boolean lastLocation = false ; List < Location > locationList = location . getLocations ( ) ; for ( int i = 0 ; i < locationList . size ( ) ; i ++ ) { if ( i == locationList . size ( ) - 1 ) { lastLocation = true ; } Long position = location . getLocations ( ) . get ( i ) . getEndPosition ( ) ; if ( position == sequenceLength && ! lastLocation ) { return true ; } } return false ; }
Checks to see if a feature s location spans a circular boundary - assumes the genome the feature is coming from is circular .