SEQanswers

Go Back   SEQanswers > Bioinformatics > Bioinformatics

Similar Threads
Thread Thread Starter Forum Replies Last Post
pysam: a python wrapper of samtools TGBelgard Bioinformatics 36 01-28-2016 03:13 AM
How to read pysam SNPCaller output? aggp11 Bioinformatics 2 07-11-2011 10:12 AM
pysam pileup wierdness mbreese Bioinformatics 1 06-29-2011 01:04 PM
Problem with pysam.Samfile mingyu Bioinformatics 5 10-26-2010 12:36 AM
coverage by strand with pysam desaila Bioinformatics 1 10-15-2010 12:54 PM

Reply
 
Thread Tools
Old 01-14-2011, 05:23 AM   #1
polarise
Member
 
Location: Ireland

Join Date: Jan 2011
Posts: 13
Default Pysam pileup working unpredictably

Hi,

I'm trying to count allelic frequencies at SNPs and Pysam seems to be the best solution to do that. However, when I make a call to get the number of reads that occur at a single site I get many more sites than expected.

Example:
len(list(f.pileup(reference='chr1',start=1756880,end=1756881)))

gives a result of 135 as opposed to the expected value of 1

and

len(list(f.pileup(reference='chr1',start=1756870,end=1756881)))

gives a result of 146 as opposed to 10.

Can anyone please explain what is going on?

Regards,

P. Korir
polarise is offline   Reply With Quote
Old 01-14-2011, 07:37 AM   #2
ffinkernagel
Senior Member
 
Location: Marburg, Germany

Join Date: Oct 2009
Posts: 110
Default

I suspect that pileup givess you pileups for every base covered by a read that was within the query range.

edit: You might want to print the pos of each PileupColumn. for p in f.pileup(...): print p.pos, p.n ...
ffinkernagel is offline   Reply With Quote
Old 01-14-2011, 07:43 AM   #3
polarise
Member
 
Location: Ireland

Join Date: Jan 2011
Posts: 13
Default

Thanks for your reply ffinkernagel.

Well, I'm surprised that when I give it a query range of 1 it gives more than one result. Anyway, I have used the for loop like in your suggestion though the solution is not as clean as I wanted it to be.

f.pileup() returns an iterator. I'm not proficient in the use of iterators.

P. Korir
polarise is offline   Reply With Quote
Old 01-14-2011, 07:53 AM   #4
ffinkernagel
Senior Member
 
Location: Marburg, Germany

Join Date: Oct 2009
Posts: 110
Default

you simply do
for something in my_iterator:
do_something_with(something)

no difference to a list there.

The for loop should tell you if my hunch is correct.
ffinkernagel is offline   Reply With Quote
Old 01-14-2011, 08:12 AM   #5
polarise
Member
 
Location: Ireland

Join Date: Jan 2011
Posts: 13
Default

OK. I'll give it a shot.

Thank you.
polarise is offline   Reply With Quote
Reply

Tags
allele frequency, not working, pileup, pysam, snp

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT -8. The time now is 01:48 AM.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.
Single Sign On provided by vBSSO