[Biopython] still more questions about NGS sequenbce trimming
Kiss, Csaba
csaba.kiss at lanl.gov
Wed Oct 24 17:20:23 UTC 2012
Thanks, Seb.
That’s a clever usage of regex.
csaba
From: Sebastian Schmeier [mailto:s.schmeier at gmail.com]
Sent: Wednesday, October 24, 2012 11:13 AM
To: Kiss, Csaba
Cc: biopython at lists.open-bio.org
Subject: Re: [Biopython] still more questions about NGS sequenbce trimming
A very quick and dirty approach for your reject function (I hope I understood correctly) in script form:
#!/usr/bin/env python
import sys, re
from Bio import SeqIO
def main():
for record in SeqIO.parse(open(sys.argv[1], "rU"), "fasta") :
if not discard(str(record.seq)):
SeqIO.write(record, sys.stdout, 'fasta')
def discard(seq):
oRes = re.search('(A{9,}|C{9,}|G{9,}|T{9,}|N{9,})', seq)
if oRes: return 1
else: return 0
if __name__ == '__main__':
sys.exit(main())
Best,
Seb
On Wed, Oct 24, 2012 at 5:49 PM, Kiss, Csaba <csaba.kiss at lanl.gov<mailto:csaba.kiss at lanl.gov>> wrote:
Hi All!
Thanks for all your help to extract DNA sequences from sff files. Using biopython I managed to improve the sequence extraction from 3 hours to 10 minutes.
Now that I am hooked, I would like to replace mothur with some simple python functions.
Is there any function in biopython that would look for homopolymers on DNA sequences. Particularly I am looking to reject a sequence if it has more than 8 bp of stretches of any single nucleotide.
Another function I am looking for is a sliding window function along the quality file. I could either use the fastq file or the fasta/qual file pair.
I could write these functions myself but if they are available, then it would make my life easier.
Thanks
Csaba
_______________________________________________
Biopython mailing list - Biopython at lists.open-bio.org<mailto:Biopython at lists.open-bio.org>
http://lists.open-bio.org/mailman/listinfo/biopython
More information about the Biopython
mailing list