Perl5
Simple MFE prediction for a given sequence
use RNA;
# The RNA sequence
my $seq = "GAGUAGUGGAACCAGGCUAUGUUUGUGACUCGCAGACUAACA";
# compute minimum free energy (MFE) and corresponding structure
my ($ss, $mfe) = RNA::fold($seq);
# print output
printf "%s\n%s [ %6.2f ]\n", $seq, $ss, $mfe;
Simple MFE prediction for a multiple sequence alignment
use RNA;
# The RNA sequence alignment
my @sequences = (
"CUGCCUCACAACGUUUGUGCCUCAGUUACCCGUAGAUGUAGUGAGGGU",
"CUGCCUCACAACAUUUGUGCCUCAGUUACUCAUAGAUGUAGUGAGGGU",
"---CUCGACACCACU---GCCUCGGUUACCCAUCGGUGCAGUGCGGGU"
);
# compute the consensus sequence
my $cons = RNA::consensus(\@sequences);
# predict Minmum Free Energy and corresponding secondary structure
my ($ss, $mfe) = RNA::alifold(\@sequences);
# print output
printf "%s\n%s [ %6.2f ]\n", $cons, $ss, $mfe;
Deviating from the Default Model
use RNA;
# The RNA sequence
my $seq = "GAGUAGUGGAACCAGGCUAUGUUUGUGACUCGCAGACUAACA";
# create a new model details structure
my $md = new RNA::md();
# change temperature and dangle model
$md->{temperature} = 20.0; # 20 Deg Celcius
$md->{dangles} = 1; # Dangle Model 1
# create a fold compound
my $fc = new RNA::fold_compound($seq, $md);
# predict Minmum Free Energy and corresponding secondary structure
my ($ss, $mfe) = $fc->mfe();
# print sequence, structure and MFE
printf "%s\n%s [ %6.2f ]\n", $seq, $ss, $mfe;
Python
Simple MFE prediction for a given sequence
4 seq =
"GAGUAGUGGAACCAGGCUAUGUUUGUGACUCGCAGACUAACA" 7 (ss, mfe) = RNA.fold(seq)
10 print "%s\n%s [ %6.2f ]" % (seq, ss, mfe)
Simple MFE prediction for a multiple sequence alignment
5 "CUGCCUCACAACGUUUGUGCCUCAGUUACCCGUAGAUGUAGUGAGGGU",
6 "CUGCCUCACAACAUUUGUGCCUCAGUUACUCAUAGAUGUAGUGAGGGU",
7 "---CUCGACACCACU---GCCUCGGUUACCCAUCGGUGCAGUGCGGGU" 11 cons = RNA.consensus(sequences)
14 (ss, mfe) = RNA.alifold(sequences);
17 print "%s\n%s [ %6.2f ]" % (cons, ss, mfe)
Deviating from the Default Model
4 seq =
"GAGUAGUGGAACCAGGCUAUGUUUGUGACUCGCAGACUAACA" 14 fc = RNA.fold_compound(seq, md)
20 print "%s\n%s [ %6.2f ]\n" % (seq, ss, mfe)