question: public void readSequenceLine ( StringBuffer sequence , DataType dataType , String delimiters , String gapCharacters , String missingCharacters , String matchCharacters , String matchSequence ) throws IOException , ImportException { char ch = read ( ) ; try { int n = 0 ; while ( ch != '\r' && ch != '\n' && delimiters . indexOf ( ch ) == - 1 ) { if ( hasComments ) { if ( ch == lineComment ) { skipComments ( ch ) ; break ; } if ( ch == startComment ) { skipComments ( ch ) ; ch = read ( ) ; } } if ( ch != ' ' && ch != '\t' ) { char ch1 = ch ; if ( gapCharacters . indexOf ( ch ) != - 1 ) { ch1 = DataType . GAP_CHARACTER ; } else if ( missingCharacters . indexOf ( ch ) != - 1 ) { ch1 = DataType . UNKNOWN_CHARACTER ; } else if ( matchCharacters . indexOf ( ch ) != - 1 ) { if ( matchSequence == null ) { throw new ImportException ( "Match character in first sequences" ) ; } if ( n >= matchSequence . length ( ) ) { throw new ImportException ( "Match sequences too short" ) ; } ch1 = matchSequence . charAt ( n ) ; } sequence . append ( ch1 ) ; n ++ ; } ch = read ( ) ; } if ( ch == '\r' ) { if ( next ( ) == '\n' ) read ( ) ; } lastDelimiter = ch ; if ( Character . isWhitespace ( ( char ) lastDelimiter ) ) { ch = nextCharacter ( ) ; if ( delimiters . indexOf ( ch ) != - 1 ) { lastDelimiter = readCharacter ( ) ; } } } catch ( EOFException e ) { } }
target:  Reads a line of sequences, skipping over any comments and filtering using dataType.