Skip to content

StudyingAnt/sinabro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sinabro - Sequential Mutations Simulator

Sinabro (Korean: 시나브로) means "little by little unknowingly." The program will mutate a given coding sequence one-by-one until it mets given condition, and generates a sequence of sequences which I'll call a trajectory.

My Image

How to use

1. Import Sinabro as:

import sinabro as snbr

2. Initialize trajectory:

You need to provide id (str) and data (str, Seq, or MutableSeq)

seq = "TATGCTGACTCGGTCATCGATCGGTTCTCATTGAT"
traj = snbr.Trajectory(id="Test", data=seq)

3. Display trajectory:

traj.show()

result

ID: test
Trajectory length: 0

Sequence                              HGVS_mRNA   HGVS_Protein   Mutation_Type   Note
TATGCTGACTCGGTCATCGATCGGTTCTCATTGAT   .           .              .               .

4. Generate trajectory:

You can generate trajectory automatically by giving a condition (max_length or nonsynonymous) and a method (random, mut_type, or signature)

Example 1

# max_length with random
seq = "TATGCTGACTCGGTCATCGATCGGTTCTCATTGAT"
traj = snbr.Trajectory(id="Test", data=seq)
traj.autofill(condition="max_length", method="random")

traj.show()

result

ID: Test
Trajectory length: 10

Sequence                              HGVS_mRNA   HGVS_Protein   Mutation_Type   Note
TATGCTGACTCGGTCATCGATCGGTTCTCATTGAT   .           .              .               .
TATGCCGACTCGGTCATCGATCGGTTCTCATTGAT   c.5T>C      p.2Leu>Pro     [T>C]           .
TATGCCGACTCGGTCATCGTTCGGTTCTCATTGAT   c.19A>T     p.7Ile>Phe     [A>T]           .
TATGCAGACTCGGTCATCGTTCGGTTCTCATTGAT   c.5C>A      p.2Pro>Gln     [C>A]           .
TATGCAGACTCGGGCATCGTTCGGTTCTCATTGAT   c.13T>G     p.5Ser>Ala     [T>G]           .
TATGCAGACTCGGGCCTCGTTCGGTTCTCATTGAT   c.15A>C     .              [A>C]           .
TATGCACACTCGGGCCTCGTTCGGTTCTCATTGAT   c.6G>C      p.2Gln>His     [G>C]           .
TATGCACACTCGGGCCTCGTTCTGTTCTCATTGAT   c.22G>T     p.8Gly>Cys     [G>T]           .
TATGCACACTCGGGCCTCGTTCTTTTCTCATTGAT   c.23G>T     p.8Cys>Phe     [G>T]           .
TATGCACACTCGGGCCTCCTTCTTTTCTCATTGAT   c.18G>C     .              [G>C]           .
TATGCACACTCGGGCTTCCTTCTTTTCTCATTGAT   c.15C>T     .              [C>T]           .

Example 2

# max_length with mut_type
seq = "TATGCTGACTCGGTCATCGATCGGTTCTCATTGAT"
traj = snbr.Trajectory(id="Test", data=seq)
traj.autofill(condition="max_length", method="mut_type", mut_type="T[C>T]")

result

ID: Test
Trajectory length: 6

Sequence                              HGVS_mRNA   HGVS_Protein   Mutation_Type   Note
TATGCTGACTCGGTCATCGATCGGTTCTCATTGAT   .           .              .               .
TATGCTGACTTGGTCATCGATCGGTTCTCATTGAT   c.10C>T     p.4Arg>Trp     T[C>T]          .
TATGCTGACTTGGTCATCGATCGGTTTTCATTGAT   c.26C>T     p.9Ser>Phe     T[C>T]          .
TATGCTGACTTGGTTATCGATCGGTTTTCATTGAT   c.14C>T     p.5Ser>Leu     T[C>T]          .
TATGCTGACTTGGTTATCGATTGGTTTTCATTGAT   c.21C>T     .              T[C>T]          .
TATGCTGACTTGGTTATCGATTGGTTTTTATTGAT   c.28C>T     p.10His>Tyr    T[C>T]          .
TATGCTGACTTGGTTATTGATTGGTTTTTATTGAT   c.17C>T     p.6Ser>Leu     T[C>T]          .

Example 3

# max_length with signature
seq = "TATGCTGACTCGGTCATCGATCGGTTCTCATTGAT"
traj = snbr.Trajectory(id="Test", data=seq)
traj.autofill(condition="max_length", method="signature", mutational_signature="SBS2")

result

ID: Test
Trajectory length: 10

Sequence                              HGVS_mRNA   HGVS_Protein   Mutation_Type   Note
TATGCTGACTCGGTCATCGATCGGTTCTCATTGAT   .           .              .               .
TATGCTGACTCGGTCATCGATCGGTTCTCATTAAT   c.32G>A     .              T[C>T]A         .
TATGCTGACTCGGTCATCGATCGGTTTTCATTAAT   c.26C>T     p.9Ser>Phe     T[C>T]T         .
TATGCTAACTCGGTCATCGATCGGTTTTCATTAAT   c.6G>A      .              T[C>T]A         .
TATGCTAACTCGGTTATCGATCGGTTTTCATTAAT   c.14C>T     p.5Ser>Leu     T[C>T]A         .
TATGCTAACTCGGTTATCAATCGGTTTTCATTAAT   c.18G>A     .              T[C>T]G         .
TATGCTAACTCGGTTATTAATCGGTTTTCATTAAT   c.17C>T     p.6Ser>Leu     T[C>T]A         .
TATGCTAACTTGGTTATTAATCGGTTTTCATTAAT   c.10C>T     p.4Arg>Trp     T[C>T]G         .
TATGCTAACTTGGTTATTAATCGGTTTTTATTAAT   c.28C>T     p.10His>Tyr    T[C>T]A         .
TATGCTAACTTGGTTATTAATCAGTTTTTATTAAT   c.22G>A     p.8Gly>Ser     C[C>T]G         .
TATGCTAACTTGGTTATTAATTAGTTTTTATTAAT   c.21C>T     .              T[C>T]A         .

Example 4

# nonsynonymous with random
seq = "TATGCTGACTCGGTCATCGATCGGTTCTCATTGAT"
traj = snbr.Trajectory(id="Test", data=seq)
traj.autofill(condition="nonsynonymous", method="random")

result

ID: Test
Trajectory length: 1

Sequence                              HGVS_mRNA   HGVS_Protein   Mutation_Type   Note
TATGCTGACTCGGTCATCGATCGGTTCTCATTGAT   .           .              .               .
TATGCTGACTCGGTTATCGATCGGTTCTCATTGAT   c.14C>T     p.5Ser>Leu     [C>T]           .

Example 5

# nonsynonymous with mut_type
seq = "TATGCTGACTCGGTCATCGATCGGTTCTCATTGAT"
traj = snbr.Trajectory(id="Test", data=seq)
traj.autofill(condition="nonsynonymous", method="mut_type", mut_type="T[C>T]")

result

ID: Test
Trajectory length: 1

Sequence                              HGVS_mRNA   HGVS_Protein   Mutation_Type   Note
TATGCTGACTCGGTCATCGATCGGTTCTCATTGAT   .           .              .               .
TATGCTGACTTGGTCATCGATCGGTTCTCATTGAT   c.10C>T     p.4Arg>Trp     T[C>T]          .

Example 6

# nonsynonymous with signature
seq = "TATGCTGACTCGGTCATCGATCGGTTCTCATTGAT"
traj = snbr.Trajectory(id="Test", data=seq)
traj.autofill(condition="nonsynonymous", method="signature", mutational_signature="SBS2")

result

ID: Test
Trajectory length: 1

Sequence                              HGVS_mRNA   HGVS_Protein   Mutation_Type   Note
TATGCTGACTCGGTCATCGATCGGTTCTCATTGAT   .           .              .               .
TATGCTGACTCGGTCATCGATCGGTTCTTATTGAT   c.28C>T     p.10His>Tyr    T[C>T]A         .

License

Sinabro is released under BSD-3-Clause license.

If Sinabro is useful for your research, consider citing (to be included).

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages