i had ran a PI chip yesterday.And today i found that there was something wrong in the report.Just as shown in the pdf file,a short reads-about 30 bps was mixed into the final library.could anybody give me some suggestion about the origin of the short reads.Thanks!
Unconfigured Ad
Collapse
X
-
...for example, these are (humble) Python 3 scripts that use pysam, pandas and plotly:
first I would check the exact position of the short reads peak:
See exactly at which nucleotide the peak is, and then check if there is any similarity within the most common sequences...Code:import pysam import pandas as pd from plotly.offline import plot import plotly.graph_objs as go bamfiles = ['IonXpress_003.bam', 'IonXpress_004.bam', 'IonXpress_007.bam', 'IonXpress_005.bam' ] # length_data will hold data counts for every bam file length_data = [] # collect sequence length counts for file in bamfiles: print("Reading file: " + file) bam = pysam.AlignmentFile(file, "rb") selected = bam.fetch() # alen = length of the aligned reference segment # qlen = length of the aligned read segment # rlen = length of the aligned read segment, including soft-clipped bases reads_xlen = [read.alen for read in selected] counts = [(i, reads_xlen.count(i)) for i in range(min(reads_xlen), max(reads_xlen))] length_data.append(pd.DataFrame(counts)) # create traces data = [go.Scatter(x=bamdata[0], y=bamdata[1], mode = 'lines', name=bamfiles[i]) for i, bamdata in enumerate(length_data)] # plot data scatterplot = plot({'data': data})
Code:import pysam # choose a file that contains the peak, select the peak position file = 'IonXpress_004.bam' peakpos = 29 # let's say the peak was at 29 bases # retrieve all sequences from reads with the alignment length you specified bam = pysam.AlignmentFile(file, "rb") selected = bam.fetch() reads = [read for read in selected if read.alen == peakpos] reads_seq = [read.seq for read in reads] # you can count them print("Number of sequences retrieved:", len(reads_seq)) # see how many different entries you have entries = set(reads_seq) print("Number of different entries:", len(entries)) # categorize them cat_entries = [(entry, reads_seq.count(entry)) for entry in entries] cat_entries.sort(key = lambda x:x[1]) # print the 20 most common sequences print('\nMost common sequences:') print('[hits] sequence') for i in range(20): print('[{0}] {1}'.format(cat_entries[i][1], cat_entries[i][0]))Last edited by r.rosati; 08-23-2016, 12:20 PM.
Comment
-
Thanks for your help!I had send the bam files to the technical support.His anwser was that the short reads were primer dimers.He suggested us to optimize the experiment protocal.So we will improve the experiment pipeline and run one sample on the PGM to test the propose!
Comment
Latest Articles
Collapse
-
by SEQadmin2
The immune system’s power comes from its genetic diversity, allowing myriad threats to be neutralized through first recognizing foreign antigens. That diversity is also what makes the immune system so difficult to study. Recent advances in sequencing technology and computational biology, however, are giving researchers new tools to understand immune responses and immune-related diseases in greater detail.
This convergence of genetics, immunology, and computation...-
Channel: Articles
09-01-2026, 05:41 AM -
ad_right_rmr
Collapse
News
Collapse
| Topics | Statistics | Last Post | ||
|---|---|---|---|---|
|
Started by SEQadmin2, 09-03-2026, 10:22 AM
|
0 responses
22 views
0 reactions
|
Last Post
by SEQadmin2
09-03-2026, 10:22 AM
|
||
|
Started by SEQadmin2, 09-02-2026, 12:32 PM
|
0 responses
23 views
0 reactions
|
Last Post
by SEQadmin2
09-02-2026, 12:32 PM
|
||
|
Started by SEQadmin2, 08-24-2026, 10:32 AM
|
0 responses
53 views
0 reactions
|
Last Post
by SEQadmin2
08-24-2026, 10:32 AM
|
||
|
Started by SEQadmin2, 08-20-2026, 11:17 AM
|
0 responses
51 views
0 reactions
|
Last Post
by SEQadmin2
08-20-2026, 11:17 AM
|
Comment