r3fang / SnapATAC

Analysis Pipeline for Single Cell ATAC-seq
GNU General Public License v3.0
301 stars 125 forks source link

snap-pre step error #66

Open znavidi opened 5 years ago

znavidi commented 5 years ago

Hi,

I face an error in running snap pre step with this command:

snaptools snap-pre --input-file=GSE74310ـGSE74310ـGSE99172.nsorted.bam --output-snap=GSE74310ـGSE74310ـGSE99172.snap --genome-name=hg38 --genome-size=../../ref/hg38/hg38.chrom.sizes --min-mapq=30 --min-flen=0 --max-flen=1000 --keep-chrm=TRUE --keep-single=FALSE --keep-secondary=FALSE --overwrite=True --min-cov=100 --verbose=True

and the error is:

Traceback (most recent call last): File "/home/znavidi/.local/bin/snaptools", line 38, in parse_args()
File "/home/znavidi/.local/lib/python3.7/site-packages/snaptools/parser.py", line 144, in parse_args verbose=args.verbose) File "/home/znavidi/.local/lib/python3.7/site-packages/snaptools/snap_pre.py", line 240, in snap_pre f.createdataset("HD/CL", data=np.string(header["CL"])); UnicodeEncodeError: 'ascii' codec can't encode character '\u0640' in position 65: ordinal not in range(128)

I would appreciate any hint about what could be the problem.

Best, Zeinab

r3fang commented 5 years ago

Did you have this error before? Maybe try python 2.7 or python 3.6

-- Rongxin Fang, Ren Lab Ludwig Cancer Research Bioinformatics Ph.D. Student University of California, San Diego

On Aug 6, 2019, at 11:18 PM, znavidi notifications@github.com wrote:

Hi,

I face an error in running snap pre step with this command:

snaptools snap-pre --input-file=GSE74310ـGSE74310ـGSE99172.nsorted.bam --output-snap=GSE74310ـGSE74310ـGSE99172.snap --genome-name=hg38 --genome-size=../../ref/hg38/hg38.chrom.sizes --min-mapq=30 --min-flen=0 --max-flen=1000 --keep-chrm=TRUE --keep-single=FALSE --keep-secondary=FALSE --overwrite=True --min-cov=100 --verbose=True

and the error is:

Traceback (most recent call last): File "/home/znavidi/.local/bin/snaptools", line 38, in parse_args() File "/home/znavidi/.local/lib/python3.7/site-packages/snaptools/parser.py", line 144, in parse_args verbose=args.verbose) File "/home/znavidi/.local/lib/python3.7/site-packages/snaptools/snap_pre.py", line 240, in snap_pre f.createdataset("HD/CL", data=np.string(header["CL"])); UnicodeEncodeError: 'ascii' codec can't encode character '\u0640' in position 65: ordinal not in range(128)

I would appreciate any hint about what could be the problem.

Best, Zeinab

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/r3fang/SnapATAC/issues/66?email_source=notifications&email_token=ABT6GG74CHQJZ4F3WQGK2HTQDJSMLA5CNFSM4IJ4YDL2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HDZRZCA, or mute the thread https://github.com/notifications/unsubscribe-auth/ABT6GGY3VL7GMRJNEDXZPV3QDJSMLANCNFSM4IJ4YDLQ.

znavidi commented 5 years ago

No I have not had this error before and I run it multiple times with the same setting in python 3.7.

I tried running with python 2.7 and 3.6 and it gets these error:

Traceback (most recent call last): File "/home/znavidi/zeinab-2.7/bin/snaptools", line 38, in parse_args()
File "/home/znavidi/zeinab-2.7/lib/python2.7/site-packages/snaptools/parser.py", line 144, in parse_args verbose=args.verbose) File "/home/znavidi/zeinab-2.7/lib/python2.7/site-packages/snaptools/snap_pre.py", line 215, in snap_pre header["CL"] = "\t".join(map(str, sys.argv)); File "/home/znavidi/zeinab-2.7/lib/python2.7/site-packages/future/types/newstr.py", line 102, in new return super(newstr, cls).new(cls, value) UnicodeDecodeError: 'ascii' codec can't decode byte 0xd9 in position 21: ordinal not in range(128) (zeinab-2.7) [znavidi@cedar1 labeled]$ deactivate

Traceback (most recent call last): File "/home/znavidi/zeinab-3.6.3/bin/snaptools", line 38, in parse_args()
File "/home/znavidi/zeinab-3.6.3/lib/python3.6/site-packages/snaptools/parser.py", line 144, in parse_args verbose=args.verbose) File "/home/znavidi/zeinab-3.6.3/lib/python3.6/site-packages/snaptools/snap_pre.py", line 240, in snap_pre f.createdataset("HD/CL", data=np.string(header["CL"])); UnicodeEncodeError: 'ascii' codec can't encode character '\u0640' in position 71: ordinal not in range(128)

Would appreciate any help.

Thanks

znavidi commented 5 years ago

could it be because of the size of bam file? it is 97G and all other previous run was less than this. if yes, what is the solution?

Best, Zeinab

cynzajac commented 4 years ago

I am encountering the same problem

Traceback (most recent call last): File "/home/herrerab/anaconda3/bin/snaptools", line 38, in parse_args() File "/home/herrerab/anaconda3/lib/python3.7/site-packages/snaptools/parser.py", line 144, in parse_args verbose=args.verbose) File "/home/herrerab/anaconda3/lib/python3.7/site-packages/snaptools/snap_pre.py", line 283, in snap_pre frag = snaptools.snap.readPairToFragment(read1, read2, is_secondary); File "/home/herrerab/anaconda3/lib/python3.7/site-packages/snaptools/snap.py", line 530, in readPairToFragment return fragment(read1.qname, chrom1, start, abs(start - end), mapq, False, is_secondary, read1.is_proper_pair); File "/home/herrerab/anaconda3/lib/python3.7/site-packages/snaptools/snap.py", line 624, in init self.chrom = chrom.encode('utf-8') AttributeError: 'NoneType' object has no attribute 'encode'

I haven't used older versions of python since I have tested the most recent python version with snaptools for different set of files. I am not sure if the bam size file matters honestly.