<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_aggregation_propensity(self, seq, outdir, cutoff_v=5, cutoff_n=5, run_amylmuts=False):
 """Run the AMYLPRED2 web server for a protein sequence and get the consensus result for aggregation propensity. Args: seq (str, Seq, SeqRecord):
 Amino acid sequence outdir (str):
 Directory to where output files should be saved cutoff_v (int):
 The minimal number of methods that agree on a residue being a aggregation-prone residue cutoff_n (int):
 The minimal number of consecutive residues to be considered as a 'stretch' of aggregation-prone region run_amylmuts (bool):
 If AMYLMUTS method should be run, default False. AMYLMUTS is optional as it is the most time consuming and generates a slightly different result every submission. Returns: int: Aggregation propensity - the number of aggregation-prone segments on an unfolded protein sequence """


        seq = ssbio.protein.sequence.utils.cast_to_str(seq)

        results = self.run_amylpred2(seq=seq, outdir=outdir, run_amylmuts=run_amylmuts)
        agg_index, agg_conf = self.parse_for_consensus_aggregation(N=len(seq), results=results, cutoff_v=cutoff_v, cutoff_n=cutoff_n)

        return agg_index