def testReferencesToStr(self): """ The referencesToStr method must return the expected string. """ data = '\n'.join([ '@SQ SN:id1 LN:90', '@SQ SN:id2 LN:91', ]).replace(' ', '\t') with dataFile(data) as filename: ps = PaddedSAM(filename) self.assertEqual('id1 (length 90)\nid2 (length 91)', ps.referencesToStr()) ps.close()
""" result = [] for offset in sorted(nucleotides): result.append( '%s%d: %s' % (prefix, offset, baseCountsToStr(nucleotides[offset]))) return '\n'.join(result) args = parser.parse_args() paddedSAM = PaddedSAM(args.samFile) try: if args.listReferenceNames: print(paddedSAM.referencesToStr(), file=sys.stdout) else: try: for read in paddedSAM.queries( referenceName=args.referenceName, minLength=args.minLength, rcSuffix=args.rcSuffix, dropSecondary=args.dropSecondary, dropSupplementary=args.dropSupplementary, dropDuplicates=args.dropDuplicates, allowDuplicateIds=args.allowDuplicateIds, keepQCFailures=args.keepQCFailures, rcNeeded=args.rcNeeded): print(read.toString('fasta'), end='') except UnequalReferenceLengthError as e: raise ValueError(