/*
* BioJava development code
*
* This code may be freely distributed and modified under the
* terms of the GNU Lesser General Public Licence. This should
* be distributed with the code. If you do not have a copy,
* see:
*
* http://www.gnu.org/copyleft/lesser.html
*
* Copyright for this code is held jointly by the individual
* authors. These should be listed in @author doc comments.
*
* For more information on the BioJava project and its aims,
* or to join the biojava-l mailing list, visit the home page
* at:
*
* http://www.biojava.org/
*
*/
package org.biojava.nbio.structure.redmine;
import org.biojava.nbio.structure.*;
import org.biojava.nbio.structure.align.util.AtomCache;
import org.biojava.nbio.structure.io.FileParsingParameters;
import org.biojava.nbio.structure.io.mmcif.ChemCompGroupFactory;
import org.biojava.nbio.structure.io.mmcif.ChemCompProvider;
import org.biojava.nbio.structure.io.mmcif.DownloadChemCompProvider;
import org.junit.Test;
import static org.junit.Assert.*;
import java.io.IOException;
/** test for https://redmine.open-bio.org/issues/3282
*
* @author Andreas Prlic
*
*/
public class test1DARSeqAlign {
@Test
public void test1DAR() throws StructureException, IOException {
AtomCache cache = new AtomCache();
FileParsingParameters orig = cache.getFileParsingParams();
FileParsingParameters params = new FileParsingParameters();
params.setAlignSeqRes(true);
cache.setFileParsingParams(params);
boolean usingReducedChemCompProvider = false;
ChemCompProvider ccp =ChemCompGroupFactory.getChemCompProvider();
if (ccp.getClass().getName().contains("ReducedChemCompProvider") ) {
usingReducedChemCompProvider = true;
ChemCompGroupFactory.setChemCompProvider(new DownloadChemCompProvider());
}
Structure struc = cache.getStructure("1DAR");
Chain a = struc.getPolyChainByPDB("A");
Chain b = struc.getNonPolyChainsByPDB("A").get(0);
//System.out.println(c.getSeqResGroups());
Group g = b.getGroupByPDB(ResidueNumber.fromString("692"));
//System.out.println(g);
//System.out.println(FileConvert.toPDB(g.getAtom(0)));
Group g3 = a.getGroupByPDB(ResidueNumber.fromString("689"));
//System.out.println(g3);
//System.out.println(FileConvert.toPDB(g3.getAtom(0)));
assertTrue(! a.getSeqResGroups().contains(g));
assertTrue( g instanceof NucleotideImpl);
assertTrue(g.getType().equals(GroupType.NUCLEOTIDE));
assertTrue( g3.getPDBName().equals("LYS"));
assertTrue( a.getSeqResGroups().contains(g3));
assertTrue( g3 instanceof AminoAcid);
if (usingReducedChemCompProvider)
ChemCompGroupFactory.setChemCompProvider(ccp);
cache.setFileParsingParams(orig);
}
}