@staticmethod<EOL><INDENT>def pattern_from_collections_and_statement(data_collections, statement):<DEDENT>
BaseCollection.are_collections_aligned(data_collections)<EOL>correct_var = BaseCollection._check_conditional_statement(<EOL>statement, len(data_collections))<EOL>num_statement_clean = BaseCollection._replace_operators(statement)<EOL>pattern = []<EOL>for i in xrange(len(data_collections[<NUM_LIT:0>])):<EOL><INDENT>num_statement = num_statement_clean<EOL>for j, coll in enumerate(data_collections):<EOL><INDENT>var = correct_var[j]<EOL>num_statement = num_statement.replace(var, str(coll[i]))<EOL><DEDENT>num_statement = BaseCollection._restore_operators(num_statement)<EOL>pattern.append(eval(num_statement, {}))<EOL><DEDENT>return pattern<EOL>
Generate a list of booleans from data collections and a conditional statement.

        Args:
            data_collections: A list of aligned Data Collections to be evaluated
                against the statement.
            statement: A conditional statement as a string (e.g. a>25 and a%5==0).
                The variable should always be named as 'a' (without quotations).

        Return:
            pattern: A list of True/False booleans with the length of the
                Data Collections where True meets the conditional statement
                and False does not.