BioFSharp


BioCollections

📂View BioSeq documentation
Analogous to the build-in collections BioFSharp provides BioSeq, BioList and BioArray for individual collection specific optimized operations. The easiest way to create them are the `ofBioItemString` -functions
 1: 
 2: 
 3: 
 4: 
 5: 
 6: 
 7: 
 8: 
 9: 
10: 
11: 
12: 
13: 
let s1 = "PEPTIDE" |> BioSeq.ofAminoAcidString 
let s2 = "PEPTIDE" |> BioList.ofAminoAcidSymbolString 
let s3 = "TAGCAT"  |> BioArray.ofNucleotideString 


///Peptide represented as a Bioseq
"PEPTIDE" |> BioSeq.ofAminoAcidString 

///Peptide represented as a BioList
"PEPTIDE"|> BioList.ofAminoAcidSymbolString 

///Nucleotide sequence represented as a BioArray
"TAGCAT" |> BioArray.ofNucleotideString 

Resulting BioSeq containing our peptide:

seq [Pro; Glu; Pro; Thr; ...]

Resulting BioList containing our peptide:

[P; E; P; T; I; D; E]

Resulting BioArray containing our oligonucleotide:

[|T; A; G; C; A; T|]

Nucleotides

Nucleotides1

Figure 1: Selection of covered nucleotide operations (A) Bilogical principle. (B) Workflow with BioSeq. (C) Other covered functionalities.

Let's imagine you have a given gene sequence and want to find out what the according protein might look like.

1: 
let myGene = BioSeq.ofNucleotideString "ATGGCTAGATCGATCGATCGGCTAACGTAA"
seq [A; T; G; G; ...]

Yikes! Unfortunately we got the 5'-3' coding strand. For proper transcription we should get the complementary strand first:

1: 
let myProperGene = Seq.map Nucleotides.complement myGene
seq [T; A; C; C; ...]

Now let's transcribe and translate it:

1: 
2: 
3: 
4: 
let myTranslatedGene = 
    myProperGene
    |> BioSeq.transcribeTemplateStrand
    |> BioSeq.translate 0
seq [Met; Ala; Arg; Ser; ...]

Of course, if your input sequence originates from the coding strand, you can directly transcribe it to mRNA since the only difference between the coding strand and the mRNA is the replacement of 'T' by 'U' (Figure 1B)

1: 
2: 
3: 
4: 
let myTranslatedGeneFromCodingStrand = 
    myGene
    |> BioSeq.transcribeCodingStrand
    |> BioSeq.translate 0
seq [Met; Ala; Arg; Ser; ...]

Other Nucleotide conversion operations are also covered:

 1: 
 2: 
 3: 
 4: 
 5: 
 6: 
 7: 
 8: 
 9: 
10: 
11: 
12: 
13: 
14: 
let mySmallGene      = BioSeq.ofNucleotideString  "ATGTTCCGAT"

let smallGeneRev     = BioSeq.reverse mySmallGene 
//Original: ATGTTCCGAT
//Output:   TAGCCTTGTA

let smallGeneComp    = BioSeq.complement mySmallGene
//Original: ATGTTCCGAT
//Output:   TACAAGGCTA

let smallGeneRevComp = BioSeq.reverseComplement mySmallGene
//Original: ATGTTCCGAT
//Reverse:  TAGCCTTGTA
//Output:   ATCGGAACAT

AminoAcids

Basics

Some functions which might be needed regularly are defined to work with nucleotides and amino acids:

1: 
let myPeptide = "PEPTIDE" |> BioSeq.ofAminoAcidString 
seq [Pro; Glu; Pro; Thr; ...]
1: 
let myPeptideFormula = BioSeq.toFormula myPeptide |> Formula.toString 
"C34.00 H51.00 N7.00 O14.00"
1: 
let myPeptideMass = BioSeq.toAverageMass myPeptide 
781.810317

Digestion

BioFSharp also comes equipped with a set of tools aimed at cutting apart amino acid sequences. To demonstrate the usage, we'll throw some trypsin at the small RuBisCO subunit of Arabidopos thaliana:
In the first step, we define our input sequence and the protease we want to use.

1: 
2: 
3: 
4: 
5: 
6: 
7: 
let RBCS = 
    """MASSMLSSATMVASPAQATMVAPFNGLKSSAAFPATRKANNDITSITSNGGRVNCMQVWP
    PIGKKKFETLSYLPDLTDSELAKEVDYLIRNKWIPCVEFELEHGFVYREHGNSPGYYDGR
    YWTMWKLPLFGCTDSAQVLKEVEECKKEYPNAFIRIIGFDNTRQVQCISFIAYKPPSFT""" 
    |> BioArray.ofAminoAcidString

let trypsin = Digestion.Table.getProteaseBy "Trypsin"

With these two things done, digesting the protein is a piece of cake. For doing this, just use the digest function.

1: 
let digestedRBCS = Digestion.BioArray.digest trypsin 0 RBCS 

val digestedRBCS : Digestion.DigestedPeptide [] =
  [|{ProteinID = 0;
     MissCleavages = 0;
     MissCleavageStart = 1;
     MissCleavageEnd = 28;
     PepSequence =
      [Met; Ala; Ser; Ser; Met; Leu; Ser; Ser; Ala; Thr; Met; Val; Ala; Ser;
       Pro; Ala; Gln; Ala; Thr; Met; Val; Ala; Pro; Phe; Asn; Gly; Leu; Lys];};
    {ProteinID = 0;
     MissCleavages = 0;
     MissCleavageStart = 29;
     MissCleavageEnd = 37;
     PepSequence = [Ser; Ser; Ala; Ala; Phe; Pro; Ala; Thr; Arg];};
    {ProteinID = 0;
     MissCleavages = 0;
     MissCleavageStart = 38;
     MissCleavageEnd = 38;
     PepSequence = [Lys];};
    {ProteinID = 0;
     MissCleavages = 0;
     MissCleavageStart = 39;
     MissCleavageEnd = 52;
     PepSequence =
      [Ala; Asn; Asn; Asp; Ile; Thr; Ser; Ile; Thr; Ser; Asn; Gly; Gly; Arg];};
    {ProteinID = 0;
     MissCleavages = 0;
     MissCleavageStart = 53;
     MissCleavageEnd = 64;
     PepSequence =
      [Val; Asn; Cys; Met; Gln; Val; Trp; Pro; Pro; Ile; Gly; Lys];};
    {ProteinID = 0;
     MissCleavages = 0;
     MissCleavageStart = 65;
     MissCleavageEnd = 65;
     PepSequence = [Lys];}; {ProteinID = 0;
                             MissCleavages = 0;
                             MissCleavageStart = 66;
                             MissCleavageEnd = 66;
                             PepSequence = [Lys];};
    {ProteinID = 0;
     MissCleavages = 0;
     MissCleavageStart = 67;
     MissCleavageEnd = 83;
     PepSequence =
      [Phe; Glu; Thr; Leu; Ser; Tyr; Leu; Pro; Asp; Leu; Thr; Asp; Ser; Glu;
       Leu; Ala; Lys];}; {ProteinID = 0;
                          MissCleavages = 0;
                          MissCleavageStart = 84;
                          MissCleavageEnd = 90;
                          PepSequence = [Glu; Val; Asp; Tyr; Leu; Ile; Arg];};
    {ProteinID = 0;
     MissCleavages = 0;
     MissCleavageStart = 91;
     MissCleavageEnd = 92;
     PepSequence = [Asn; Lys];};
    {ProteinID = 0;
     MissCleavages = 0;
     MissCleavageStart = 93;
     MissCleavageEnd = 108;
     PepSequence =
      [Trp; Ile; Pro; Cys; Val; Glu; Phe; Glu; Leu; Glu; His; Gly; Phe; Val;
       Tyr; Arg];};
    {ProteinID = 0;
     MissCleavages = 0;
     MissCleavageStart = 109;
     MissCleavageEnd = 120;
     PepSequence =
      [Glu; His; Gly; Asn; Ser; Pro; Gly; Tyr; Tyr; Asp; Gly; Arg];};
    {ProteinID = 0;
     MissCleavages = 0;
     MissCleavageStart = 121;
     MissCleavageEnd = 126;
     PepSequence = [Tyr; Trp; Thr; Met; Trp; Lys];};
    {ProteinID = 0;
     MissCleavages = 0;
     MissCleavageStart = 127;
     MissCleavageEnd = 140;
     PepSequence =
      [Leu; Pro; Leu; Phe; Gly; Cys; Thr; Asp; Ser; Ala; Gln; Val; Leu; Lys];};
    {ProteinID = 0;
     MissCleavages = 0;
     MissCleavageStart = 141;
     MissCleavageEnd = 146;
     PepSequence = [Glu; Val; Glu; Glu; Cys; Lys];}; {ProteinID = 0;
                                                      MissCleavages = 0;
                                                      MissCleavageStart = 147;
                                                      MissCleavageEnd = 147;
                                                      PepSequence = [Lys];};
    {ProteinID = 0;
     MissCleavages = 0;
     MissCleavageStart = 148;
     MissCleavageEnd = 155;
     PepSequence = [Glu; Tyr; Pro; Asn; Ala; Phe; Ile; Arg];};
    {ProteinID = 0;
     MissCleavages = 0;
     MissCleavageStart = 156;
     MissCleavageEnd = 163;
     PepSequence = [Ile; Ile; Gly; Phe; Asp; Asn; Thr; Arg];};
    {ProteinID = 0;
     MissCleavages = 0;
     MissCleavageStart = 164;
     MissCleavageEnd = 180;
     PepSequence =
      [Gln; Val; Gln; Cys; Ile; Ser; Phe; Ile; Ala; Tyr; Lys; Pro; Pro; Ser;
       Phe; Thr; Gly];}|]

In reality, proteases don't always completely cut the protein down. Instead, some sites stay intact and should be considered for in silico analysis. This can easily be done with the `concernMissCleavages` function. It takes the minimum and maximum amount of misscleavages you want to have and also the digested protein. As a result you get all possible combinations arising from this information.
1: 
let digestedRBCS' = Digestion.BioArray.concernMissCleavages 0 2 digestedRBCS
val digestedRBCS' : Digestion.DigestedPeptide [] =
  [|{ProteinID = 0;
     MissCleavages = 0;
     MissCleavageStart = 164;
     MissCleavageEnd = 180;
     PepSequence =
      [Gln; Val; Gln; Cys; Ile; Ser; Phe; Ile; Ala; Tyr; Lys; Pro; Pro; Ser;
       Phe; Thr; Gly];};
    {ProteinID = 0;
     MissCleavages = 0;
     MissCleavageStart = 156;
     MissCleavageEnd = 163;
     PepSequence = [Ile; Ile; Gly; Phe; Asp; Asn; Thr; Arg];};
    {ProteinID = 0;
     MissCleavages = 0;
     MissCleavageStart = 148;
     MissCleavageEnd = 155;
     PepSequence = [Glu; Tyr; Pro; Asn; Ala; Phe; Ile; Arg];};
    {ProteinID = 0;
     MissCleavages = 0;
     MissCleavageStart = 147;
     MissCleavageEnd = 147;
     PepSequence = [Lys];}; {ProteinID = 0;
                             MissCleavages = 0;
                             MissCleavageStart = 141;
                             MissCleavageEnd = 146;
                             PepSequence = [Glu; Val; Glu; Glu; Cys; Lys];};
    {ProteinID = 0;
     MissCleavages = 0;
     MissCleavageStart = 127;
     MissCleavageEnd = 140;
     PepSequence =
      [Leu; Pro; Leu; Phe; Gly; Cys; Thr; Asp; Ser; Ala; Gln; Val; Leu; Lys];};
    {ProteinID = 0;
     MissCleavages = 0;
     MissCleavageStart = 121;
     MissCleavageEnd = 126;
     PepSequence = [Tyr; Trp; Thr; Met; Trp; Lys];};
    {ProteinID = 0;
     MissCleavages = 0;
     MissCleavageStart = 109;
     MissCleavageEnd = 120;
     PepSequence =
      [Glu; His; Gly; Asn; Ser; Pro; Gly; Tyr; Tyr; Asp; Gly; Arg];};
    {ProteinID = 0;
     MissCleavages = 0;
     MissCleavageStart = 93;
     MissCleavageEnd = 108;
     PepSequence =
      [Trp; Ile; Pro; Cys; Val; Glu; Phe; Glu; Leu; Glu; His; Gly; Phe; Val;
       Tyr; Arg];}; {ProteinID = 0;
                     MissCleavages = 0;
                     MissCleavageStart = 91;
                     MissCleavageEnd = 92;
                     PepSequence = [Asn; Lys];};
    {ProteinID = 0;
     MissCleavages = 0;
     MissCleavageStart = 84;
     MissCleavageEnd = 90;
     PepSequence = [Glu; Val; Asp; Tyr; Leu; Ile; Arg];};
    {ProteinID = 0;
     MissCleavages = 0;
     MissCleavageStart = 67;
     MissCleavageEnd = 83;
     PepSequence =
      [Phe; Glu; Thr; Leu; Ser; Tyr; Leu; Pro; Asp; Leu; Thr; Asp; Ser; Glu;
       Leu; Ala; Lys];}; {ProteinID = 0;
                          MissCleavages = 0;
                          MissCleavageStart = 66;
                          MissCleavageEnd = 66;
                          PepSequence = [Lys];}; {ProteinID = 0;
                                                  MissCleavages = 0;
                                                  MissCleavageStart = 65;
                                                  MissCleavageEnd = 65;
                                                  PepSequence = [Lys];};
    {ProteinID = 0;
     MissCleavages = 0;
     MissCleavageStart = 53;
     MissCleavageEnd = 64;
     PepSequence =
      [Val; Asn; Cys; Met; Gln; Val; Trp; Pro; Pro; Ile; Gly; Lys];};
    {ProteinID = 0;
     MissCleavages = 0;
     MissCleavageStart = 39;
     MissCleavageEnd = 52;
     PepSequence =
      [Ala; Asn; Asn; Asp; Ile; Thr; Ser; Ile; Thr; Ser; Asn; Gly; Gly; Arg];};
    {ProteinID = 0;
     MissCleavages = 0;
     MissCleavageStart = 38;
     MissCleavageEnd = 38;
     PepSequence = [Lys];};
    {ProteinID = 0;
     MissCleavages = 0;
     MissCleavageStart = 29;
     MissCleavageEnd = 37;
     PepSequence = [Ser; Ser; Ala; Ala; Phe; Pro; Ala; Thr; Arg];};
    {ProteinID = 0;
     MissCleavages = 0;
     MissCleavageStart = 1;
     MissCleavageEnd = 28;
     PepSequence =
      [Met; Ala; Ser; Ser; Met; Leu; Ser; Ser; Ala; Thr; Met; Val; Ala; Ser;
       Pro; Ala; Gln; Ala; Thr; Met; Val; Ala; Pro; Phe; Asn; Gly; Leu; Lys];};
    {ProteinID = 0;
     MissCleavages = 1;
     MissCleavageStart = 156;
     MissCleavageEnd = 180;
     PepSequence =
      [Ile; Ile; Gly; Phe; Asp; Asn; Thr; Arg; Gln; Val; Gln; Cys; Ile; Ser;
       Phe; Ile; Ala; Tyr; Lys; Pro; Pro; Ser; Phe; Thr; Gly];};
    {ProteinID = 0;
     MissCleavages = 1;
     MissCleavageStart = 148;
     MissCleavageEnd = 163;
     PepSequence =
      [Glu; Tyr; Pro; Asn; Ala; Phe; Ile; Arg; Ile; Ile; Gly; Phe; Asp; Asn;
       Thr; Arg];};
    {ProteinID = 0;
     MissCleavages = 1;
     MissCleavageStart = 147;
     MissCleavageEnd = 155;
     PepSequence = [Lys; Glu; Tyr; Pro; Asn; Ala; Phe; Ile; Arg];};
    {ProteinID = 0;
     MissCleavages = 1;
     MissCleavageStart = 141;
     MissCleavageEnd = 147;
     PepSequence = [Glu; Val; Glu; Glu; Cys; Lys; Lys];};
    {ProteinID = 0;
     MissCleavages = 1;
     MissCleavageStart = 127;
     MissCleavageEnd = 146;
     PepSequence =
      [Leu; Pro; Leu; Phe; Gly; Cys; Thr; Asp; Ser; Ala; Gln; Val; Leu; Lys;
       Glu; Val; Glu; Glu; Cys; Lys];};
    {ProteinID = 0;
     MissCleavages = 1;
     MissCleavageStart = 121;
     MissCleavageEnd = 140;
     PepSequence =
      [Tyr; Trp; Thr; Met; Trp; Lys; Leu; Pro; Leu; Phe; Gly; Cys; Thr; Asp;
       Ser; Ala; Gln; Val; Leu; Lys];};
    {ProteinID = 0;
     MissCleavages = 1;
     MissCleavageStart = 109;
     MissCleavageEnd = 126;
     PepSequence =
      [Glu; His; Gly; Asn; Ser; Pro; Gly; Tyr; Tyr; Asp; Gly; Arg; Tyr; Trp;
       Thr; Met; Trp; Lys];};
    {ProteinID = 0;
     MissCleavages = 1;
     MissCleavageStart = 93;
     MissCleavageEnd = 120;
     PepSequence =
      [Trp; Ile; Pro; Cys; Val; Glu; Phe; Glu; Leu; Glu; His; Gly; Phe; Val;
       Tyr; Arg; Glu; His; Gly; Asn; Ser; Pro; Gly; Tyr; Tyr; Asp; Gly; Arg];};
    {ProteinID = 0;
     MissCleavages = 1;
     MissCleavageStart = 91;
     MissCleavageEnd = 108;
     PepSequence =
      [Asn; Lys; Trp; Ile; Pro; Cys; Val; Glu; Phe; Glu; Leu; Glu; His; Gly;
       Phe; Val; Tyr; Arg];};
    {ProteinID = 0;
     MissCleavages = 1;
     MissCleavageStart = 84;
     MissCleavageEnd = 92;
     PepSequence = [Glu; Val; Asp; Tyr; Leu; Ile; Arg; Asn; Lys];};
    {ProteinID = 0;
     MissCleavages = 1;
     MissCleavageStart = 67;
     MissCleavageEnd = 90;
     PepSequence =
      [Phe; Glu; Thr; Leu; Ser; Tyr; Leu; Pro; Asp; Leu; Thr; Asp; Ser; Glu;
       Leu; Ala; Lys; Glu; Val; Asp; Tyr; Leu; Ile; Arg];};
    {ProteinID = 0;
     MissCleavages = 1;
     MissCleavageStart = 66;
     MissCleavageEnd = 83;
     PepSequence =
      [Lys; Phe; Glu; Thr; Leu; Ser; Tyr; Leu; Pro; Asp; Leu; Thr; Asp; Ser;
       Glu; Leu; Ala; Lys];}; {ProteinID = 0;
                               MissCleavages = 1;
                               MissCleavageStart = 65;
                               MissCleavageEnd = 66;
                               PepSequence = [Lys; Lys];};
    {ProteinID = 0;
     MissCleavages = 1;
     MissCleavageStart = 53;
     MissCleavageEnd = 65;
     PepSequence =
      [Val; Asn; Cys; Met; Gln; Val; Trp; Pro; Pro; Ile; Gly; Lys; Lys];};
    {ProteinID = 0;
     MissCleavages = 1;
     MissCleavageStart = 39;
     MissCleavageEnd = 64;
     PepSequence =
      [Ala; Asn; Asn; Asp; Ile; Thr; Ser; Ile; Thr; Ser; Asn; Gly; Gly; Arg;
       Val; Asn; Cys; Met; Gln; Val; Trp; Pro; Pro; Ile; Gly; Lys];};
    {ProteinID = 0;
     MissCleavages = 1;
     MissCleavageStart = 38;
     MissCleavageEnd = 52;
     PepSequence =
      [Lys; Ala; Asn; Asn; Asp; Ile; Thr; Ser; Ile; Thr; Ser; Asn; Gly; Gly;
       Arg];};
    {ProteinID = 0;
     MissCleavages = 1;
     MissCleavageStart = 29;
     MissCleavageEnd = 38;
     PepSequence = [Ser; Ser; Ala; Ala; Phe; Pro; Ala; Thr; Arg; Lys];};
    {ProteinID = 0;
     MissCleavages = 1;
     MissCleavageStart = 1;
     MissCleavageEnd = 37;
     PepSequence =
      [Met; Ala; Ser; Ser; Met; Leu; Ser; Ser; Ala; Thr; Met; Val; Ala; Ser;
       Pro; Ala; Gln; Ala; Thr; Met; Val; Ala; Pro; Phe; Asn; Gly; Leu; Lys;
       Ser; Ser; Ala; Ala; Phe; Pro; Ala; Thr; Arg];};
    {ProteinID = 0;
     MissCleavages = 2;
     MissCleavageStart = 148;
     MissCleavageEnd = 180;
     PepSequence =
      [Glu; Tyr; Pro; Asn; Ala; Phe; Ile; Arg; Ile; Ile; Gly; Phe; Asp; Asn;
       Thr; Arg; Gln; Val; Gln; Cys; Ile; Ser; Phe; Ile; Ala; Tyr; Lys; Pro;
       Pro; Ser; Phe; Thr; Gly];};
    {ProteinID = 0;
     MissCleavages = 2;
     MissCleavageStart = 147;
     MissCleavageEnd = 163;
     PepSequence =
      [Lys; Glu; Tyr; Pro; Asn; Ala; Phe; Ile; Arg; Ile; Ile; Gly; Phe; Asp;
       Asn; Thr; Arg];};
    {ProteinID = 0;
     MissCleavages = 2;
     MissCleavageStart = 141;
     MissCleavageEnd = 155;
     PepSequence =
      [Glu; Val; Glu; Glu; Cys; Lys; Lys; Glu; Tyr; Pro; Asn; Ala; Phe; Ile;
       Arg];};
    {ProteinID = 0;
     MissCleavages = 2;
     MissCleavageStart = 127;
     MissCleavageEnd = 147;
     PepSequence =
      [Leu; Pro; Leu; Phe; Gly; Cys; Thr; Asp; Ser; Ala; Gln; Val; Leu; Lys;
       Glu; Val; Glu; Glu; Cys; Lys; Lys];};
    {ProteinID = 0;
     MissCleavages = 2;
     MissCleavageStart = 121;
     MissCleavageEnd = 146;
     PepSequence =
      [Tyr; Trp; Thr; Met; Trp; Lys; Leu; Pro; Leu; Phe; Gly; Cys; Thr; Asp;
       Ser; Ala; Gln; Val; Leu; Lys; Glu; Val; Glu; Glu; Cys; Lys];};
    {ProteinID = 0;
     MissCleavages = 2;
     MissCleavageStart = 109;
     MissCleavageEnd = 140;
     PepSequence = [Glu; His; Gly; Asn; Ser; Pro; ...];}; ...|]

namespace BioFSharp
Multiple items
namespace FSharp

--------------------
namespace Microsoft.FSharp
namespace FSharp.Plotly
namespace FSharpAux
namespace BioFSharp.IO
val s1 : BioSeq.BioSeq<AminoAcids.AminoAcid>
module BioSeq

from BioFSharp
val ofAminoAcidString : s:#seq<char> -> BioSeq.BioSeq<AminoAcids.AminoAcid>
val s2 : BioList.BioList<AminoAcidSymbols.AminoAcidSymbol>
module BioList

from BioFSharp
val ofAminoAcidSymbolString : s:#seq<char> -> BioList.BioList<AminoAcidSymbols.AminoAcidSymbol>
val s3 : BioArray.BioArray<Nucleotides.Nucleotide>
module BioArray

from BioFSharp
val ofNucleotideString : s:#seq<char> -> BioArray.BioArray<Nucleotides.Nucleotide>
val s1Prnt : string


Nucleotide sequence represented as a BioArray
module FSIPrinters

from BioFSharp.IO
val prettyPrintBioCollection : sequence:seq<#IBioItem> -> string
val s2Prnt : string
val s3Prnt : string
val myGene : BioSeq.BioSeq<Nucleotides.Nucleotide>
val ofNucleotideString : s:#seq<char> -> BioSeq.BioSeq<Nucleotides.Nucleotide>
val myGenePrnt : string
val myProperGene : seq<Nucleotides.Nucleotide>
Multiple items
module Seq

from FSharpAux

--------------------
module Seq

from FSharp.Plotly

--------------------
module Seq

from Microsoft.FSharp.Collections
val map : mapping:('T -> 'U) -> source:seq<'T> -> seq<'U>
module Nucleotides

from BioFSharp
val complement : nuc:Nucleotides.Nucleotide -> Nucleotides.Nucleotide
val myProperGenePrnt : string
val myTranslatedGene : BioSeq.BioSeq<AminoAcids.AminoAcid>
val transcribeTemplateStrand : nucs:seq<Nucleotides.Nucleotide> -> BioSeq.BioSeq<Nucleotides.Nucleotide>
val translate : nucleotideOffset:int -> rnaSeq:seq<Nucleotides.Nucleotide> -> BioSeq.BioSeq<AminoAcids.AminoAcid>
val myTranslatedGeneFromCodingStrand : BioSeq.BioSeq<AminoAcids.AminoAcid>
val transcribeCodingStrand : nucs:seq<Nucleotides.Nucleotide> -> BioSeq.BioSeq<Nucleotides.Nucleotide>
val mySmallGene : BioSeq.BioSeq<Nucleotides.Nucleotide>
val smallGeneRev : BioSeq.BioSeq<Nucleotides.Nucleotide>
val reverse : nucs:seq<Nucleotides.Nucleotide> -> BioSeq.BioSeq<Nucleotides.Nucleotide>
val smallGeneComp : BioSeq.BioSeq<Nucleotides.Nucleotide>
val complement : nucs:seq<Nucleotides.Nucleotide> -> BioSeq.BioSeq<Nucleotides.Nucleotide>
val smallGeneRevComp : BioSeq.BioSeq<Nucleotides.Nucleotide>
val reverseComplement : nucs:seq<Nucleotides.Nucleotide> -> BioSeq.BioSeq<Nucleotides.Nucleotide>
val myPeptide : BioSeq.BioSeq<AminoAcids.AminoAcid>
val myPeptidePrnt : string
val myPeptideFormula : string
val toFormula : bs:seq<#IBioItem> -> Formula.Formula
module Formula

from BioFSharp
val toString : f:Formula.Formula -> string
val myPeptideMass : float
val toAverageMass : bs:seq<#IBioItem> -> float
val RBCS : BioArray.BioArray<AminoAcids.AminoAcid>
val ofAminoAcidString : s:#seq<char> -> BioArray.BioArray<AminoAcids.AminoAcid>
val trypsin : Digestion.Protease
module Digestion

from BioFSharp
module Table

from BioFSharp.Digestion
val getProteaseBy : name:string -> Digestion.Protease
val digestedRBCS : Digestion.DigestedPeptide<int> []
module BioArray

from BioFSharp.Digestion
val digest : protease:Digestion.Protease -> proteinID:int -> aas:AminoAcids.AminoAcid [] -> Digestion.DigestedPeptide<int> []
val digestedRBCS' : Digestion.DigestedPeptide<int> []
val concernMissCleavages : minMissCleavages:int -> maxMisscleavages:int -> digestedPeptidesA:Digestion.DigestedPeptide<'a> [] -> Digestion.DigestedPeptide<'a> [] (requires equality)
Fork me on GitHub