package org.biojava.nbio.structure.io.mmcif;
import java.io.IOException;
import org.biojava.nbio.structure.Chain;
import org.biojava.nbio.structure.Structure;
import org.biojava.nbio.structure.StructureException;
import org.biojava.nbio.structure.align.util.AtomCache;
import org.junit.Test;
import static org.junit.Assert.*;
/**
* Created by andreas on 5/3/16.
*/
public class TestParseInternalChainId {
@Test
public void test2I13() throws IOException, StructureException {
AtomCache cache = new AtomCache();
cache.setUseMmCif(true);
Structure s = cache.getStructure("2I13");
assertEquals(6, s.getPolyChains().size());
assertEquals(15, s.getNonPolyChains().size());
assertEquals(6, s.getWaterChains().size());
/** the four nucleic chains
*
*/
Chain asymA = s.getPolyChain("A");
Chain asymB = s.getPolyChain("B");
Chain asymC = s.getPolyChain("C");
Chain asymD = s.getPolyChain("D");
/** the protein chains
*
*/
Chain asymE = s.getPolyChain("E");
Chain asymF = s.getPolyChain("F");
Chain[] nucleicChains = new Chain[]{asymA,asymB,asymC,asymD};
Chain[] proteinChains = new Chain[]{asymE,asymF};
for ( Chain c : proteinChains){
assertNotNull("Chain is null!",c);
}
for ( Chain c : nucleicChains){
assertNotNull("Chain is null!", c);
}
assertTrue(asymA.getId().equals("A"));
assertTrue(asymA.getName().equals("C"));
assertTrue(asymB.getId().equals("B"));
assertTrue(asymB.getName().equals("D"));
assertTrue(asymC.getId().equals("C"));
assertTrue(asymC.getName().equals("E"));
assertTrue(asymD.getId().equals("D"));
assertTrue(asymD.getName().equals("F"));
assertTrue(asymE.getId().equals("E"));
assertTrue(asymE.getName().equals("A"));
assertTrue(asymF.getId().equals("F"));
assertTrue(asymF.getName().equals("B"));
Chain chainG = s.getNonPolyChain("G");
assertTrue(chainG.getName().equals("A"));
}
}