[Biopython] Concatenate to aligned sequences
Vincent Davis
vincent at vincentdavis.net
Thu Feb 14 17:38:43 UTC 2013
Thanks
Vincent
Vincent Davis
720-301-3003
On Thu, Feb 14, 2013 at 10:29 AM, Peter Cock <p.j.a.cock at googlemail.com>wrote:
> On Thu, Feb 14, 2013 at 5:20 PM, Vincent Davis <vincent at vincentdavis.net>
> wrote:
> > I have 2 fasta files from a mucle alignment. Both have the same number of
> > sequences from the same organism. If I what to concatenate the pairs of
> > sequences what it the best way to do this.
> > Right now I am doing this:
> >
> > def concatenate(fa1, fa2):
> > fa1open = open(fa1, "rU")
> > fa2open = open(fa1, "rU")
> > fa1dict = SeqIO.to_dict(SeqIO.parse(fa1open, "fasta"))
> > fa2dict = SeqIO.to_dict(SeqIO.parse(fa2open, "fasta"))
> > fa1open.close()
> > fa2open.close()
> > # check that both files have the same sequnce id's
> > if set(fa1dict.keys()) != set(fa2dict.keys()):
> > print(fa1dict.keys(), fa2dict.keys())
> > print('The fasta files do not have the same sequences')
> > bothdict = {}
> > bothlist = []
> > count = 1
> > for key in fa2dict.keys():
> > bothdict[key] = fa2dict[key]
> > bothdict[key].seq = fa2dict[key].seq + fa1dict[key].seq
> > bothlist.append(bothdict[key])
> > return bothdict, bothlist
> >
> > Vincent Davis
> > 720-301-3003
>
> Have you tried loading the two alignment files via AlignIO,
> sorting by name if required, and adding the alignment objects?
>
>
> http://biopython.org/DIST/docs/api/Bio.Align.MultipleSeqAlignment-class.html#__add__
>
> Peter
>
More information about the Biopython
mailing list