code: public static Location fromBio( int start, int end, char strand )
  	{
  		int s= start - 1;
  		int e= end;
  
  		if( !( strand == '-' || strand == '+' || strand == '.' ))
  		{
  			throw new IllegalArgumentException( "Strand must be '+', '-', or '.'" );
  		}
  
  		if( strand == '-' )
  		{
  			//negate
  			s= - end;
  			e= - ( start - 1);
  		}
  
  		return new Location( s, e );
  	}
docs: Create location from "biocoordinates", as in GFF file. In biocoordinates,
  the start index of a range is represented in origin 1 (ie the very first index is 1, not 0),
  and end= start + length - 1.
  
  @param start Origin 1 index of first symbol.
  @param end Origin 1 index of last symbol.
  @param strand '+' or '-' or '.' ('.' is interpreted as '+').
  @return Created location.
  @throws IllegalArgumentException strand must be '+', '-' or '.'