Skip to content

Commit 4d17c4f

Browse files
committed
Fixing scala page formatting
1 parent f9eda32 commit 4d17c4f

File tree

1 file changed

+100
-89
lines changed

1 file changed

+100
-89
lines changed

_wiki/Scala.md

Lines changed: 100 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,13 @@ your scala project. The easiest way to do this is to use Maven to build
2121
your scala project and just add BioJava as a dependency. For instance,
2222
add the following to the dependencies section of your pom.xml file.
2323

24+
```xml
2425
<dependency>
25-
`    `<groupId>`org.biojava`</groupId>
26-
`    `<artifactId>`biojava3-core`</artifactId>
27-
`    `<version>`3.0.6`</version>
26+
    <groupId>org.biojava</groupId>
27+
    <artifactId>biojava3-core</artifactId>
28+
    <version>3.0.6</version>
2829
</dependency>
30+
```
2931

3032
If you are using [SBT](http://www.scala-sbt.org/) to build your Scala
3133
project just add the following to your sbt file.
@@ -38,49 +40,51 @@ Java classes can be imported and used in scala code without
3840
modification. For instance, here is a scala version of
3941
<BioJava:CookBook3:PSA_DNA>.
4042

41-
`/**`
42-
` * Demo of using BioJava from scala code. Performs a simple sequence alignment.`
43-
` *`
44-
` * This shows off a few nice scala features, such as implicit methods`
45-
` */`
43+
```scala
44+
/**
45+
 * Demo of using BioJava from scala code. Performs a simple sequence alignment.
46+
 *
47+
 * This shows off a few nice scala features, such as implicit methods
48+
 */
4649

47-
`import org.biojava3.alignment.{Alignments,SimpleGapPenalty,SubstitutionMatrixHelper}`
48-
`import org.biojava3.alignment.Alignments.PairwiseSequenceAlignerType.LOCAL`
49-
`import org.biojava3.core.sequence.DNASequence`
50-
`import org.biojava3.core.sequence.compound.AmbiguityDNACompoundSet`
50+
import org.biojava3.alignment.{Alignments,SimpleGapPenalty,SubstitutionMatrixHelper}
51+
import org.biojava3.alignment.Alignments.PairwiseSequenceAlignerType.LOCAL
52+
import org.biojava3.core.sequence.DNASequence
53+
import org.biojava3.core.sequence.compound.AmbiguityDNACompoundSet
5154

52-
`object PSA_DNA {`
53-
`  implicit def str2DNA(seq: String) = new DNASequence(seq,AmbiguityDNACompoundSet.getDNACompoundSet)`
55+
object PSA_DNA {
56+
  implicit def str2DNA(seq: String= new DNASequence(seq,AmbiguityDNACompoundSet.getDNACompoundSet)
5457

55-
`  def main(args: Array[String]) {`
56-
`    // Note implicit cast from strings to DNASequence`
57-
`    val target: DNASequence = "CACGTTTCTTGTGGCAGCTTAAGTTTGAATGTCATTTCTTCAATGGGACGGA"+`
58-
`      "GCGGGTGCGGTTGCTGGAAAGATGCATCTATAACCAAGAGGAGTCCGTGCGCTTCGACAGC"+`
59-
`      "GACGTGGGGGAGTACCGGGCGGTGACGGAGCTGGGGCGGCCTGATGCCGAGTACTGGAACA"+`
60-
`      "GCCAGAAGGACCTCCTGGAGCAGAGGCGGGCCGCGGTGGACACCTACTGCAGACACAACTA"+`
61-
`      "CGGGGTTGGTGAGAGCTTCACAGTGCAGCGGCGAG"`
58+
  def main(args: Array[String]) {
59+
    // Note implicit cast from strings to DNASequence
60+
    val target: DNASequence = "CACGTTTCTTGTGGCAGCTTAAGTTTGAATGTCATTTCTTCAATGGGACGGA"+
61+
      "GCGGGTGCGGTTGCTGGAAAGATGCATCTATAACCAAGAGGAGTCCGTGCGCTTCGACAGC"+
62+
      "GACGTGGGGGAGTACCGGGCGGTGACGGAGCTGGGGCGGCCTGATGCCGAGTACTGGAACA"+
63+
      "GCCAGAAGGACCTCCTGGAGCAGAGGCGGGCCGCGGTGGACACCTACTGCAGACACAACTA"+
64+
      "CGGGGTTGGTGAGAGCTTCACAGTGCAGCGGCGAG"
6265

63-
`    val query: DNASequence = "ACGAGTGCGTGTTTTCCCGCCTGGTCCCCAGGCCCCCTTTCCGTCCTCAGGAA"+`
64-
`      "GACAGAGGAGGAGCCCCTCGGGCTGCAGGTGGTGGGCGTTGCGGCGGCGGCCGGTTAAGGT"+`
65-
`      "TCCCAGTGCCCGCACCCGGCCCACGGGAGCCCCGGACTGGCGGCGTCACTGTCAGTGTCTT"+`
66-
`      "CTCAGGAGGCCGCCTGTGTGACTGGATCGTTCGTGTCCCCACAGCACGTTTCTTGGAGTAC"+`
67-
`      "TCTACGTCTGAGTGTCATTTCTTCAATGGGACGGAGCGGGTGCGGTTCCTGGACAGATACT"+`
68-
`      "TCCATAACCAGGAGGAGAACGTGCGCTTCGACAGCGACGTGGGGGAGTTCCGGGCGGTGAC"+`
69-
`      "GGAGCTGGGGCGGCCTGATGCCGAGTACTGGAACAGCCAGAAGGACATCCTGGAAGACGAG"+`
70-
`      "CGGGCCGCGGTGGACACCTACTGCAGACACAACTACGGGGTTGTGAGAGCTTCACCGTGCA"+`
71-
`      "GCGGCGAGACGCACTCGT"`
66+
    val query: DNASequence = "ACGAGTGCGTGTTTTCCCGCCTGGTCCCCAGGCCCCCTTTCCGTCCTCAGGAA"+
67+
      "GACAGAGGAGGAGCCCCTCGGGCTGCAGGTGGTGGGCGTTGCGGCGGCGGCCGGTTAAGGT"+
68+
      "TCCCAGTGCCCGCACCCGGCCCACGGGAGCCCCGGACTGGCGGCGTCACTGTCAGTGTCTT"+
69+
      "CTCAGGAGGCCGCCTGTGTGACTGGATCGTTCGTGTCCCCACAGCACGTTTCTTGGAGTAC"+
70+
      "TCTACGTCTGAGTGTCATTTCTTCAATGGGACGGAGCGGGTGCGGTTCCTGGACAGATACT"+
71+
      "TCCATAACCAGGAGGAGAACGTGCGCTTCGACAGCGACGTGGGGGAGTTCCGGGCGGTGAC"+
72+
      "GGAGCTGGGGCGGCCTGATGCCGAGTACTGGAACAGCCAGAAGGACATCCTGGAAGACGAG"+
73+
      "CGGGCCGCGGTGGACACCTACTGCAGACACAACTACGGGGTTGTGAGAGCTTCACCGTGCA"+
74+
      "GCGGCGAGACGCACTCGT"
7275

73-
`    val matrix = SubstitutionMatrixHelper.getNuc4_4()`
76+
    val matrix = SubstitutionMatrixHelper.getNuc4_4()
7477

75-
`    val gapP = new SimpleGapPenalty()`
76-
`    gapP.setOpenPenalty(5)`
77-
`    gapP.setExtensionPenalty(2)`
78+
    val gapP = new SimpleGapPenalty()
79+
    gapP.setOpenPenalty(5)
80+
    gapP.setExtensionPenalty(2)
7881

79-
`    val psa = Alignments.getPairwiseAlignment(query, target, LOCAL, gapP, matrix)`
82+
    val psa = Alignments.getPairwiseAlignment(query, target, LOCAL, gapP, matrix)
8083

81-
`    println(psa)`
82-
`  }`
83-
`}`
84+
    println(psa)
85+
  }
86+
}
87+
```
8488

8589
Including ScaBio code in Java
8690
-----------------------------
@@ -94,78 +98,85 @@ present in BioJava.
9498
First, include the ScaBio jars and dependencies in your classpath. If
9599
using maven this is quite simple. Add the required packages to your
96100
pom.xml:
97-
101+
```xml
98102
<dependency>
99-
`    `<groupId>`net.gumbix`</groupId>
100-
`    `<artifactId>`scabio-demo`</artifactId>
101-
`    `<version>`0.1-SNAPSHOT`</version>
103+
    <groupId>net.gumbix</groupId>
104+
    <artifactId>scabio-demo</artifactId>
105+
    <version>0.1-SNAPSHOT</version>
102106
</dependency>
107+
```
103108

104109
Scala objects and methods can now be used from Java code. To display
105110
ScaBio's RNA secondary structure visualization too, for instance, just
106111
call the appropriate method.
107112

108-
`public class RNAStruct2DViewer {`
109-
`   public static void main(String[] args) {`
110-
`       net.gumbix.bioinf.struct.RNAStruct2DViewer.main(args);`
111-
`   }`
112-
`}`
113+
```scala
114+
public class RNAStruct2DViewer {
115+
   public static void main(String[] args) {
116+
       net.gumbix.bioinf.struct.RNAStruct2DViewer.main(args);
117+
   }
118+
}
119+
```
113120

114121
Here is a more complex example to output the results of the RNA
115122
secondary structure prediction in a simple text format.
116123

117-
`import java.util.List;`
118-
`import net.gumbix.bioinf.struct.AbstractNussinov;`
119-
`import net.gumbix.bioinf.struct.NussinovDecision;`
120-
`import net.gumbix.bioinf.struct.NussinovEnergy;`
121-
`import net.gumbix.bioinf.struct.NussinovState;`
122-
`import net.gumbix.dynpro.Idx;`
123-
`import net.gumbix.dynpro.PathEntry;`
124-
`import scala.collection.JavaConversions;`
124+
```scala
125+
import java.util.List;
126+
import net.gumbix.bioinf.struct.AbstractNussinov;
127+
import net.gumbix.bioinf.struct.NussinovDecision;
128+
import net.gumbix.bioinf.struct.NussinovEnergy;
129+
import net.gumbix.bioinf.struct.NussinovState;
130+
import net.gumbix.dynpro.Idx;
131+
import net.gumbix.dynpro.PathEntry;
132+
import scala.collection.JavaConversions;
125133

126-
`public class RNAStructPredictor {`
127-
`   public static void main(String[] args) {`
128-
`       String s = "UGGGAAGGUUUUGGAACCC";`
129-
`       AbstractNussinov dp = new NussinovEnergy(s);`
130-
`       Idx idx = new Idx(0, dp.n()-1);`
131-
`       scala.collection.immutable.List`<PathEntry<NussinovDecision>`> solution = dp.solution(idx);`
134+
public class RNAStructPredictor {
135+
   public static void main(String[] args) {
136+
       String s = "UGGGAAGGUUUUGGAACCC";
137+
       AbstractNussinov dp = new NussinovEnergy(s);
138+
       Idx idx = new Idx(0, dp.n()-1);
139+
       scala.collection.immutable.List<PathEntry<NussinovDecision>> solution = dp.solution(idx);
132140

133-
`       String topology = rnaTopologyString(solution, dp.n());`
141+
       String topology = rnaTopologyString(solution, dp.n());
134142

135-
`       System.out.println(s);`
136-
`       System.out.println(topology);`
137-
`   }`
143+
       System.out.println(s);
144+
       System.out.println(topology);
145+
   }
138146

139-
`   /**`
140-
`    * Get a topology string for the given RNA secondary structure prediction`
141-
`    * @param s The solved RNA secondary structure from ScaBio`
142-
`    * @return A string of '(', ')', and '-' giving the paired RNA residues`
143-
`    */`
144-
`   public static String rnaTopologyString(scala.collection.immutable.List`<PathEntry<NussinovDecision>`> s,int len) {`
145-
`       //Wrap scala list as a Java collection for ease of use`
146-
`       List`<PathEntry<NussinovDecision>`> solution = JavaConversions.seqAsJavaList(s);`
147+
   /**
148+
    * Get a topology string for the given RNA secondary structure prediction
149+
    * @param s The solved RNA secondary structure from ScaBio
150+
    * @return A string of '(', ')', and '-' giving the paired RNA residues
151+
    */
152+
   public static String rnaTopologyString(scala.collection.immutable.List<PathEntry<NussinovDecision>> s,int len) {
153+
       //Wrap scala list as a Java collection for ease of use
154+
       List<PathEntry<NussinovDecision>> solution = JavaConversions.seqAsJavaList(s);
147155

148-
`       // All nucleotides are initially unpaired`
149-
`       StringBuffer str = new StringBuffer(len);`
150-
`       for(int i=0;i`<len;i++) {
156+
       // All nucleotides are initially unpaired
157+
       StringBuffer str = new StringBuffer(len);
158+
       for(int i=0;i<len;i++) {
151159
str.append('-');
152160
}
153161

154162
// Assign parentheses for paired nucleotides
155-
for(PathEntry<NussinovDecision>` entry : solution) {`
156-
`           NussinovDecision decision = entry.decision();`
157-
`           if( decision.move() == NussinovState.PAIR() ) { // focus on nucleotide pairs`
158-
`               Idx pair = decision.idx(); // stores indices of the bound pair`
159-
`               str.setCharAt(pair.i(), '(');`
160-
`               str.setCharAt(pair.j(), ')');`
161-
`           }`
162-
`       }`
163+
for(PathEntry<NussinovDecision> entry : solution) {
164+
           NussinovDecision decision = entry.decision();
165+
           if( decision.move() == NussinovState.PAIR() ) { // focus on nucleotide pairs
166+
               Idx pair = decision.idx(); // stores indices of the bound pair
167+
               str.setCharAt(pair.i(), '(');
168+
               str.setCharAt(pair.j(), ')');
169+
           }
170+
       }
163171

164-
`       return str.toString();`
165-
`   }`
166-
`}`
172+
       return str.toString();
173+
   }
174+
}
175+
```
167176

168177
Running the code produces the following output:
169178

170-
`UGGGAAGGUUUUGGAACCC`
171-
`-(((((--))((--)))))`
179+
```
180+
UGGGAAGGUUUUGGAACCC
181+
-(((((--))((--)))))
182+
```

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy