There are two ways of creating tinyfasta.FastaRecord
instances. We can create them from a description and a long sequence string or we can build them up from a description and several sequence strings. The latter approach is used internally by the tinyfasta.FastaParser
.
Let us import the tinyfasta.FastaRecord
class and create a description and sequence strings.
>>> from tinyfasta import FastaRecord
>>> description = 'My Sequence'
>>> sequence = 'C' * 500
We can now create a tinyfasta.FastaRecord
from the description and sequence strings by using the tinyfasta.FastaRecord.create
static method.
>>> from tinyfasta import FastaRecord
>>> fasta_record = FastaRecord.create(description, sequence)
Let us print out the record to verify what we got.
>>> print(fasta_record)
>My Sequence
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CCCCCCCCCCCCCCCCCCCC
However, suppose that we wanted to create a tinyfasta.FastaRecord
from a file containing the input sequence split over several lines. In this scenario we can simply add the sequence lines one by one.
Let us create a tinyfasta.FastaRecord
to add the sequence lines to.
>>> fasta_record = FastaRecord('Yet Another Record')
Now we can start adding sequence lines to it.
>>> fasta_record.add_sequence_line("AAAAAAAA")
>>> fasta_record.add_sequence_line("TTTTTTTTTTTT")
>>> fasta_record.add_sequence_line("CCCCCC")
>>> fasta_record.add_sequence_line("GGGGGGGGGGGGGGG")
Note that by default the string representation of the tinyfasta.FastaRecord
will contain the original sequence line splits.
>>> print(fasta_record)
>Yet Another Record
AAAAAAAA
TTTTTTTTTTTT
CCCCCC
GGGGGGGGGGGGGGG
However, using the tinyfasta.FastaRecord.format_sequence_line_length
function we can standardised line length.
>>> fasta_record.sequence.format_line_length(30)
>>> print(fasta_record)
>Yet Another Record
AAAAAAAATTTTTTTTTTTTCCCCCCGGGG
GGGGGGGGGGG