import org.testng.annotations.BeforeClass;
/**
- * Generates, and outputs in Fasta format, a random peptide or nucleotide alignment for given
- * sequence length and count. Will regenerate the same alignment each time if
- * the same random seed is used (so may be used for reproducible unit tests).
- * Not guaranteed to reproduce the same results between versions, as the rules
- * may get tweaked to produce more 'realistic' results.
+ * Generates, and outputs in Fasta format, a random peptide or nucleotide
+ * alignment for given sequence length and count. Will regenerate the same
+ * alignment each time if the same random seed is used (so may be used for
+ * reproducible unit tests). Not guaranteed to reproduce the same results
+ * between versions, as the rules may get tweaked to produce more 'realistic'
+ * results.
*
* @author gmcarstairs
*/
int gapPercentage = Integer.valueOf(args[4]);
int changePercentage = Integer.valueOf(args[5]);
- ps.println("; " + height + " sequences of " + width
- + " bases with " + gapPercentage + "% gaps and "
- + changePercentage + "% mutations (random seed = " + randomSeed
- + ")");
+ ps.println("; " + height + " sequences of " + width + " bases with "
+ + gapPercentage + "% gaps and " + changePercentage
+ + "% mutations (random seed = " + randomSeed + ")");
new AlignmentGenerator(nucleotide, ps).generate(width, height,
randomSeed, gapPercentage, changePercentage);
System.out.println("arg0: n (for nucleotide) or p (for peptide)");
System.out.println("arg1: number of (non-gap) bases per sequence");
System.out.println("arg2: number of sequences");
- System.out
- .println("arg3: an integer as random seed (same seed = same results)");
+ System.out.println(
+ "arg3: an integer as random seed (same seed = same results)");
System.out.println("arg4: percentage of gaps to (randomly) generate");
- System.out
- .println("arg5: percentage of 'mutations' to (randomly) generate");
- System.out
- .println("arg6: (optional) path to output file (default is sysout)");
+ System.out.println(
+ "arg5: percentage of 'mutations' to (randomly) generate");
+ System.out.println(
+ "arg6: (optional) path to output file (default is sysout)");
System.out.println("Example: AlignmentGenerator n 12 15 387 10 5");
- System.out
- .println("- 15 nucleotide sequences of 12 bases each, approx 10% gaps and 5% mutations, random seed = 387");
+ System.out.println(
+ "- 15 nucleotide sequences of 12 bases each, approx 10% gaps and 5% mutations, random seed = 387");
}
for (int count = 0; count < length;)
{
boolean addGap = random.nextInt(100) < gapPercentage;
- char c = addGap ? GAP : BASES[random.nextInt(Integer.MAX_VALUE)
- % BASES.length];
+ char c = addGap ? GAP
+ : BASES[random.nextInt(Integer.MAX_VALUE) % BASES.length];
seq.append(c);
if (!addGap)
{
* @param changePercentage
* @return
*/
- private SequenceI generateAnotherSequence(char[] ds, int seqno,
- int width, int changePercentage)
+ private SequenceI generateAnotherSequence(char[] ds, int seqno, int width,
+ int changePercentage)
{
int length = ds.length;
char[] seq = new char[length];